All of lore.kernel.org
 help / color / mirror / Atom feed
From: Joe Perches <joe@perches.com>
To: Javier Martinez Canillas <javier@osg.samsung.com>,
	linux-kernel@vger.kernel.org
Cc: Alexandre Belloni <alexandre.belloni@free-electrons.com>,
	linux-samsung-soc@vger.kernel.org,
	Krzysztof Kozlowski <k.kozlowski@samsung.com>,
	 rtc-linux@googlegroups.com
Subject: [rtc-linux] Re: [PATCH] rtc: s3c: Don't print an error on probe deferral
Date: Mon, 14 Mar 2016 12:11:15 -0700	[thread overview]
Message-ID: <1457982675.11972.119.camel@perches.com> (raw)
In-Reply-To: <1457982308-29848-1-git-send-email-javier@osg.samsung.com>

On Mon, 2016-03-14 at 16:05 -0300, Javier Martinez Canillas wrote:
> The clock and source clock looked up by the driver may not be available
> just because the clock controller driver was not probed yet so printing
> an error in this case is not correct and only adds confusion to users.
>=20
> However, knowing that a driver's probe was deferred may be useful so it
> can be printed as debug information.
[]
> diff --git a/drivers/rtc/rtc-s3c.c b/drivers/rtc/rtc-s3c.c
[]
> @@ -501,18 +501,27 @@ static int s3c_rtc_probe(struct platform_device *pd=
ev)
> =C2=A0
> =C2=A0	info->rtc_clk =3D devm_clk_get(&pdev->dev, "rtc");
> =C2=A0	if (IS_ERR(info->rtc_clk)) {
> -		dev_err(&pdev->dev, "failed to find rtc clock\n");
> -		return PTR_ERR(info->rtc_clk);
> +		ret =3D PTR_ERR(info->rtc_clk);
> +		if (ret !=3D -EPROBE_DEFER)
> +			dev_err(&pdev->dev, "failed to find rtc clock\n");
> +		else
> +			dev_dbg(&pdev->dev, "probe deferred due rtc clock\n");
> +		return ret;
> =C2=A0	}
> =C2=A0	clk_prepare_enable(info->rtc_clk);
> =C2=A0
> =C2=A0	if (info->data->needs_src_clk) {
> =C2=A0		info->rtc_src_clk =3D devm_clk_get(&pdev->dev, "rtc_src");
> =C2=A0		if (IS_ERR(info->rtc_src_clk)) {
> -			dev_err(&pdev->dev,
> -				"failed to find rtc source clock\n");
> +			ret =3D PTR_ERR(info->rtc_src_clk);
> +			if (ret !=3D -EPROBE_DEFER)
> +				dev_err(&pdev->dev,
> +					"failed to find rtc source clock\n");
> +			else
> +				dev_dbg(&pdev->dev,
> +					"probe deferred due rtc source clock\n");
> =C2=A0			clk_disable_unprepare(info->rtc_clk);
> -			return PTR_ERR(info->rtc_src_clk);
> +			return ret;
> =C2=A0		}
> =C2=A0		clk_prepare_enable(info->rtc_src_clk);
> =C2=A0	}

Maybe the debug logging messages could be object->action like:

	rtc clock probe deferred
	rtc source clock probe deferred


--=20
--=20
You received this message because you are subscribed to "rtc-linux".
Membership options at http://groups.google.com/group/rtc-linux .
Please read http://groups.google.com/group/rtc-linux/web/checklist
before submitting a driver.
---=20
You received this message because you are subscribed to the Google Groups "=
rtc-linux" group.
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to rtc-linux+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

WARNING: multiple messages have this Message-ID (diff)
From: Joe Perches <joe@perches.com>
To: Javier Martinez Canillas <javier@osg.samsung.com>,
	linux-kernel@vger.kernel.org
Cc: Alexandre Belloni <alexandre.belloni@free-electrons.com>,
	linux-samsung-soc@vger.kernel.org,
	Krzysztof Kozlowski <k.kozlowski@samsung.com>,
	rtc-linux@googlegroups.com
