Re: [RFT PATCH] power: bq2415x_charger: Properly handle ENODEV from power_supply_get_by_phandle

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

On Wed, Oct 15, 2014 at 01:11:31PM +0200, Krzysztof Kozlowski wrote:
> > [...] I guess something as the following is needed:
> > 
> > if (IS_ERR_OR_NULL(bq->notify_psy)) {
> >     if (bq->notify_psy)
> >         dev_err(&client->dev, "no 'ti,usb-charger-detection' property\n");
> >     ret = PTR_ERR(bq->notify_psy);
> >     goto error_2;
> > }
> 
> So you do not want to defer the probe? What if notified charger will
> come online after this probe?

No, but resources must be freed fore the EPROBE_DEFER case, too.
You are right, though, that my snipped does not setup the
EPROBE_DEFER return value correctly.

> Second idea - now I think my change is not compatible with bindings
> (documentation) and could break booting of existing boards which do not
> provide the "ti,usb-charger-detection" property. For example
> arch/arm/boot/dts/omap3-n900.dts
>
> The "ti,usb-charger-detection" property is marked as optional but my
> patch actually makes it required.
> 
> It should be rather like this:
> 
> if (IS_ERR(bq->notify_psy)) {
>     bq->notify_psy = NULL;
>     dev_info(&client->dev, "no 'ti,usb-charger-detection' property \n");
> } else if (!bq->notify_psy) {
>     ret = -EPROBE_DEFER;
>     goto error_2;
> }
>
> What do you think?

I thing the dev_info call should include the error code returned,
since its not propagated further:

dev_info(&client->dev, "no 'ti,usb-charger-detection' property (err=%d)\n",
         PTR_ERR(by->notify_psy));

Apart from that it looks fine to me. Can you send a v2?

> [...]

-- Sebastian

Attachment: signature.asc
Description: Digital signature


[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]