[PATCH 7/7] serial: samsung: Get default port register settings from device tree
Grant Likely
grant.likely at secretlab.ca
Fri Feb 18 03:56:08 EST 2011
On Thu, Feb 17, 2011 at 7:09 AM, Thomas Abraham
<thomas.abraham at linaro.org> wrote:
> Hi Grant,
>
> On 17 February 2011 05:56, Grant Likely <grant.likely at secretlab.ca> wrote:
>> On Sat, Feb 12, 2011 at 06:17:05PM +0530, Thomas Abraham wrote:
>>> The default uart port register settings are obtained from the platform data.
>>> In addition to that, this patch adds support for obtaining the default uart port
>>> register values from the uart node in device tree.
>>>
>>> Signed-off-by: Thomas Abraham <thomas.abraham at linaro.org>
>>> ---
>>> drivers/tty/serial/samsung.c | 13 +++++++++++++
>>> 1 files changed, 13 insertions(+), 0 deletions(-)
>>>
>>> diff --git a/drivers/tty/serial/samsung.c b/drivers/tty/serial/samsung.c
>>> index 66fece9..dda1d52 100644
>>> --- a/drivers/tty/serial/samsung.c
>>> +++ b/drivers/tty/serial/samsung.c
>>> @@ -1148,9 +1148,22 @@ int s3c24xx_serial_probe(struct platform_device *dev,
>>> {
>>> struct s3c24xx_uart_port *ourport;
>>> int ret;
>>> + unsigned int len, *regdef;
>>> + struct s3c2410_uartcfg *cfg;
>>>
>>> dbg("s3c24xx_serial_probe(%p, %p) %d\n", dev, info, probe_index);
>>>
>>> + if (dev->dev.of_node) {
>>> + regdef = (u32 *)of_get_property(dev->dev.of_node,
>>> + "reg-defaults", &len);
>>> + if (regdef && (len / sizeof(unsigned int)) == 3) {
>>> + cfg = s3c24xx_dev_to_cfg(&dev->dev);
>>> + cfg->ucon = be32_to_cpu(regdef[0]);
>>> + cfg->ulcon = be32_to_cpu(regdef[1]);
>>> + cfg->ufcon = be32_to_cpu(regdef[2]);
>>> + }
>>> + }
>>> +
>>
>> Same comment as before, per-uart configuration belongs in each ports
>> device tree node.
>
> The above configuration is obtained from the uart device tree node
> (dev->dev.of_node).
Sorry for the noise, I wasn't paying enough attention here and I got confused.
g.
More information about the devicetree-discuss
mailing list