diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2014-12-08 14:53:59 +0100 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2014-12-08 14:53:59 +0100 |
commit | c2b5a7015b7323af4b7c8cf19a06b954f4f09949 (patch) | |
tree | d32f79304bc72bcdbb1f274d9722e15b8aaba65c /drivers | |
parent | d3933bd3501bb31c696bee25e183b5511c49759a (diff) | |
parent | 48ba0a1afda33907fcc4ce4119a7762dda5d7404 (diff) | |
download | barebox-c2b5a7015b7323af4b7c8cf19a06b954f4f09949.tar.gz barebox-c2b5a7015b7323af4b7c8cf19a06b954f4f09949.tar.xz |
Merge branch 'for-next/misc'
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/clocksource/amba-sp804.c | 4 | ||||
-rw-r--r-- | drivers/clocksource/arm_smp_twd.c | 4 | ||||
-rw-r--r-- | drivers/clocksource/bcm2835.c | 3 | ||||
-rw-r--r-- | drivers/clocksource/dummy.c | 3 | ||||
-rw-r--r-- | drivers/clocksource/mvebu.c | 4 | ||||
-rw-r--r-- | drivers/clocksource/nomadik.c | 4 | ||||
-rw-r--r-- | drivers/clocksource/orion.c | 3 | ||||
-rw-r--r-- | drivers/clocksource/uemd.c | 4 | ||||
-rw-r--r-- | drivers/of/Kconfig | 2 | ||||
-rw-r--r-- | drivers/of/fdt.c | 37 |
10 files changed, 22 insertions, 46 deletions
diff --git a/drivers/clocksource/amba-sp804.c b/drivers/clocksource/amba-sp804.c index fedcb64839..c5ad9947cd 100644 --- a/drivers/clocksource/amba-sp804.c +++ b/drivers/clocksource/amba-sp804.c @@ -66,9 +66,7 @@ static int sp804_probe(struct amba_device *dev, const struct amba_id *id) sp804_clksrc.mult = clocksource_hz2mult(tick_rate, sp804_clksrc.shift); - init_clock(&sp804_clksrc); - - return 0; + return init_clock(&sp804_clksrc); } static struct amba_id sp804_ids[] = { diff --git a/drivers/clocksource/arm_smp_twd.c b/drivers/clocksource/arm_smp_twd.c index 72045b05e9..c0296cdfd8 100644 --- a/drivers/clocksource/arm_smp_twd.c +++ b/drivers/clocksource/arm_smp_twd.c @@ -86,9 +86,7 @@ static int smp_twd_probe(struct device_d *dev) smp_twd_clksrc.mult = clocksource_hz2mult(tick_rate, smp_twd_clksrc.shift); - init_clock(&smp_twd_clksrc); - - return 0; + return init_clock(&smp_twd_clksrc); } static __maybe_unused struct of_device_id smp_twd_compatible[] = { diff --git a/drivers/clocksource/bcm2835.c b/drivers/clocksource/bcm2835.c index c0b1aae46b..0cb8e57993 100644 --- a/drivers/clocksource/bcm2835.c +++ b/drivers/clocksource/bcm2835.c @@ -66,9 +66,8 @@ static int bcm2835_cs_probe(struct device_d *dev) return PTR_ERR(stc_base); clocks_calc_mult_shift(&bcm2835_stc.mult, &bcm2835_stc.shift, rate, NSEC_PER_SEC, 60); - init_clock(&bcm2835_stc); - return 0; + return init_clock(&bcm2835_stc); } static __maybe_unused struct of_device_id bcm2835_cs_dt_ids[] = { diff --git a/drivers/clocksource/dummy.c b/drivers/clocksource/dummy.c index 154a8cd672..96f9b6efca 100644 --- a/drivers/clocksource/dummy.c +++ b/drivers/clocksource/dummy.c @@ -49,8 +49,7 @@ static int clocksource_init(void) pr_debug("clocksource_init: mult=%08x, shift=%08x\n", dummy_cs.mult, dummy_cs.shift); - init_clock(&dummy_cs); - return 0; + return init_clock(&dummy_cs); } pure_initcall(clocksource_init); diff --git a/drivers/clocksource/mvebu.c b/drivers/clocksource/mvebu.c index b8fa98592a..88db0b06c3 100644 --- a/drivers/clocksource/mvebu.c +++ b/drivers/clocksource/mvebu.c @@ -88,9 +88,7 @@ static int mvebu_timer_probe(struct device_d *dev) cs.mult = clocksource_hz2mult(rate, cs.shift); - init_clock(&cs); - - return 0; + return init_clock(&cs); } static struct of_device_id mvebu_timer_dt_ids[] = { diff --git a/drivers/clocksource/nomadik.c b/drivers/clocksource/nomadik.c index d7edf06d59..48f4715c8f 100644 --- a/drivers/clocksource/nomadik.c +++ b/drivers/clocksource/nomadik.c @@ -132,9 +132,7 @@ static int nmdk_mtu_probe(struct device_d *dev) nmdk_clksrc.mult = clocksource_hz2mult(rate, nmdk_clksrc.shift); - init_clock(&nmdk_clksrc); - - return 0; + return init_clock(&nmdk_clksrc); } static struct driver_d nmdk_mtu_driver = { diff --git a/drivers/clocksource/orion.c b/drivers/clocksource/orion.c index a1dafd84de..2e40b49ee7 100644 --- a/drivers/clocksource/orion.c +++ b/drivers/clocksource/orion.c @@ -62,9 +62,8 @@ static int orion_timer_probe(struct device_d *dev) timer_base + TIMER_CTRL); clksrc.mult = clocksource_hz2mult(clk_get_rate(tclk), clksrc.shift); - init_clock(&clksrc); - return 0; + return init_clock(&clksrc); } static struct of_device_id orion_timer_dt_ids[] = { diff --git a/drivers/clocksource/uemd.c b/drivers/clocksource/uemd.c index 6c37de5bed..d4291dd736 100644 --- a/drivers/clocksource/uemd.c +++ b/drivers/clocksource/uemd.c @@ -105,9 +105,7 @@ static int uemd_timer_probe(struct device_d *dev) clocks_calc_mult_shift(&uemd_cs.mult, &uemd_cs.shift, clk_get_rate(timer_clk), NSEC_PER_SEC, 10); - init_clock(&uemd_cs); - - return 0; + return init_clock(&uemd_cs); } static __maybe_unused struct of_device_id uemd_timer_dt_ids[] = { diff --git a/drivers/of/Kconfig b/drivers/of/Kconfig index 97378ab59f..90475cfbca 100644 --- a/drivers/of/Kconfig +++ b/drivers/of/Kconfig @@ -4,7 +4,7 @@ config OFTREE config OFTREE_MEM_GENERIC depends on OFTREE - depends on PPC || ARM || ARCH_EFI || OPENRISC + depends on PPC || ARM || ARCH_EFI || OPENRISC || SANDBOX def_bool y config DTC diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c index cfe1833509..84c38fd5a1 100644 --- a/drivers/of/fdt.c +++ b/drivers/of/fdt.c @@ -54,7 +54,7 @@ static inline char *dt_string(struct fdt_header *f, char *strstart, uint32_t ofs * Parse a flat device tree binary blob and return a pointer to the * unflattened tree. */ -struct device_node *of_unflatten_dtb(void *infdt) +struct device_node *of_unflatten_dtb(const void *infdt) { const void *nodep; /* property node pointer */ uint32_t tag; /* tag */ @@ -69,7 +69,7 @@ struct device_node *of_unflatten_dtb(void *infdt) struct fdt_header f; int ret; unsigned int maxlen; - struct fdt_header *fdt = infdt; + const struct fdt_header *fdt = infdt; if (fdt->magic != cpu_to_fdt32(FDT_MAGIC)) { pr_err("bad magic: 0x%08x\n", fdt32_to_cpu(fdt->magic)); @@ -120,18 +120,14 @@ struct device_node *of_unflatten_dtb(void *infdt) goto err; } - dt_struct = dt_struct_advance(&f, dt_struct, - sizeof(struct fdt_node_header) + len + 1); - if (!dt_struct) { - ret = -ESPIPE; - goto err; - } - if (!node) node = root; else node = of_new_node(node, pathp); + dt_struct = dt_struct_advance(&f, dt_struct, + sizeof(struct fdt_node_header) + len + 1); + break; case FDT_END_NODE: @@ -144,10 +140,6 @@ struct device_node *of_unflatten_dtb(void *infdt) node = node->parent; dt_struct = dt_struct_advance(&f, dt_struct, FDT_TAGSIZE); - if (!dt_struct) { - ret = -ESPIPE; - goto err; - } break; @@ -162,25 +154,17 @@ struct device_node *of_unflatten_dtb(void *infdt) goto err; } - dt_struct = dt_struct_advance(&f, dt_struct, - sizeof(struct fdt_property) + len); - if (!dt_struct) { - ret = -ESPIPE; - goto err; - } - p = of_new_property(node, name, nodep, len); if (!strcmp(name, "phandle") && len == 4) node->phandle = be32_to_cpup(p->value); + dt_struct = dt_struct_advance(&f, dt_struct, + sizeof(struct fdt_property) + len); + break; case FDT_NOP: dt_struct = dt_struct_advance(&f, dt_struct, FDT_TAGSIZE); - if (!dt_struct) { - ret = -ESPIPE; - goto err; - } break; @@ -192,6 +176,11 @@ struct device_node *of_unflatten_dtb(void *infdt) ret = -EINVAL; goto err; } + + if (!dt_struct) { + ret = -ESPIPE; + goto err; + } } err: of_delete_node(root); |