From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: MIME-version: 1.0 Content-type: text/plain; charset=UTF-8 Content-transfer-encoding: 8BIT Message-id: <1413382197.9555.0.camel@AMDC1943> Subject: Re: [RFT PATCH] power: bq2415x_charger: Properly handle ENODEV from power_supply_get_by_phandle From: Krzysztof Kozlowski To: Sebastian Reichel Cc: Dmitry Eremin-Solenikov , David Woodhouse , linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, stable@vger.kernel.org Date: Wed, 15 Oct 2014 16:09:57 +0200 In-reply-to: <20141015135806.GA5152@earth.universe> References: <1413275573-23014-1-git-send-email-k.kozlowski@samsung.com> <20141015090512.GA26651@earth.universe> <1413371491.26771.15.camel@AMDC1943> <20141015135806.GA5152@earth.universe> Sender: linux-kernel-owner@vger.kernel.org List-ID: On śro, 2014-10-15 at 15:58 +0200, Sebastian Reichel wrote: > 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? Sure, I'll send fixed version. Best regards, Krzysztof > > > [...] > > -- Sebastian