From: Sascha Hauer <s.hauer@pengutronix.de>
To: Matthias Brugger <matthias.bgg@gmail.com>
Cc: Greg KH <gregkh@linuxfoundation.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
linux-mediatek@lists.infradead.org, linux-serial@vger.kernel.org,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
Alan Cox <alan@linux.intel.com>
Subject: Re: [PATCH 1/4] tty: serial: 8250_mtk: Use devm_clk_get
Date: Mon, 27 Apr 2015 08:33:01 +0200 [thread overview]
Message-ID: <20150427063301.GW6325@pengutronix.de> (raw)
In-Reply-To: <CABuKBeLEui7ufMZ1=wz2kss4Q8yuK2VYt=wDWam6ZkCfd1G+7Q@mail.gmail.com>
On Fri, Apr 24, 2015 at 12:53:08PM +0200, Matthias Brugger wrote:
> 2015-04-24 12:31 GMT+02:00 Sascha Hauer <s.hauer@pengutronix.de>:
> > On Fri, Apr 24, 2015 at 12:28:33PM +0200, Matthias Brugger wrote:
> >> 2015-04-23 10:51 GMT+02:00 Sascha Hauer <s.hauer@pengutronix.de>:
> >> > Just because of_clk_get() doesn't mean it should be used. Use devm_clk_get
> >> > which is the correct function when a struct device * is available. Also
> >> > since it's a devm function we can drop the calls to clk_put(). While at
> >> > it also fix a wrong debug message.
> >> >
> >> > Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
> >> > ---
> >> > drivers/tty/serial/8250/8250_mtk.c | 7 ++-----
> >> > 1 file changed, 2 insertions(+), 5 deletions(-)
> >> >
> >> > diff --git a/drivers/tty/serial/8250/8250_mtk.c b/drivers/tty/serial/8250/8250_mtk.c
> >> > index 7a11fac..c6901dc 100644
> >> > --- a/drivers/tty/serial/8250/8250_mtk.c
> >> > +++ b/drivers/tty/serial/8250/8250_mtk.c
> >> > @@ -131,18 +131,16 @@ static int mtk8250_probe_of(struct platform_device *pdev, struct uart_port *p,
> >> > struct mtk8250_data *data)
> >> > {
> >> > int err;
> >> > - struct device_node *np = pdev->dev.of_node;
> >> >
> >> > - data->uart_clk = of_clk_get(np, 0);
> >> > + data->uart_clk = devm_clk_get(&pdev->dev, NULL);
> >> > if (IS_ERR(data->uart_clk)) {
> >> > - dev_warn(&pdev->dev, "Can't get timer clock\n");
> >> > + dev_warn(&pdev->dev, "Can't get uart clock\n");
> >> > return PTR_ERR(data->uart_clk);
> >> > }
> >> >
> >> > err = clk_prepare_enable(data->uart_clk);
> >> > if (err) {
> >> > dev_warn(&pdev->dev, "Can't prepare clock\n");
> >> > - clk_put(data->uart_clk);
> >> > return err;
> >> > }
> >> > p->uartclk = clk_get_rate(data->uart_clk);
> >> > @@ -216,7 +214,6 @@ static int mtk8250_remove(struct platform_device *pdev)
> >> > serial8250_unregister_port(data->line);
> >> > if (!IS_ERR(data->uart_clk)) {
> >> > clk_disable_unprepare(data->uart_clk);
> >> > - clk_put(data->uart_clk);
> >> > }
> >>
> >> Please delete the braces.
> >
> > The if() is removed completly in the next patch anyway.
>
> You are right. I propose to merge patch 2 and 3, so you get a clean code.
Patches 1 and 2 are different topics, I see no reason merging them. I
changed the order of the two patches, maybe this makes it better
readable.
> On the way, can you have a look on the commit message? For me it is
> not clear what you want to say.
Changed to:
When a struct device * is present clk_get should be used rather
than of_clk_get. Use the devm variant of this function to be able to
drop the clk_put in the error and remove pathes. While at it fix
a wrong error message.
Sascha
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
WARNING: multiple messages have this Message-ID (diff)
From: s.hauer@pengutronix.de (Sascha Hauer)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 1/4] tty: serial: 8250_mtk: Use devm_clk_get
Date: Mon, 27 Apr 2015 08:33:01 +0200 [thread overview]
Message-ID: <20150427063301.GW6325@pengutronix.de> (raw)
In-Reply-To: <CABuKBeLEui7ufMZ1=wz2kss4Q8yuK2VYt=wDWam6ZkCfd1G+7Q@mail.gmail.com>
On Fri, Apr 24, 2015 at 12:53:08PM +0200, Matthias Brugger wrote:
> 2015-04-24 12:31 GMT+02:00 Sascha Hauer <s.hauer@pengutronix.de>:
> > On Fri, Apr 24, 2015 at 12:28:33PM +0200, Matthias Brugger wrote:
> >> 2015-04-23 10:51 GMT+02:00 Sascha Hauer <s.hauer@pengutronix.de>:
> >> > Just because of_clk_get() doesn't mean it should be used. Use devm_clk_get
> >> > which is the correct function when a struct device * is available. Also
> >> > since it's a devm function we can drop the calls to clk_put(). While at
> >> > it also fix a wrong debug message.
> >> >
> >> > Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
> >> > ---
> >> > drivers/tty/serial/8250/8250_mtk.c | 7 ++-----
> >> > 1 file changed, 2 insertions(+), 5 deletions(-)
> >> >
> >> > diff --git a/drivers/tty/serial/8250/8250_mtk.c b/drivers/tty/serial/8250/8250_mtk.c
> >> > index 7a11fac..c6901dc 100644
> >> > --- a/drivers/tty/serial/8250/8250_mtk.c
> >> > +++ b/drivers/tty/serial/8250/8250_mtk.c
> >> > @@ -131,18 +131,16 @@ static int mtk8250_probe_of(struct platform_device *pdev, struct uart_port *p,
> >> > struct mtk8250_data *data)
> >> > {
> >> > int err;
> >> > - struct device_node *np = pdev->dev.of_node;
> >> >
> >> > - data->uart_clk = of_clk_get(np, 0);
> >> > + data->uart_clk = devm_clk_get(&pdev->dev, NULL);
> >> > if (IS_ERR(data->uart_clk)) {
> >> > - dev_warn(&pdev->dev, "Can't get timer clock\n");
> >> > + dev_warn(&pdev->dev, "Can't get uart clock\n");
> >> > return PTR_ERR(data->uart_clk);
> >> > }
> >> >
> >> > err = clk_prepare_enable(data->uart_clk);
> >> > if (err) {
> >> > dev_warn(&pdev->dev, "Can't prepare clock\n");
> >> > - clk_put(data->uart_clk);
> >> > return err;
> >> > }
> >> > p->uartclk = clk_get_rate(data->uart_clk);
> >> > @@ -216,7 +214,6 @@ static int mtk8250_remove(struct platform_device *pdev)
> >> > serial8250_unregister_port(data->line);
> >> > if (!IS_ERR(data->uart_clk)) {
> >> > clk_disable_unprepare(data->uart_clk);
> >> > - clk_put(data->uart_clk);
> >> > }
> >>
> >> Please delete the braces.
> >
> > The if() is removed completly in the next patch anyway.
>
> You are right. I propose to merge patch 2 and 3, so you get a clean code.
Patches 1 and 2 are different topics, I see no reason merging them. I
changed the order of the two patches, maybe this makes it better
readable.
> On the way, can you have a look on the commit message? For me it is
> not clear what you want to say.
Changed to:
When a struct device * is present clk_get should be used rather
than of_clk_get. Use the devm variant of this function to be able to
drop the clk_put in the error and remove pathes. While at it fix
a wrong error message.
Sascha
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
next prev parent reply other threads:[~2015-04-27 6:33 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-04-23 8:51 tty: serial: 8250_mtk: Add support for second clock Sascha Hauer
2015-04-23 8:51 ` Sascha Hauer
2015-04-23 8:51 ` Sascha Hauer
2015-04-23 8:51 ` [PATCH 1/4] tty: serial: 8250_mtk: Use devm_clk_get Sascha Hauer
2015-04-23 8:51 ` Sascha Hauer
2015-04-24 10:28 ` Matthias Brugger
2015-04-24 10:28 ` Matthias Brugger
2015-04-24 10:31 ` Sascha Hauer
2015-04-24 10:31 ` Sascha Hauer
2015-04-24 10:53 ` Matthias Brugger
2015-04-24 10:53 ` Matthias Brugger
2015-04-24 10:56 ` Matthias Brugger
2015-04-24 10:56 ` Matthias Brugger
2015-04-27 6:33 ` Sascha Hauer [this message]
2015-04-27 6:33 ` Sascha Hauer
[not found] ` <1429779066-21406-1-git-send-email-s.hauer-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2015-04-23 8:51 ` [PATCH 2/4] tty: serial: 8250_mtk: remove unnecessary test Sascha Hauer
2015-04-23 8:51 ` Sascha Hauer
2015-04-23 8:51 ` Sascha Hauer
2015-04-23 8:51 ` [PATCH 3/4] tty: serial: 8250_mtk: use pm_runtime callbacks for enabling Sascha Hauer
2015-04-23 8:51 ` Sascha Hauer
2015-04-23 8:51 ` [PATCH 4/4] tty: serial: 8250_mtk: Add support for bus clock Sascha Hauer
2015-04-23 8:51 ` Sascha Hauer
2015-04-24 11:18 ` Matthias Brugger
2015-04-24 11:18 ` Matthias Brugger
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=20150427063301.GW6325@pengutronix.de \
--to=s.hauer@pengutronix.de \
--cc=alan@linux.intel.com \
--cc=gregkh@linuxfoundation.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mediatek@lists.infradead.org \
--cc=linux-serial@vger.kernel.org \
--cc=matthias.bgg@gmail.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.