On Tue, Nov 6, 2012 at 3:38 PM, Qing Xu <qi...@marvell.com> wrote: > From: Qing Xu <qi...@marvell.com> > > we encounter rtc/power/touch driver registry failure, root cause > it is resources confilict in insert_resouce, solved by changing > mfd_add_devices 5th parameter to NULL > Since resources are not used in power/rtc driver and touch driver isn't implemented, it's OK to avoid use resources. Please remove those resources in max8925-core.c also.
> Signed-off-by: Qing Xu <qi...@marvell.com> > --- > drivers/mfd/max8925-core.c | 22 ++++++++++------------ > 1 files changed, 10 insertions(+), 12 deletions(-) > > diff --git a/drivers/mfd/max8925-core.c b/drivers/mfd/max8925-core.c > index dcc218a..b1eacae 100644 > --- a/drivers/mfd/max8925-core.c > +++ b/drivers/mfd/max8925-core.c > @@ -873,7 +873,7 @@ int __devinit max8925_device_init(struct max8925_chip > *chip, > > ret = mfd_add_devices(chip->dev, 0, &rtc_devs[0], > ARRAY_SIZE(rtc_devs), > - &rtc_resources[0], chip->irq_base, NULL); > + NULL, chip->irq_base, NULL); > if (ret < 0) { > dev_err(chip->dev, "Failed to add rtc subdev\n"); > goto out; > @@ -881,7 +881,7 @@ int __devinit max8925_device_init(struct max8925_chip > *chip, > > ret = mfd_add_devices(chip->dev, 0, &onkey_devs[0], > ARRAY_SIZE(onkey_devs), > - &onkey_resources[0], 0, NULL); > + NULL, 0, NULL); > if (ret < 0) { > dev_err(chip->dev, "Failed to add onkey subdev\n"); > goto out_dev; > @@ -900,21 +900,19 @@ int __devinit max8925_device_init(struct max8925_chip > *chip, > goto out_dev; > } > > - if (pdata && pdata->power) { > - ret = mfd_add_devices(chip->dev, 0, &power_devs[0], > - ARRAY_SIZE(power_devs), > - &power_supply_resources[0], 0, NULL); > - if (ret < 0) { > - dev_err(chip->dev, "Failed to add power supply " > - "subdev\n"); > - goto out_dev; > - } > + ret = mfd_add_devices(chip->dev, 0, &power_devs[0], > + ARRAY_SIZE(power_devs), > + NULL, 0, NULL); > + if (ret < 0) { > + dev_err(chip->dev, "Failed to add power supply " > + "subdev, err = %d\n", ret); > + goto out_dev; > } > > if (pdata && pdata->touch) { > ret = mfd_add_devices(chip->dev, 0, &touch_devs[0], > ARRAY_SIZE(touch_devs), > - &touch_resources[0], 0, NULL); > + NULL, chip->tsc_irq_base, NULL); > if (ret < 0) { > dev_err(chip->dev, "Failed to add touch subdev\n"); > goto out_dev; > -- > 1.7.0.4 > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/