* [PATCH] serial: 8250_dw: add support for clk api
2013-03-19 10:35 [PATCH 1/7] " Maxime Ripard
@ 2013-03-19 10:52 ` Maxime Ripard
2013-03-21 8:47 ` Heikki Krogerus
0 siblings, 1 reply; 8+ messages in thread
From: Maxime Ripard @ 2013-03-19 10:52 UTC (permalink / raw)
To: linux-arm-kernel
Cc: kevin, sunny, shuge, linux-serial, Emilio López,
Greg Kroah-Hartman, Jiri Slaby, linux-kernel
From: Emilio López <emilio@elopez.com.ar>
This commit implements support for using the clk api; this lets us use
the "clocks" property with device tree, instead of having to use
clock-frequency.
Signed-off-by: Emilio López <emilio@elopez.com.ar>
---
drivers/tty/serial/8250/8250_dw.c | 33 ++++++++++++++++++++++++---------
1 file changed, 24 insertions(+), 9 deletions(-)
diff --git a/drivers/tty/serial/8250/8250_dw.c b/drivers/tty/serial/8250/8250_dw.c
index db0e66f..3dedd24 100644
--- a/drivers/tty/serial/8250/8250_dw.c
+++ b/drivers/tty/serial/8250/8250_dw.c
@@ -26,6 +26,7 @@
#include <linux/platform_device.h>
#include <linux/slab.h>
#include <linux/acpi.h>
+#include <linux/clk.h>
#include "8250.h"
@@ -55,8 +56,9 @@
struct dw8250_data {
- int last_lcr;
- int line;
+ int last_lcr;
+ int line;
+ struct clk *clk;
};
static void dw8250_serial_out(struct uart_port *p, int offset, int value)
@@ -136,8 +138,13 @@ static int dw8250_probe_of(struct uart_port *p)
if (!of_property_read_u32(np, "reg-shift", &val))
p->regshift = val;
+ /* clock got configured through clk api, all done */
+ if (p->uartclk)
+ return 0;
+
+ /* try to find out clock frequency from DT as fallback */
if (of_property_read_u32(np, "clock-frequency", &val)) {
- dev_err(p->dev, "no clock-frequency property set\n");
+ dev_err(p->dev, "clk or clock-frequency not defined\n");
return -EINVAL;
}
p->uartclk = val;
@@ -294,9 +301,20 @@ static int dw8250_probe(struct platform_device *pdev)
if (!uart.port.membase)
return -ENOMEM;
+ data = devm_kzalloc(&pdev->dev, sizeof(*data), GFP_KERNEL);
+ if (!data)
+ return -ENOMEM;
+
+ data->clk = devm_clk_get(&pdev->dev, NULL);
+ if (!IS_ERR(data->clk)) {
+ clk_prepare_enable(data->clk);
+ uart.port.uartclk = clk_get_rate(data->clk);
+ }
+
uart.port.iotype = UPIO_MEM;
uart.port.serial_in = dw8250_serial_in;
uart.port.serial_out = dw8250_serial_out;
+ uart.port.private_data = data;
dw8250_setup_port(&uart);
@@ -312,12 +330,6 @@ static int dw8250_probe(struct platform_device *pdev)
return -ENODEV;
}
- data = devm_kzalloc(&pdev->dev, sizeof(*data), GFP_KERNEL);
- if (!data)
- return -ENOMEM;
-
- uart.port.private_data = data;
-
data->line = serial8250_register_8250_port(&uart);
if (data->line < 0)
return data->line;
@@ -333,6 +345,9 @@ static int dw8250_remove(struct platform_device *pdev)
serial8250_unregister_port(data->line);
+ if (!IS_ERR(data->clk))
+ clk_disable_unprepare(data->clk);
+
return 0;
}
--
1.7.10.4
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH] serial: 8250_dw: add support for clk api
2013-03-19 10:52 ` [PATCH] " Maxime Ripard
@ 2013-03-21 8:47 ` Heikki Krogerus
2013-03-26 10:35 ` Maxime Ripard
0 siblings, 1 reply; 8+ messages in thread
From: Heikki Krogerus @ 2013-03-21 8:47 UTC (permalink / raw)
To: Maxime Ripard
Cc: linux-arm-kernel, kevin, sunny, shuge, linux-serial,
Emilio López, Greg Kroah-Hartman, Jiri Slaby, linux-kernel
On Tue, Mar 19, 2013 at 11:52:49AM +0100, Maxime Ripard wrote:
> From: Emilio López <emilio@elopez.com.ar>
>
> This commit implements support for using the clk api; this lets us use
> the "clocks" property with device tree, instead of having to use
> clock-frequency.
>
> Signed-off-by: Emilio López <emilio@elopez.com.ar>
FWIW,
Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
--
heikki
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] serial: 8250_dw: add support for clk api
2013-03-21 8:47 ` Heikki Krogerus
@ 2013-03-26 10:35 ` Maxime Ripard
2013-03-26 23:34 ` Greg Kroah-Hartman
0 siblings, 1 reply; 8+ messages in thread
From: Maxime Ripard @ 2013-03-26 10:35 UTC (permalink / raw)
To: Greg Kroah-Hartman
Cc: Heikki Krogerus, linux-arm-kernel, kevin, sunny, shuge,
linux-serial, Emilio López, Jiri Slaby, linux-kernel
Hi Greg,
Le 21/03/2013 09:47, Heikki Krogerus a écrit :
> On Tue, Mar 19, 2013 at 11:52:49AM +0100, Maxime Ripard wrote:
>> From: Emilio López <emilio@elopez.com.ar>
>>
>> This commit implements support for using the clk api; this lets us use
>> the "clocks" property with device tree, instead of having to use
>> clock-frequency.
>>
>> Signed-off-by: Emilio López <emilio@elopez.com.ar>
>
> FWIW,
>
> Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Would you consider merging this patch, or do you have additional comments?
We have several patch series that depends on this one that I'd like to
see included in 3.10, and we begin to see the end of the 3.9 release cycle.
Thanks,
Maxime
--
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] serial: 8250_dw: add support for clk api
2013-03-26 10:35 ` Maxime Ripard
@ 2013-03-26 23:34 ` Greg Kroah-Hartman
0 siblings, 0 replies; 8+ messages in thread
From: Greg Kroah-Hartman @ 2013-03-26 23:34 UTC (permalink / raw)
To: Maxime Ripard
Cc: Heikki Krogerus, linux-arm-kernel, kevin, sunny, shuge,
linux-serial, Emilio López, Jiri Slaby, linux-kernel
On Tue, Mar 26, 2013 at 11:35:18AM +0100, Maxime Ripard wrote:
> Hi Greg,
>
> Le 21/03/2013 09:47, Heikki Krogerus a écrit :
> > On Tue, Mar 19, 2013 at 11:52:49AM +0100, Maxime Ripard wrote:
> >> From: Emilio López <emilio@elopez.com.ar>
> >>
> >> This commit implements support for using the clk api; this lets us use
> >> the "clocks" property with device tree, instead of having to use
> >> clock-frequency.
> >>
> >> Signed-off-by: Emilio López <emilio@elopez.com.ar>
> >
> > FWIW,
> >
> > Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
>
> Would you consider merging this patch, or do you have additional comments?
>
> We have several patch series that depends on this one that I'd like to
> see included in 3.10, and we begin to see the end of the 3.9 release cycle.
You resent one patch, in the middle of a 7 patch series, with me on the
cc: and somehow expected me to know that I was supposed to apply it?
Please be specific and realistic with your requests.
Resend it if you feel I should apply it.
greg k-h
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH] serial: 8250_dw: add support for clk api
@ 2013-03-27 12:35 Maxime Ripard
2013-03-28 23:03 ` Greg Kroah-Hartman
0 siblings, 1 reply; 8+ messages in thread
From: Maxime Ripard @ 2013-03-27 12:35 UTC (permalink / raw)
To: Greg Kroah-Hartman
Cc: Emilio López, Jiri Slaby, linux-serial, linux-kernel
From: Emilio López <emilio@elopez.com.ar>
This commit implements support for using the clk api; this lets us use
the "clocks" property with device tree, instead of having to use
clock-frequency.
Signed-off-by: Emilio López <emilio@elopez.com.ar>
---
drivers/tty/serial/8250/8250_dw.c | 33 ++++++++++++++++++++++++---------
1 file changed, 24 insertions(+), 9 deletions(-)
diff --git a/drivers/tty/serial/8250/8250_dw.c b/drivers/tty/serial/8250/8250_dw.c
index db0e66f..3dedd24 100644
--- a/drivers/tty/serial/8250/8250_dw.c
+++ b/drivers/tty/serial/8250/8250_dw.c
@@ -26,6 +26,7 @@
#include <linux/platform_device.h>
#include <linux/slab.h>
#include <linux/acpi.h>
+#include <linux/clk.h>
#include "8250.h"
@@ -55,8 +56,9 @@
struct dw8250_data {
- int last_lcr;
- int line;
+ int last_lcr;
+ int line;
+ struct clk *clk;
};
static void dw8250_serial_out(struct uart_port *p, int offset, int value)
@@ -136,8 +138,13 @@ static int dw8250_probe_of(struct uart_port *p)
if (!of_property_read_u32(np, "reg-shift", &val))
p->regshift = val;
+ /* clock got configured through clk api, all done */
+ if (p->uartclk)
+ return 0;
+
+ /* try to find out clock frequency from DT as fallback */
if (of_property_read_u32(np, "clock-frequency", &val)) {
- dev_err(p->dev, "no clock-frequency property set\n");
+ dev_err(p->dev, "clk or clock-frequency not defined\n");
return -EINVAL;
}
p->uartclk = val;
@@ -294,9 +301,20 @@ static int dw8250_probe(struct platform_device *pdev)
if (!uart.port.membase)
return -ENOMEM;
+ data = devm_kzalloc(&pdev->dev, sizeof(*data), GFP_KERNEL);
+ if (!data)
+ return -ENOMEM;
+
+ data->clk = devm_clk_get(&pdev->dev, NULL);
+ if (!IS_ERR(data->clk)) {
+ clk_prepare_enable(data->clk);
+ uart.port.uartclk = clk_get_rate(data->clk);
+ }
+
uart.port.iotype = UPIO_MEM;
uart.port.serial_in = dw8250_serial_in;
uart.port.serial_out = dw8250_serial_out;
+ uart.port.private_data = data;
dw8250_setup_port(&uart);
@@ -312,12 +330,6 @@ static int dw8250_probe(struct platform_device *pdev)
return -ENODEV;
}
- data = devm_kzalloc(&pdev->dev, sizeof(*data), GFP_KERNEL);
- if (!data)
- return -ENOMEM;
-
- uart.port.private_data = data;
-
data->line = serial8250_register_8250_port(&uart);
if (data->line < 0)
return data->line;
@@ -333,6 +345,9 @@ static int dw8250_remove(struct platform_device *pdev)
serial8250_unregister_port(data->line);
+ if (!IS_ERR(data->clk))
+ clk_disable_unprepare(data->clk);
+
return 0;
}
--
1.7.10.4
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH] serial: 8250_dw: add support for clk api
2013-03-27 12:35 [PATCH] serial: 8250_dw: add support for clk api Maxime Ripard
@ 2013-03-28 23:03 ` Greg Kroah-Hartman
2013-03-28 23:06 ` Maxime Ripard
0 siblings, 1 reply; 8+ messages in thread
From: Greg Kroah-Hartman @ 2013-03-28 23:03 UTC (permalink / raw)
To: Maxime Ripard; +Cc: Emilio López, Jiri Slaby, linux-serial, linux-kernel
On Wed, Mar 27, 2013 at 01:35:48PM +0100, Maxime Ripard wrote:
> From: Emilio López <emilio@elopez.com.ar>
>
> This commit implements support for using the clk api; this lets us use
> the "clocks" property with device tree, instead of having to use
> clock-frequency.
>
> Signed-off-by: Emilio López <emilio@elopez.com.ar>
> ---
Why aren't you signing off on this patch as well?
greg k-h
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] serial: 8250_dw: add support for clk api
2013-03-28 23:03 ` Greg Kroah-Hartman
@ 2013-03-28 23:06 ` Maxime Ripard
2013-03-28 23:09 ` Greg Kroah-Hartman
0 siblings, 1 reply; 8+ messages in thread
From: Maxime Ripard @ 2013-03-28 23:06 UTC (permalink / raw)
To: Greg Kroah-Hartman
Cc: Emilio López, Jiri Slaby, linux-serial, linux-kernel
Hi Greg,
Le 29/03/2013 00:03, Greg Kroah-Hartman a écrit :
> On Wed, Mar 27, 2013 at 01:35:48PM +0100, Maxime Ripard wrote:
>> From: Emilio López <emilio@elopez.com.ar>
>>
>> This commit implements support for using the clk api; this lets us use
>> the "clocks" property with device tree, instead of having to use
>> clock-frequency.
>>
>> Signed-off-by: Emilio López <emilio@elopez.com.ar>
>> ---
>
> Why aren't you signing off on this patch as well?
Hmm, I forgot to do so, and no one pointed that one before. Sorry.
Do you want me to resend it with my SoB?
Maxime
--
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] serial: 8250_dw: add support for clk api
2013-03-28 23:06 ` Maxime Ripard
@ 2013-03-28 23:09 ` Greg Kroah-Hartman
0 siblings, 0 replies; 8+ messages in thread
From: Greg Kroah-Hartman @ 2013-03-28 23:09 UTC (permalink / raw)
To: Maxime Ripard; +Cc: Emilio López, Jiri Slaby, linux-serial, linux-kernel
On Fri, Mar 29, 2013 at 12:06:52AM +0100, Maxime Ripard wrote:
> Hi Greg,
>
> Le 29/03/2013 00:03, Greg Kroah-Hartman a écrit :
> > On Wed, Mar 27, 2013 at 01:35:48PM +0100, Maxime Ripard wrote:
> >> From: Emilio López <emilio@elopez.com.ar>
> >>
> >> This commit implements support for using the clk api; this lets us use
> >> the "clocks" property with device tree, instead of having to use
> >> clock-frequency.
> >>
> >> Signed-off-by: Emilio López <emilio@elopez.com.ar>
> >> ---
> >
> > Why aren't you signing off on this patch as well?
>
> Hmm, I forgot to do so, and no one pointed that one before. Sorry.
>
> Do you want me to resend it with my SoB?
Yes, please do.
thanks,
greg k-h
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2013-03-28 23:09 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-03-27 12:35 [PATCH] serial: 8250_dw: add support for clk api Maxime Ripard
2013-03-28 23:03 ` Greg Kroah-Hartman
2013-03-28 23:06 ` Maxime Ripard
2013-03-28 23:09 ` Greg Kroah-Hartman
-- strict thread matches above, loose matches on Subject: below --
2013-03-19 10:35 [PATCH 1/7] " Maxime Ripard
2013-03-19 10:52 ` [PATCH] " Maxime Ripard
2013-03-21 8:47 ` Heikki Krogerus
2013-03-26 10:35 ` Maxime Ripard
2013-03-26 23:34 ` Greg Kroah-Hartman
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox