From: Jiang Lu <lu.ji...@windriver.com> In APM mode, uboot of ACP34xx involves "enabled" property to partition system resources among the OS groups.
For the peripheral belongs to other OS groups, kernel will get enabled=0 in device node. This patch disables the devices with "enabled = 0" in dts. Signed-off-by: Jiang Lu <lu.ji...@windriver.com> --- drivers/i2c/busses/acp3400-i2c.c | 8 ++++++++ drivers/mtd/nand/lsi_acp_nand.c | 4 ++-- drivers/net/ethernet/lsi/lsi_acp_net.c | 5 +++++ 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/drivers/i2c/busses/acp3400-i2c.c b/drivers/i2c/busses/acp3400-i2c.c index 4a536db..de4eff6 100644 --- a/drivers/i2c/busses/acp3400-i2c.c +++ b/drivers/i2c/busses/acp3400-i2c.c @@ -427,6 +427,14 @@ static int acp34xx_i2c_probe(struct platform_device *dev) struct acp3400_i2c *i2c; int result = -ENODEV; + const u32 *field; + + if (!np) + return -ENODEV; + + field = of_get_property(np, "enabled", NULL); + if (!field || (field && (0 == *field))) + return -EINVAL; i2c = kzalloc(sizeof(*i2c), GFP_KERNEL); if (!i2c) diff --git a/drivers/mtd/nand/lsi_acp_nand.c b/drivers/mtd/nand/lsi_acp_nand.c index eb9943a..c3165d9 100644 --- a/drivers/mtd/nand/lsi_acp_nand.c +++ b/drivers/mtd/nand/lsi_acp_nand.c @@ -3489,9 +3489,9 @@ lsi_nand_init(void) enabled = of_get_property(np, "enabled", NULL); - if (NULL == enabled) { + if (!enabled || (enabled && (0 == *enabled))) { printk("ACP NAND Controller Isn't Enabled.\n"); - return -1; + return -ENODEV; } reg = of_get_property(np, "reg", ®len); diff --git a/drivers/net/ethernet/lsi/lsi_acp_net.c b/drivers/net/ethernet/lsi/lsi_acp_net.c index 39671cc..21153bf 100644 --- a/drivers/net/ethernet/lsi/lsi_acp_net.c +++ b/drivers/net/ethernet/lsi/lsi_acp_net.c @@ -1767,6 +1767,11 @@ static int __devinit appnic_probe_config_dt(struct net_device *dev, if (!np) return -ENODEV; + field = of_get_property(np, "enabled", NULL); + + if (!field || (field && (0 == *field))) + return -EINVAL; + field = of_get_property(np, "reg", NULL); if (!field) { -- 1.8.3 _______________________________________________ linux-yocto mailing list linux-yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/linux-yocto