summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2014-12-08 14:53:59 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2014-12-08 14:53:59 +0100
commitc2b5a7015b7323af4b7c8cf19a06b954f4f09949 (patch)
treed32f79304bc72bcdbb1f274d9722e15b8aaba65c /drivers
parentd3933bd3501bb31c696bee25e183b5511c49759a (diff)
parent48ba0a1afda33907fcc4ce4119a7762dda5d7404 (diff)
downloadbarebox-c2b5a7015b7323af4b7c8cf19a06b954f4f09949.tar.gz
barebox-c2b5a7015b7323af4b7c8cf19a06b954f4f09949.tar.xz
Merge branch 'for-next/misc'
Diffstat (limited to 'drivers')
-rw-r--r--drivers/clocksource/amba-sp804.c4
-rw-r--r--drivers/clocksource/arm_smp_twd.c4
-rw-r--r--drivers/clocksource/bcm2835.c3
-rw-r--r--drivers/clocksource/dummy.c3
-rw-r--r--drivers/clocksource/mvebu.c4
-rw-r--r--drivers/clocksource/nomadik.c4
-rw-r--r--drivers/clocksource/orion.c3
-rw-r--r--drivers/clocksource/uemd.c4
-rw-r--r--drivers/of/Kconfig2
-rw-r--r--drivers/of/fdt.c37
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);