Subject: Re: [PATCH] rtc: s3c: Don't print an error on probe deferral
Date: Mon, 14 Mar 2016 12:11:15 -0700	[thread overview]
Message-ID: <1457982675.11972.119.camel@perches.com> (raw)
In-Reply-To: <1457982308-29848-1-git-send-email-javier@osg.samsung.com>

On Mon, 2016-03-14 at 16:05 -0300, Javier Martinez Canillas wrote:
> The clock and source clock looked up by the driver may not be available
> just because the clock controller driver was not probed yet so printing
> an error in this case is not correct and only adds confusion to users.
> 
> However, knowing that a driver's probe was deferred may be useful so it
> can be printed as debug information.
[]
> diff --git a/drivers/rtc/rtc-s3c.c b/drivers/rtc/rtc-s3c.c
[]
> @@ -501,18 +501,27 @@ static int s3c_rtc_probe(struct platform_device *pdev)
>  
>  	info->rtc_clk = devm_clk_get(&pdev->dev, "rtc");
>  	if (IS_ERR(info->rtc_clk)) {
> -		dev_err(&pdev->dev, "failed to find rtc clock\n");
> -		return PTR_ERR(info->rtc_clk);
> +		ret = PTR_ERR(info->rtc_clk);
> +		if (ret != -EPROBE_DEFER)
> +			dev_err(&pdev->dev, "failed to find rtc clock\n");
> +		else
> +			dev_dbg(&pdev->dev, "probe deferred due rtc clock\n");
> +		return ret;
>  	}
>  	clk_prepare_enable(info->rtc_clk);
>  
>  	if (info->data->needs_src_clk) {
>  		info->rtc_src_clk = devm_clk_get(&pdev->dev, "rtc_src");
>  		if (IS_ERR(info->rtc_src_clk)) {
> -			dev_err(&pdev->dev,
> -				"failed to find rtc source clock\n");
> +			ret = PTR_ERR(info->rtc_src_clk);
> +			if (ret != -EPROBE_DEFER)
> +				dev_err(&pdev->dev,
> +					"failed to find rtc source clock\n");
> +			else
> +				dev_dbg(&pdev->dev,
> +					"probe deferred due rtc source clock\n");
>  			clk_disable_unprepare(info->rtc_clk);
> -			return PTR_ERR(info->rtc_src_clk);
> +			return ret;
>  		}
>  		clk_prepare_enable(info->rtc_src_clk);
>  	}

Maybe the debug logging messages could be object->action like:

	rtc clock probe deferred
	rtc source clock probe deferred

  reply	other threads:[~2016-03-14 19:11 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-03-14 19:05 [rtc-linux] [PATCH] rtc: s3c: Don't print an error on probe deferral Javier Martinez Canillas
2016-03-14 19:05 ` Javier Martinez Canillas
2016-03-14 19:11 ` Joe Perches [this message]
2016-03-14 19:11   ` Joe Perches
2016-03-14 19:31   ` [rtc-linux] " Javier Martinez Canillas
2016-03-14 19:31     ` Javier Martinez Canillas
2016-03-14 19:38     ` [rtc-linux] " Joe Perches
2016-03-14 19:38       ` Joe Perches
2016-03-14 19:59       ` [rtc-linux] " Javier Martinez Canillas
2016-03-14 19:59         ` Javier Martinez Canillas
2016-03-14 20:03         ` [rtc-linux] " Joe Perches
2016-03-14 20:03           ` Joe Perches
2016-03-14 20:23           ` [rtc-linux] " Javier Martinez Canillas
2016-03-14 20:23             ` Javier Martinez Canillas
2016-03-14 20:19         ` [rtc-linux] " Alexandre Belloni
2016-03-14 20:19           ` Alexandre Belloni
2016-03-14 20:33           ` [rtc-linux] " Joe Perches
2016-03-14 20:33             ` Joe Perches
2016-03-14 20:51             ` [rtc-linux] " Alexandre Belloni
2016-03-14 20:51               ` Alexandre Belloni

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1457982675.11972.119.camel@perches.com \
    --to=joe@perches.com \
    --cc=alexandre.belloni@free-electrons.com \
    --cc=javier@osg.samsung.com \
    --cc=k.kozlowski@samsung.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-samsung-soc@vger.kernel.org \
    --cc=rtc-linux@googlegroups.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.