From ce916a446606795c26acc08595a6684a08a0c97b Mon Sep 17 00:00:00 2001 From: Timur Tabi Date: Mon, 2 Jun 2008 15:09:35 -0500 Subject: [PATCH] --- yaml --- r: 101631 b: refs/heads/master c: e026892c85571e12f11abffde5a90bcc704d663e h: refs/heads/master i: 101629: e5857aa108aee27f595f5133a77d23fa38480e55 101627: feeee18d0d114836acf8c9aebee5a4f8b60b7669 101623: d555e8d154767e3a9ea318d3085802fcbb786436 101615: c86298ffc0b15027e9c7b01cea18a54cab62b99d 101599: 2a003164317a0096f9fdfadbfebac949b1c315e8 101567: 25e295f6c32d55759e15bc32b853c2a78fef4f1a 101503: f4cb2de2c1285a70f3af2bedf68e333ca8a9ebe0 101375: 41a723b830c2f4f280881af8c8c3af3248bafbf8 v: v3 --- [refs] | 2 +- trunk/arch/powerpc/sysdev/fsl_soc.c | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 7979c01e61ee..22c55e36cbe9 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: fca622c5b21a259950a2964ceca7b6c2a23c849f +refs/heads/master: e026892c85571e12f11abffde5a90bcc704d663e diff --git a/trunk/arch/powerpc/sysdev/fsl_soc.c b/trunk/arch/powerpc/sysdev/fsl_soc.c index 167523e9e41c..14616d5d12d5 100644 --- a/trunk/arch/powerpc/sysdev/fsl_soc.c +++ b/trunk/arch/powerpc/sysdev/fsl_soc.c @@ -496,6 +496,8 @@ static int __init fsl_i2c_of_init(void) struct resource r[2]; struct fsl_i2c_platform_data i2c_data; const unsigned char *flags = NULL; + int idx; + const u32 *iprop; memset(&r, 0, sizeof(r)); memset(&i2c_data, 0, sizeof(i2c_data)); @@ -506,7 +508,10 @@ static int __init fsl_i2c_of_init(void) of_irq_to_resource(np, 0, &r[1]); - i2c_dev = platform_device_register_simple("fsl-i2c", i, r, 2); + iprop = of_get_property(np, "cell-index", NULL); + idx = iprop ? *iprop : i; + + i2c_dev = platform_device_register_simple("fsl-i2c", idx, r, 2); if (IS_ERR(i2c_dev)) { ret = PTR_ERR(i2c_dev); goto err; @@ -528,7 +533,8 @@ static int __init fsl_i2c_of_init(void) if (ret) goto unreg; - of_register_i2c_devices(np, i++); + of_register_i2c_devices(np, idx); + i++; } return 0;