[PATCH] i2c: imx: use of_alias_get_id to order i2c devices

Shawn Guo shawn.guo at linaro.org
Fri Apr 12 11:49:39 EST 2013


On Tue, Apr 09, 2013 at 07:09:39PM +0200, Philipp Zabel wrote:
> This allows to order i2c character devices as they are numbered
> in the reference manual, instead of ordering them by register
> base address.
> 
> Signed-off-by: Philipp Zabel <p.zabel at pengutronix.de>

I'm fine with the patch, but let's see if DT maintainers have an
opinion.

Shawn

> ---
>  drivers/i2c/busses/i2c-imx.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/i2c/busses/i2c-imx.c b/drivers/i2c/busses/i2c-imx.c
> index 82f20c6..e5a3f08 100644
> --- a/drivers/i2c/busses/i2c-imx.c
> +++ b/drivers/i2c/busses/i2c-imx.c
> @@ -488,6 +488,7 @@ static struct i2c_algorithm i2c_imx_algo = {
>  
>  static int __init i2c_imx_probe(struct platform_device *pdev)
>  {
> +	struct device_node *np = pdev->dev.of_node;
>  	const struct of_device_id *of_id = of_match_device(i2c_imx_dt_ids,
>  							   &pdev->dev);
>  	struct imx_i2c_struct *i2c_imx;
> @@ -531,7 +532,7 @@ static int __init i2c_imx_probe(struct platform_device *pdev)
>  	i2c_imx->adapter.owner		= THIS_MODULE;
>  	i2c_imx->adapter.algo		= &i2c_imx_algo;
>  	i2c_imx->adapter.dev.parent	= &pdev->dev;
> -	i2c_imx->adapter.nr 		= pdev->id;
> +	i2c_imx->adapter.nr		= (pdev->id < 0) ? of_alias_get_id(np, "i2c") : pdev->id;
>  	i2c_imx->adapter.dev.of_node	= pdev->dev.of_node;
>  	i2c_imx->base			= base;
>  
> -- 
> 1.8.2.rc2
> 



More information about the devicetree-discuss mailing list