diff mbox

serial/imx: add of_alias_get_id() reference back

Message ID 1316674093-14802-1-git-send-email-shawn.guo@linaro.org
State New
Headers show

Commit Message

Shawn Guo Sept. 22, 2011, 6:48 a.m. UTC
As of_alias_get_id() gets fixed and ready for use, the patch adds the
of_alias_get_id() reference back to imx serial driver.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
---
 drivers/tty/serial/imx.c |   13 +++++++++----
 1 files changed, 9 insertions(+), 4 deletions(-)

Comments

Grant Likely Sept. 22, 2011, 5:20 p.m. UTC | #1
On Thu, Sep 22, 2011 at 02:48:13PM +0800, Shawn Guo wrote:
> As of_alias_get_id() gets fixed and ready for use, the patch adds the
> of_alias_get_id() reference back to imx serial driver.
> 
> Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
> ---
>  drivers/tty/serial/imx.c |   13 +++++++++----
>  1 files changed, 9 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/tty/serial/imx.c b/drivers/tty/serial/imx.c
> index 4a36470..b550cff 100644
> --- a/drivers/tty/serial/imx.c
> +++ b/drivers/tty/serial/imx.c
> @@ -1318,17 +1318,22 @@ static int serial_imx_resume(struct platform_device *dev)
>  static int serial_imx_probe_dt(struct imx_port *sport,
>  		struct platform_device *pdev)
>  {
> -	static int portnum = 0;
>  	struct device_node *np = pdev->dev.of_node;
>  	const struct of_device_id *of_id =
>  			of_match_device(imx_uart_dt_ids, &pdev->dev);
> +	int ret;
>  
>  	if (!np)
>  		return -ENODEV;
>  
> -	sport->port.line = portnum++;
> -	if (sport->port.line >= UART_NR)
> -		return -EINVAL;
> +	ret = of_alias_get_id(np, "serial");
> +	if (ret < 0) {
> +		pr_err("%s: failed to get alias id, errno %d\n",
> +			__func__, ret);

Should really be using dev_err();

> +		return -ENODEV;
> +	} else {
> +		sport->port.line = ret;
> +	}

The 'else' is unnecessary.  I've removed it.

Merged, thanks.

g.

>  
>  	if (of_get_property(np, "fsl,uart-has-rtscts", NULL))
>  		sport->have_rtscts = 1;
> -- 
> 1.7.4.1
> 
>
diff mbox

Patch

diff --git a/drivers/tty/serial/imx.c b/drivers/tty/serial/imx.c
index 4a36470..b550cff 100644
--- a/drivers/tty/serial/imx.c
+++ b/drivers/tty/serial/imx.c
@@ -1318,17 +1318,22 @@  static int serial_imx_resume(struct platform_device *dev)
 static int serial_imx_probe_dt(struct imx_port *sport,
 		struct platform_device *pdev)
 {
-	static int portnum = 0;
 	struct device_node *np = pdev->dev.of_node;
 	const struct of_device_id *of_id =
 			of_match_device(imx_uart_dt_ids, &pdev->dev);
+	int ret;
 
 	if (!np)
 		return -ENODEV;
 
-	sport->port.line = portnum++;
-	if (sport->port.line >= UART_NR)
-		return -EINVAL;
+	ret = of_alias_get_id(np, "serial");
+	if (ret < 0) {
+		pr_err("%s: failed to get alias id, errno %d\n",
+			__func__, ret);
+		return -ENODEV;
+	} else {
+		sport->port.line = ret;
+	}
 
 	if (of_get_property(np, "fsl,uart-has-rtscts", NULL))
 		sport->have_rtscts = 1;