From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755586AbcFQNYc (ORCPT ); Fri, 17 Jun 2016 09:24:32 -0400 Received: from arroyo.ext.ti.com ([198.47.19.12]:43991 "EHLO arroyo.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753444AbcFQNYa (ORCPT ); Fri, 17 Jun 2016 09:24:30 -0400 Subject: Re: [PATCH] phy: phy-sun4i-usb: Add log when probing To: Quentin Schulz , , References: <1465818232-29108-1-git-send-email-quentin.schulz@free-electrons.com> CC: , , From: Kishon Vijay Abraham I Message-ID: <5763F9EA.20504@ti.com> Date: Fri, 17 Jun 2016 18:53:54 +0530 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.7.2 MIME-Version: 1.0 In-Reply-To: <1465818232-29108-1-git-send-email-quentin.schulz@free-electrons.com> Content-Type: text/plain; charset="windows-1252" Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Quentin, On Monday 13 June 2016 05:13 PM, Quentin Schulz wrote: > When phy-sun4i-usb's probing fails, it does not print the reason in > kernel log, forcing the developer to edit this driver to add info logs. > This commit makes the kernel print the reason of phy-sun4i-usb's probing > failure or a success message. > > Signed-off-by: Quentin Schulz > --- > drivers/phy/phy-sun4i-usb.c | 28 ++++++++++++++++++++++------ > 1 file changed, 22 insertions(+), 6 deletions(-) > > diff --git a/drivers/phy/phy-sun4i-usb.c b/drivers/phy/phy-sun4i-usb.c > index 45f01d6..117afa0 100644 > --- a/drivers/phy/phy-sun4i-usb.c > +++ b/drivers/phy/phy-sun4i-usb.c > @@ -552,24 +552,32 @@ static int sun4i_usb_phy_probe(struct platform_device *pdev) > > res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "phy_ctrl"); > data->base = devm_ioremap_resource(dev, res); > - if (IS_ERR(data->base)) > + if (IS_ERR(data->base)) { > + dev_err(dev, "Couldn't map our registers\n"); devm_ioremap_resource() itself has error message. So this shouldn't be required. > return PTR_ERR(data->base); > + } > > data->id_det_gpio = devm_gpiod_get_optional(dev, "usb0_id_det", > GPIOD_IN); > - if (IS_ERR(data->id_det_gpio)) > + if (IS_ERR(data->id_det_gpio)) { > + dev_err(dev, "Couldn't request ID GPIO\n"); > return PTR_ERR(data->id_det_gpio); > + } > > data->vbus_det_gpio = devm_gpiod_get_optional(dev, "usb0_vbus_det", > GPIOD_IN); > - if (IS_ERR(data->vbus_det_gpio)) > + if (IS_ERR(data->vbus_det_gpio)) { > + dev_err(dev, "Couldn't request VBUS detect GPIO\n"); > return PTR_ERR(data->vbus_det_gpio); > + } > > if (of_find_property(np, "usb0_vbus_power-supply", NULL)) { > data->vbus_power_supply = devm_power_supply_get_by_phandle(dev, > "usb0_vbus_power-supply"); > - if (IS_ERR(data->vbus_power_supply)) > + if (IS_ERR(data->vbus_power_supply)) { > + dev_err(dev, "Couldn't get the VBUS power supply\n"); > return PTR_ERR(data->vbus_power_supply); > + } > > if (!data->vbus_power_supply) > return -EPROBE_DEFER; > @@ -584,8 +592,10 @@ static int sun4i_usb_phy_probe(struct platform_device *pdev) > if (data->id_det_gpio) { > data->extcon = devm_extcon_dev_allocate(dev, > sun4i_usb_phy0_cable); > - if (IS_ERR(data->extcon)) > + if (IS_ERR(data->extcon)) { > + dev_err(dev, "Couldn't allocate our extcon device\n"); > return PTR_ERR(data->extcon); > + } > > ret = devm_extcon_dev_register(dev, data->extcon); > if (ret) { > @@ -601,8 +611,12 @@ static int sun4i_usb_phy_probe(struct platform_device *pdev) > snprintf(name, sizeof(name), "usb%d_vbus", i); > phy->vbus = devm_regulator_get_optional(dev, name); > if (IS_ERR(phy->vbus)) { > - if (PTR_ERR(phy->vbus) == -EPROBE_DEFER) > + if (PTR_ERR(phy->vbus) == -EPROBE_DEFER) { > + dev_err(dev, "Couldn't get regulator %s... Deferring probe\n", > + name); > return -EPROBE_DEFER; > + } > + > phy->vbus = NULL; For rest of the API's it's fine. > } > > @@ -690,6 +704,8 @@ static int sun4i_usb_phy_probe(struct platform_device *pdev) > return PTR_ERR(phy_provider); > } > > + dev_info(dev, "successfully loaded\n"); This will make the boot noisy. Maybe dev_dbg instead? Thanks Kishon