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