diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2010-05-17 18:24:04 +0200 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2010-05-17 18:24:04 +0200 |
commit | ac1d426e825ab5778995f2f6f053ca2e6b45c622 (patch) | |
tree | 75b91356ca39463e0112931aa6790802fb1e07a2 /drivers/of | |
parent | Merge branch 'devel-pmu' into devel (diff) | |
parent | Merge branch 'for-rmk/2635' of git://git.fluff.org/bjdooks/linux into devel-s... (diff) | |
download | linux-ac1d426e825ab5778995f2f6f053ca2e6b45c622.tar.xz linux-ac1d426e825ab5778995f2f6f053ca2e6b45c622.zip |
Merge branch 'devel-stable' into devel
Conflicts:
arch/arm/Kconfig
arch/arm/include/asm/system.h
arch/arm/mm/Kconfig
Diffstat (limited to 'drivers/of')
-rw-r--r-- | drivers/of/base.c | 1 | ||||
-rw-r--r-- | drivers/of/fdt.c | 7 | ||||
-rw-r--r-- | drivers/of/gpio.c | 1 | ||||
-rw-r--r-- | drivers/of/of_mdio.c | 2 |
4 files changed, 8 insertions, 3 deletions
diff --git a/drivers/of/base.c b/drivers/of/base.c index cb96888d1427..b5ad9740d8b2 100644 --- a/drivers/of/base.c +++ b/drivers/of/base.c @@ -20,6 +20,7 @@ #include <linux/module.h> #include <linux/of.h> #include <linux/spinlock.h> +#include <linux/slab.h> #include <linux/proc_fs.h> struct device_node *allnodes; diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c index 406757a9d7ea..dee4fb56b094 100644 --- a/drivers/of/fdt.c +++ b/drivers/of/fdt.c @@ -376,8 +376,11 @@ unsigned long __init unflatten_dt_node(unsigned long mem, if (!np->type) np->type = "<NULL>"; } - while (tag == OF_DT_BEGIN_NODE) { - mem = unflatten_dt_node(mem, p, np, allnextpp, fpsize); + while (tag == OF_DT_BEGIN_NODE || tag == OF_DT_NOP) { + if (tag == OF_DT_NOP) + *p += 4; + else + mem = unflatten_dt_node(mem, p, np, allnextpp, fpsize); tag = be32_to_cpup((__be32 *)(*p)); } if (tag != OF_DT_END_NODE) { diff --git a/drivers/of/gpio.c b/drivers/of/gpio.c index 24c3606217f8..a1b31a4abae4 100644 --- a/drivers/of/gpio.c +++ b/drivers/of/gpio.c @@ -15,6 +15,7 @@ #include <linux/errno.h> #include <linux/io.h> #include <linux/of.h> +#include <linux/slab.h> #include <linux/of_gpio.h> #include <asm/prom.h> diff --git a/drivers/of/of_mdio.c b/drivers/of/of_mdio.c index 18ecae4a4375..b4748337223b 100644 --- a/drivers/of/of_mdio.c +++ b/drivers/of/of_mdio.c @@ -69,7 +69,7 @@ int of_mdiobus_register(struct mii_bus *mdio, struct device_node *np) } phy = get_phy_device(mdio, be32_to_cpup(addr)); - if (!phy) { + if (!phy || IS_ERR(phy)) { dev_err(&mdio->dev, "error probing PHY at address %i\n", *addr); continue; |