From: Grant Likely <grant.likely@secretlab.ca>
To: linux-serial@vger.kernel.org, linux-kernel@vger.kernel.org
Cc: Vineet Gupta <Vineet.Gupta1@synopsys.com>,
Arnd Bergmann <arnd@arndb.de>, Alan Cox <alan@linux.intel.com>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
devicetree-discuss@lists.ozlabs.org,
Rob Herring <rob.herring@calxeda.com>,
Rob Landley <rob@landley.net>
Subject: Re: [PATCH 4/4] serial/arc-uart: switch to devicetree based probing
Date: Fri, 08 Feb 2013 23:01:27 +0000 [thread overview]
Message-ID: <20130208230127.5F3063E2C27@localhost> (raw)
In-Reply-To: <1357885223-19243-5-git-send-email-vgupta@synopsys.com>
On Fri, 11 Jan 2013 11:50:23 +0530, Vineet Gupta <Vineet.Gupta1@synopsys.com> wrote:
> * DT binding for arc-uart
> * With alll the bits in place we can now use DT probing.
>
> Note that there's a bit of kludge right now because earlyprintk portion
> of driver can't use the DT infrastrcuture to get resoures/plat_data.
> This requires some infrastructre changes to of_flat_ framework
>
> Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
> Cc: Grant Likely <grant.likely@secretlab.ca>
> Cc: Arnd Bergmann <arnd@arndb.de>
> Cc: linux-serial@vger.kernel.org
> Cc: Alan Cox <alan@linux.intel.com>
> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> Cc: devicetree-discuss@lists.ozlabs.org
> Cc: Rob Herring <rob.herring@calxeda.com>
> Cc: Rob Landley <rob@landley.net>
> Cc: linux-serial@vger.kernel.org
> ---
> .../devicetree/bindings/tty/serial/arc-uart.txt | 26 ++++++++++++
> drivers/tty/serial/arc_uart.c | 43 ++++++++++++++++++-
> 2 files changed, 66 insertions(+), 3 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/tty/serial/arc-uart.txt
>
> diff --git a/Documentation/devicetree/bindings/tty/serial/arc-uart.txt b/Documentation/devicetree/bindings/tty/serial/arc-uart.txt
> new file mode 100644
> index 0000000..c3bd8f9
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/tty/serial/arc-uart.txt
> @@ -0,0 +1,26 @@
> +* Synopsys ARC UART : Non standard UART used in some of the ARC FPGA boards
> +
> +Required properties:
> +- compatible : "snps,arc-uart"
> +- reg : offset and length of the register set for the device.
> +- interrupts : device interrupt
> +- clock-frequency : the input clock frequency for the UART
> +- baud : baud rate for UART
change 'baud' to 'current-speed'. There is already precedence for this
with other serial devices.
g.
> @@ -673,8 +693,18 @@ static int __init arc_serial_probe_earlyprintk(struct platform_device *pdev)
> static int arc_serial_probe(struct platform_device *pdev)
> {
> int rc, dev_id;
> + struct device_node *np = pdev->dev.of_node;
> +
> + /* no device tree device */
> + if (!np)
> + return -ENODEV;
This breaks non-DT users. Is this what you intend? It creates a flag day
where users have to switch from non-DT to DT cold-turkey.
> + dev_id = of_alias_get_id(np, "serial");
> + if (dev_id < 0) {
> + dev_err(&pdev->dev, "failed to get alias id: %d\n", dev_id);
> + return dev_id;
> + }
Don't fail on this. If you can't get an id then choose one dynamically.
>
> - dev_id = pdev->id < 0 ? 0 : pdev->id;
> rc = arc_uart_init_one(pdev, dev_id);
> if (rc)
> return rc;
> @@ -689,12 +719,19 @@ static int arc_serial_remove(struct platform_device *pdev)
> return 0;
> }
>
> +static const struct of_device_id arc_uart_dt_ids[] = {
> + { .compatible = "snps,arc-uart" },
> + { /* Sentinel */ }
> +};
> +MODULE_DEVICE_TABLE(of, arc_uart_dt_ids);
> +
> static struct platform_driver arc_platform_driver = {
> .probe = arc_serial_probe,
> .remove = arc_serial_remove,
> .driver = {
> .name = DRIVER_NAME,
> .owner = THIS_MODULE,
> + .of_match_table = arc_uart_dt_ids,
> },
> };
>
> --
> 1.7.4.1
>
--
Grant Likely, B.Sc, P.Eng.
Secret Lab Technologies, Ltd.
WARNING: multiple messages have this Message-ID (diff)
From: Grant Likely <grant.likely@secretlab.ca>
To: Vineet Gupta <Vineet.Gupta1@synopsys.com>,
linux-serial@vger.kernel.org, linux-kernel@vger.kernel.org
Cc: Vineet Gupta <Vineet.Gupta1@synopsys.com>,
Arnd Bergmann <arnd@arndb.de>, Alan Cox <alan@linux.intel.com>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
devicetree-discuss@lists.ozlabs.org,
Rob Herring <rob.herring@calxeda.com>,
Rob Landley <rob@landley.net>
Subject: Re: [PATCH 4/4] serial/arc-uart: switch to devicetree based probing
Date: Fri, 08 Feb 2013 23:01:27 +0000 [thread overview]
Message-ID: <20130208230127.5F3063E2C27@localhost> (raw)
In-Reply-To: <1357885223-19243-5-git-send-email-vgupta@synopsys.com>
On Fri, 11 Jan 2013 11:50:23 +0530, Vineet Gupta <Vineet.Gupta1@synopsys.com> wrote:
> * DT binding for arc-uart
> * With alll the bits in place we can now use DT probing.
>
> Note that there's a bit of kludge right now because earlyprintk portion
> of driver can't use the DT infrastrcuture to get resoures/plat_data.
> This requires some infrastructre changes to of_flat_ framework
>
> Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
> Cc: Grant Likely <grant.likely@secretlab.ca>
> Cc: Arnd Bergmann <arnd@arndb.de>
> Cc: linux-serial@vger.kernel.org
> Cc: Alan Cox <alan@linux.intel.com>
> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> Cc: devicetree-discuss@lists.ozlabs.org
> Cc: Rob Herring <rob.herring@calxeda.com>
> Cc: Rob Landley <rob@landley.net>
> Cc: linux-serial@vger.kernel.org
> ---
> .../devicetree/bindings/tty/serial/arc-uart.txt | 26 ++++++++++++
> drivers/tty/serial/arc_uart.c | 43 ++++++++++++++++++-
> 2 files changed, 66 insertions(+), 3 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/tty/serial/arc-uart.txt
>
> diff --git a/Documentation/devicetree/bindings/tty/serial/arc-uart.txt b/Documentation/devicetree/bindings/tty/serial/arc-uart.txt
> new file mode 100644
> index 0000000..c3bd8f9
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/tty/serial/arc-uart.txt
> @@ -0,0 +1,26 @@
> +* Synopsys ARC UART : Non standard UART used in some of the ARC FPGA boards
> +
> +Required properties:
> +- compatible : "snps,arc-uart"
> +- reg : offset and length of the register set for the device.
> +- interrupts : device interrupt
> +- clock-frequency : the input clock frequency for the UART
> +- baud : baud rate for UART
change 'baud' to 'current-speed'. There is already precedence for this
with other serial devices.
g.
> @@ -673,8 +693,18 @@ static int __init arc_serial_probe_earlyprintk(struct platform_device *pdev)
> static int arc_serial_probe(struct platform_device *pdev)
> {
> int rc, dev_id;
> + struct device_node *np = pdev->dev.of_node;
> +
> + /* no device tree device */
> + if (!np)
> + return -ENODEV;
This breaks non-DT users. Is this what you intend? It creates a flag day
where users have to switch from non-DT to DT cold-turkey.
> + dev_id = of_alias_get_id(np, "serial");
> + if (dev_id < 0) {
> + dev_err(&pdev->dev, "failed to get alias id: %d\n", dev_id);
> + return dev_id;
> + }
Don't fail on this. If you can't get an id then choose one dynamically.
>
> - dev_id = pdev->id < 0 ? 0 : pdev->id;
> rc = arc_uart_init_one(pdev, dev_id);
> if (rc)
> return rc;
> @@ -689,12 +719,19 @@ static int arc_serial_remove(struct platform_device *pdev)
> return 0;
> }
>
> +static const struct of_device_id arc_uart_dt_ids[] = {
> + { .compatible = "snps,arc-uart" },
> + { /* Sentinel */ }
> +};
> +MODULE_DEVICE_TABLE(of, arc_uart_dt_ids);
> +
> static struct platform_driver arc_platform_driver = {
> .probe = arc_serial_probe,
> .remove = arc_serial_remove,
> .driver = {
> .name = DRIVER_NAME,
> .owner = THIS_MODULE,
> + .of_match_table = arc_uart_dt_ids,
> },
> };
>
> --
> 1.7.4.1
>
--
Grant Likely, B.Sc, P.Eng.
Secret Lab Technologies, Ltd.
next prev parent reply other threads:[~2013-02-08 23:01 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-01-11 6:20 [PATCH 0/4] switch arc-uart to devicetree based probing Vineet Gupta
2013-01-11 6:20 ` Vineet Gupta
2013-01-11 6:20 ` [PATCH 1/4] serial/arc-uart: Don't index with -ve platform_device->id Vineet Gupta
2013-01-11 6:20 ` Vineet Gupta
2013-01-11 6:20 ` [PATCH 2/4] serial/arc-uart: split probe from probe_earlyprintk Vineet Gupta
2013-01-11 6:20 ` Vineet Gupta
2013-01-11 6:20 ` [PATCH 3/4] serial/arc-uart: platform_data order changed Vineet Gupta
2013-01-11 6:20 ` Vineet Gupta
2013-01-11 6:20 ` [PATCH 4/4] serial/arc-uart: switch to devicetree based probing Vineet Gupta
2013-01-11 6:20 ` Vineet Gupta
2013-01-11 11:33 ` Arnd Bergmann
2013-01-11 11:55 ` Vineet Gupta
2013-01-11 11:55 ` Vineet Gupta
2013-01-11 20:17 ` Arnd Bergmann
2013-02-08 23:01 ` Grant Likely [this message]
2013-02-08 23:01 ` Grant Likely
2013-02-09 6:45 ` Vineet Gupta
2013-02-09 6:45 ` Vineet Gupta
2013-02-09 9:28 ` Arnd Bergmann
2013-02-11 8:41 ` [PATCH] serial/arc-uart: Urgent DT related update Vineet Gupta
2013-02-11 8:41 ` [PATCH] serial/arc-uart: Miscll DT related updates (Grant's review comments) Vineet Gupta
2013-02-11 8:41 ` Vineet Gupta
2013-02-13 12:37 ` [PATCH] serial/arc-uart: Urgent DT related update Vineet Gupta
2013-02-13 16:38 ` Greg Kroah-Hartman
2013-02-14 5:55 ` Vineet Gupta
2013-02-14 17:23 ` Greg Kroah-Hartman
2013-02-13 20:47 ` [PATCH 4/4] serial/arc-uart: switch to devicetree based probing Grant Likely
2013-01-16 6:16 ` [PATCH 0/4] switch arc-uart " Greg KH
2013-01-16 6:16 ` Vineet Gupta
2013-01-16 6:16 ` Vineet Gupta
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=20130208230127.5F3063E2C27@localhost \
--to=grant.likely@secretlab.ca \
--cc=Vineet.Gupta1@synopsys.com \
--cc=alan@linux.intel.com \
--cc=arnd@arndb.de \
--cc=devicetree-discuss@lists.ozlabs.org \
--cc=gregkh@linuxfoundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-serial@vger.kernel.org \
--cc=rob.herring@calxeda.com \
--cc=rob@landley.net \
/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.