All of lore.kernel.org
 help / color / mirror / Atom feed
From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Geert Uytterhoeven <geert+renesas@glider.be>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Simon Horman <horms@verge.net.au>,
	Magnus Damm <magnus.damm@gmail.com>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	linux-serial@vger.kernel.org, linux-sh@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 07/25] serial: sh-sci: Convert from clk_get() to devm_clk_get()
Date: Thu, 19 Nov 2015 20:38:34 +0000	[thread overview]
Message-ID: <3399561.8ERHTtILhO@avalon> (raw)
In-Reply-To: <1447958344-836-8-git-send-email-geert+renesas@glider.be>

Hi Geert,

Thank for the patch.

On Thursday 19 November 2015 19:38:46 Geert Uytterhoeven wrote:
> Transfer clock cleanup handling to the core device management code.
> 
> Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
> ---
>  drivers/tty/serial/sh-sci.c | 8 +++-----
>  1 file changed, 3 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/tty/serial/sh-sci.c b/drivers/tty/serial/sh-sci.c
> index cba51da604253db6..9442961a198378c7 100644
> --- a/drivers/tty/serial/sh-sci.c
> +++ b/drivers/tty/serial/sh-sci.c
> @@ -2216,7 +2216,7 @@ static struct uart_ops sci_uart_ops = {
>  static int sci_init_clocks(struct sci_port *sci_port, struct device *dev)
>  {
>  	/* Get the SCI functional clock. It's called "fck" on ARM. */
> -	sci_port->fclk = clk_get(dev, "fck");
> +	sci_port->fclk = devm_clk_get(dev, "fck");

Have you tested what happens if you unbind the device from the driver while 
userspace has the serial port open ?

>  	if (PTR_ERR(sci_port->fclk) = -EPROBE_DEFER)
>  		return -EPROBE_DEFER;
>  	if (!IS_ERR(sci_port->fclk))
> @@ -2226,7 +2226,7 @@ static int sci_init_clocks(struct sci_port *sci_port,
> struct device *dev) * But it used to be called "sci_ick", and we need to
> maintain DT * backward compatibility.
>  	 */
> -	sci_port->fclk = clk_get(dev, "sci_ick");
> +	sci_port->fclk = devm_clk_get(dev, "sci_ick");
>  	if (PTR_ERR(sci_port->fclk) = -EPROBE_DEFER)
>  		return -EPROBE_DEFER;
>  	if (!IS_ERR(sci_port->fclk))
> @@ -2236,7 +2236,7 @@ static int sci_init_clocks(struct sci_port *sci_port,
> struct device *dev) * Not all SH platforms declare a clock lookup entry for
> SCI devices, * in which case we need to get the global "peripheral_clk"
> clock. */
> -	sci_port->fclk = clk_get(dev, "peripheral_clk");
> +	sci_port->fclk = devm_clk_get(dev, "peripheral_clk");
>  	if (!IS_ERR(sci_port->fclk))
>  		return 0;
> 
> @@ -2395,8 +2395,6 @@ static int sci_init_single(struct platform_device
> *dev,
> 
>  static void sci_cleanup_single(struct sci_port *port)
>  {
> -	clk_put(port->fclk);
> -
>  	pm_runtime_disable(port->port.dev);
>  }

-- 
Regards,

Laurent Pinchart


WARNING: multiple messages have this Message-ID (diff)
From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Geert Uytterhoeven <geert+renesas@glider.be>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Simon Horman <horms@verge.net.au>,
	Magnus Damm <magnus.damm@gmail.com>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	linux-serial@vger.kernel.org, linux-sh@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 07/25] serial: sh-sci: Convert from clk_get() to devm_clk_get()
Date: Thu, 19 Nov 2015 22:38:34 +0200	[thread overview]
Message-ID: <3399561.8ERHTtILhO@avalon> (raw)
In-Reply-To: <1447958344-836-8-git-send-email-geert+renesas@glider.be>

Hi Geert,

Thank for the patch.

On Thursday 19 November 2015 19:38:46 Geert Uytterhoeven wrote:
> Transfer clock cleanup handling to the core device management code.
> 
> Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
> ---
>  drivers/tty/serial/sh-sci.c | 8 +++-----
>  1 file changed, 3 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/tty/serial/sh-sci.c b/drivers/tty/serial/sh-sci.c
> index cba51da604253db6..9442961a198378c7 100644
> --- a/drivers/tty/serial/sh-sci.c
> +++ b/drivers/tty/serial/sh-sci.c
> @@ -2216,7 +2216,7 @@ static struct uart_ops sci_uart_ops = {
>  static int sci_init_clocks(struct sci_port *sci_port, struct device *dev)
>  {
>  	/* Get the SCI functional clock. It's called "fck" on ARM. */
> -	sci_port->fclk = clk_get(dev, "fck");
> +	sci_port->fclk = devm_clk_get(dev, "fck");

Have you tested what happens if you unbind the device from the driver while 
userspace has the serial port open ?

>  	if (PTR_ERR(sci_port->fclk) == -EPROBE_DEFER)
>  		return -EPROBE_DEFER;
>  	if (!IS_ERR(sci_port->fclk))
> @@ -2226,7 +2226,7 @@ static int sci_init_clocks(struct sci_port *sci_port,
> struct device *dev) * But it used to be called "sci_ick", and we need to
> maintain DT * backward compatibility.
>  	 */
> -	sci_port->fclk = clk_get(dev, "sci_ick");
> +	sci_port->fclk = devm_clk_get(dev, "sci_ick");
>  	if (PTR_ERR(sci_port->fclk) == -EPROBE_DEFER)
>  		return -EPROBE_DEFER;
>  	if (!IS_ERR(sci_port->fclk))
> @@ -2236,7 +2236,7 @@ static int sci_init_clocks(struct sci_port *sci_port,
> struct device *dev) * Not all SH platforms declare a clock lookup entry for
> SCI devices, * in which case we need to get the global "peripheral_clk"
> clock. */
> -	sci_port->fclk = clk_get(dev, "peripheral_clk");
> +	sci_port->fclk = devm_clk_get(dev, "peripheral_clk");
>  	if (!IS_ERR(sci_port->fclk))
>  		return 0;
> 
> @@ -2395,8 +2395,6 @@ static int sci_init_single(struct platform_device
> *dev,
> 
>  static void sci_cleanup_single(struct sci_port *port)
>  {
> -	clk_put(port->fclk);
> -
>  	pm_runtime_disable(port->port.dev);
>  }

-- 
Regards,

Laurent Pinchart

  reply	other threads:[~2015-11-19 20:38 UTC|newest]

Thread overview: 151+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-11-19 18:38 [PATCH 00/25] serial: sh-sci: Add external clock and BRG Support Geert Uytterhoeven
2015-11-19 18:38 ` Geert Uytterhoeven
     [not found] ` <1447958344-836-1-git-send-email-geert+renesas-gXvu3+zWzMSzQB+pC5nmwQ@public.gmane.org>
2015-11-19 18:38   ` [PATCH 01/25] serial: sh-sci: Update DT binding documentation for external clock input Geert Uytterhoeven
2015-11-19 18:38     ` Geert Uytterhoeven
2015-11-19 18:38     ` Geert Uytterhoeven
     [not found]     ` <1447958344-836-2-git-send-email-geert+renesas-gXvu3+zWzMSzQB+pC5nmwQ@public.gmane.org>
2015-11-19 20:19       ` Laurent Pinchart
2015-11-19 20:19         ` Laurent Pinchart
2015-11-19 20:19         ` Laurent Pinchart
2015-11-19 20:27         ` Laurent Pinchart
2015-11-19 20:27           ` Laurent Pinchart
2015-11-19 20:39           ` Geert Uytterhoeven
2015-11-19 20:39             ` Geert Uytterhoeven
2015-11-19 20:39             ` Geert Uytterhoeven
     [not found]             ` <CAMuHMdUnT2zCnj9QBVgxJaHV2fk5iuc7cxq=fh+fVTv3toOVaQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-11-19 21:17               ` Laurent Pinchart
2015-11-19 21:17                 ` Laurent Pinchart
2015-11-19 21:17                 ` Laurent Pinchart
2015-11-20  8:00                 ` Geert Uytterhoeven
2015-11-20  8:00                   ` Geert Uytterhoeven
2015-11-19 20:33         ` Geert Uytterhoeven
2015-11-19 20:33           ` Geert Uytterhoeven
     [not found]           ` <CAMuHMdX4ToefbBLR6o2AMuzCMoKcYo9XRZOzHJzgtQn552vmNg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-12-21 14:20             ` Geert Uytterhoeven
2015-12-21 14:20               ` Geert Uytterhoeven
2015-12-21 14:20               ` Geert Uytterhoeven
2015-11-19 18:38   ` [PATCH 02/25] serial: sh-sci: Update DT binding documentation for BRG support Geert Uytterhoeven
2015-11-19 18:38     ` Geert Uytterhoeven
2015-11-19 18:38     ` Geert Uytterhoeven
2015-11-19 20:26     ` Laurent Pinchart
2015-11-19 20:26       ` Laurent Pinchart
2015-11-19 20:44       ` Geert Uytterhoeven
2015-11-19 20:44         ` Geert Uytterhoeven
     [not found]         ` <CAMuHMdWHbc1kK7MipyZ_M_C6gPyPqvC4H35eZLXQezjbQNK2Jw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-11-19 21:13           ` Laurent Pinchart
2015-11-19 21:13             ` Laurent Pinchart
2015-11-19 21:13             ` Laurent Pinchart
2015-11-20  7:58             ` Geert Uytterhoeven
2015-11-20  7:58               ` Geert Uytterhoeven
2015-11-19 18:38 ` [PATCH 03/25] serial: sh-sci: Drop useless check for zero sampling_rate Geert Uytterhoeven
2015-11-19 18:38   ` Geert Uytterhoeven
2015-11-19 18:38 ` [PATCH 04/25] serial: sh-sci: Grammar s/Get ... for/Get ... from/ Geert Uytterhoeven
2015-11-19 18:38   ` Geert Uytterhoeven
2015-11-19 18:38 ` [PATCH 05/25] serial: sh-sci: Drop unused frame_len parameter for sci_baud_calc_hscif() Geert Uytterhoeven
2015-11-19 18:38   ` Geert Uytterhoeven
2015-11-19 18:38 ` [PATCH 06/25] serial: sh-sci: Don't overwrite clock selection in serial_console_write() Geert Uytterhoeven
2015-11-19 18:38   ` Geert Uytterhoeven
2015-11-19 18:38 ` [PATCH 07/25] serial: sh-sci: Convert from clk_get() to devm_clk_get() Geert Uytterhoeven
2015-11-19 18:38   ` Geert Uytterhoeven
2015-11-19 20:38   ` Laurent Pinchart [this message]
2015-11-19 20:38     ` Laurent Pinchart
2015-12-10 12:30     ` Geert Uytterhoeven
2015-12-10 12:30       ` Geert Uytterhoeven
2015-12-13 19:39       ` Laurent Pinchart
2015-12-13 19:39         ` Laurent Pinchart
2015-12-14 10:34         ` Geert Uytterhoeven
2015-12-14 10:34           ` Geert Uytterhoeven
2015-12-14 15:47           ` Laurent Pinchart
2015-12-14 15:47             ` Laurent Pinchart
2015-11-19 18:38 ` [PATCH 08/25] serial: sh-sci: Make unsigned values in sci_baud_calc_hscif() unsigned Geert Uytterhoeven
2015-11-19 18:38   ` Geert Uytterhoeven
2015-11-19 20:36   ` Laurent Pinchart
2015-11-19 20:36     ` Laurent Pinchart
2015-11-19 20:49     ` Geert Uytterhoeven
2015-11-19 20:49       ` Geert Uytterhoeven
2015-11-19 18:38 ` [PATCH 09/25] serial: sh-sci: Avoid overflow in sci_baud_calc_hscif() Geert Uytterhoeven
2015-11-19 18:38   ` Geert Uytterhoeven
2015-11-19 20:37   ` Laurent Pinchart
2015-11-19 20:37     ` Laurent Pinchart
2015-11-19 20:50     ` Geert Uytterhoeven
2015-11-19 20:50       ` Geert Uytterhoeven
2015-11-19 18:38 ` [PATCH 10/25] serial: sh-sci: Improve bit rate error calculation for HSCIF Geert Uytterhoeven
2015-11-19 18:38   ` Geert Uytterhoeven
2015-11-19 18:38 ` [PATCH 11/25] serial: sh-sci: Avoid calculating the receive margin " Geert Uytterhoeven
2015-11-19 18:38   ` Geert Uytterhoeven
2015-11-19 18:38 ` [PATCH 12/25] serial: sh-sci: Merge sci_scbrr_calc() and sci_baud_calc_hscif() Geert Uytterhoeven
2015-11-19 18:38   ` Geert Uytterhoeven
2015-11-19 18:38 ` [PATCH 13/25] serial: sh-sci: Take into account sampling rate for max baud rate Geert Uytterhoeven
2015-11-19 18:38   ` Geert Uytterhoeven
2015-11-19 18:38 ` [PATCH 14/25] serial: sh-sci: Add BRG register definitions Geert Uytterhoeven
2015-11-19 18:38   ` Geert Uytterhoeven
2015-11-19 20:45   ` Laurent Pinchart
2015-11-19 20:45     ` Laurent Pinchart
2015-11-19 18:38 ` [PATCH 15/25] serial: sh-sci: Replace struct sci_port_info by type/regtype encoding Geert Uytterhoeven
2015-11-19 18:38   ` Geert Uytterhoeven
2015-11-19 18:38 ` [PATCH 16/25] serial: sh-sci: Correct SCIF type on RZ/A1H Geert Uytterhoeven
2015-11-19 18:38   ` Geert Uytterhoeven
2015-11-19 18:38 ` [PATCH 17/25] serial: sh-sci: Correct SCIF type on R-Car for BRG Geert Uytterhoeven
2015-11-19 18:38   ` Geert Uytterhoeven
2015-11-19 20:55   ` Laurent Pinchart
2015-11-19 20:55     ` Laurent Pinchart
2015-11-20  7:46     ` Geert Uytterhoeven
2015-11-20  7:46       ` Geert Uytterhoeven
2015-11-20 14:52       ` Laurent Pinchart
2015-11-20 14:52         ` Laurent Pinchart
2015-11-20 15:30         ` Geert Uytterhoeven
2015-11-20 15:30           ` Geert Uytterhoeven
2015-11-20 15:33           ` Laurent Pinchart
2015-11-20 15:33             ` Laurent Pinchart
2015-12-10  9:21             ` Geert Uytterhoeven
2015-12-10  9:21               ` Geert Uytterhoeven
2015-12-11  1:12               ` Simon Horman
2015-12-11  1:12                 ` Simon Horman
2015-12-13 19:18               ` Laurent Pinchart
2015-12-13 19:18                 ` Laurent Pinchart
2015-11-19 18:38 ` [PATCH 18/25] serial: sh-sci: Prepare for multiple clocks and baud rate generators Geert Uytterhoeven
2015-11-19 18:38   ` Geert Uytterhoeven
2015-11-19 21:04   ` Laurent Pinchart
2015-11-19 21:04     ` Laurent Pinchart
2015-11-20  7:52     ` Geert Uytterhoeven
2015-11-20  7:52       ` Geert Uytterhoeven
2015-11-20 14:47       ` Laurent Pinchart
2015-11-20 14:47         ` Laurent Pinchart
2015-11-20 15:17         ` Geert Uytterhoeven
2015-11-20 15:17           ` Geert Uytterhoeven
2015-11-20 15:31           ` Laurent Pinchart
2015-11-20 15:31             ` Laurent Pinchart
2015-11-19 18:38 ` [PATCH 19/25] serial: sh-sci: Add support for optional external (H)SCK input Geert Uytterhoeven
2015-11-19 18:38   ` Geert Uytterhoeven
2015-11-19 18:38 ` [PATCH 20/25] serial: sh-sci: Add support for optional BRG on (H)SCIF Geert Uytterhoeven
2015-11-19 18:38   ` Geert Uytterhoeven
2015-11-19 18:39 ` [PATCH 21/25] ARM: shmobile: r8a7791 dtsi: Add BRG support for (H)SCIF Geert Uytterhoeven
2015-11-19 18:39   ` Geert Uytterhoeven
2015-11-19 18:39 ` [PATCH 22/25] ARM: shmobile: koelsch dts: Enable SCIF_CLK frequency and pins Geert Uytterhoeven
2015-11-19 18:39   ` Geert Uytterhoeven
2015-11-19 18:39 ` [PATCH 23/25] arm64: renesas: r8a7795 dtsi: Add BRG support for (H)SCIF Geert Uytterhoeven
2015-11-19 18:39   ` Geert Uytterhoeven
2015-11-19 21:07   ` Laurent Pinchart
2015-11-19 21:07     ` Laurent Pinchart
2015-11-20  8:17     ` Geert Uytterhoeven
2015-11-20  8:17       ` Geert Uytterhoeven
2015-11-19 18:39 ` [PATCH 24/25] arm64: renesas: salvator-x dts: Enable SCIF_CLK frequency and pins Geert Uytterhoeven
2015-11-19 18:39   ` Geert Uytterhoeven
2015-11-19 18:39 ` [PATCH 25/25] sh: sh7734: Correct SCIF type for BRG Geert Uytterhoeven
2015-11-19 18:39   ` Geert Uytterhoeven
2015-11-19 21:08 ` [PATCH 00/25] serial: sh-sci: Add external clock and BRG Support Laurent Pinchart
2015-11-19 21:08   ` Laurent Pinchart
2015-11-20  8:22   ` Geert Uytterhoeven
2015-11-20  8:22     ` Geert Uytterhoeven
2015-11-20  8:58     ` Laurent Pinchart
2015-11-20  8:58       ` Laurent Pinchart
2015-11-20  9:07       ` Geert Uytterhoeven
2015-11-20  9:07         ` Geert Uytterhoeven
2015-11-20 14:50         ` Laurent Pinchart
2015-11-20 14:50           ` Laurent Pinchart
2015-11-20 15:31           ` Geert Uytterhoeven
2015-11-20 15:31             ` Geert Uytterhoeven
2015-11-20  9:09 ` Geert Uytterhoeven
2015-11-20  9:09   ` Geert Uytterhoeven
2015-12-13  6:43   ` Greg Kroah-Hartman
2015-12-13  6:43     ` Greg Kroah-Hartman
2015-12-13  9:09     ` Geert Uytterhoeven
2015-12-13  9:09       ` Geert Uytterhoeven
2015-11-24  2:43 ` Simon Horman
2015-11-24  2:43   ` Simon Horman

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=3399561.8ERHTtILhO@avalon \
    --to=laurent.pinchart@ideasonboard.com \
    --cc=geert+renesas@glider.be \
    --cc=gregkh@linuxfoundation.org \
    --cc=horms@verge.net.au \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-serial@vger.kernel.org \
    --cc=linux-sh@vger.kernel.org \
    --cc=magnus.damm@gmail.com \
    --cc=ysato@users.sourceforge.jp \
    /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.