[PATCH 06/10] mfd add subdevs in 88pm860x
Haojian Zhuang
haojian.zhuang at gmail.com
Thu Nov 19 22:07:48 EST 2009
On Wed, Nov 18, 2009 at 12:16 AM, Dmitry Torokhov
<dmitry.torokhov at gmail.com> wrote:
>> @@ -354,23 +510,46 @@ int __devinit pm860x_device_init(struct
>> pm860x_chip *chip, void *pdata)
>> mutex_init(&mixed_chip.io_lock);
>>
>> if (!strcmp(chip->id.name, "88PM8607")) {
>> - ret = __88pm8607_init(chip, (struct pm860x_plat_data *)pdata);
>> + ret = __88pm8607_init(chip, pdata);
>> if (ret < 0)
>> goto out;
>>
>> - count = ARRAY_SIZE(pm8607_devs);
>> - for (i = 0; i < count; i++) {
>> - ret = mfd_add_devices(chip->dev, i, &pm8607_devs[i],
>> - 1, NULL, 0);
>> - if (ret != 0) {
>> - dev_err(chip->dev, "Failed to add subdevs\n");
>> - goto out;
>> - }
>> + ret = mfd_add_devices(chip->dev, 0, ®ulator_devs[0],
>> + ARRAY_SIZE(regulator_devs),
>> + ®ulator_resources[0], 0);
>> + if (ret < 0)
>> + dev_err(chip->dev, "Failed to add regulator subdev\n");
>> +
>> + if (pdata && pdata->touch) {
>> + ret = mfd_add_devices(chip->dev, 0, &touch_devs[0],
>> + ARRAY_SIZE(touch_devs),
>> + &touch_resources[0], 0);
>> + if (ret < 0)
>> + dev_err(chip->dev, "Failed to add touch "
>> + "subdev\n");
>
> Umm, when I was asking for error handling I expected more than just
> printing a message. What about cleanup? Is device functional without
> half of the devices? Do we want to have a crippled device?
>
> Thanks.
>
> --
> Dmitry
>
updated
Thanks
Haojian
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0006-mfd-append-subdev-into-88pm860x-driver.patch
Type: text/x-patch
Size: 14320 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20091119/a44e6eca/attachment.bin>
More information about the linux-arm-kernel
mailing list