Re: [PATCH 9/13] powerpc: Add arch/powerpc mv64x60 I2C platform data setup
From:
Date: 2007-05-03 13:47:57
On Thu, May 03, 2007 at 08:53:17AM +0200, Arnd Bergmann wrote:
On Wednesday 02 May 2007, Dale Farnsworth wrote:quoted
+???????static int called_count; +???????int instance = called_count++;I would think it's simpler to count the instances in the outer loop when looking for the devices than having a static counter here.
Maybe. I did it with passing an outer counter in a previous incarnation. I'll look at it again.
quoted
+ pdev = platform_device_register_simple(MV64XXX_I2C_CTLR_NAME, + instance, r, 2); + if (IS_ERR(pdev)) + return PTR_ERR(pdev); + + err = platform_device_add_data(pdev, &pdata, sizeof(pdata)); + if (err) { + platform_device_unregister(pdev); + return err;Doing the initialization in this order means that you have to add the devices before the driver is loaded. I haven't checked if you do the same thing in the oder places as well, but I think it would be better to do it open coded like pdev = platform_device_alloc(MV64XXX_I2C_CTLR_NAME, instance); if (!pdev) return -ENOMEM; err = platform_device_add_resources(pdev, r, 2); if (err) goto error; err = platform_device_add_data(pdev, &pdata, sizeof(pdata)); if (err) goto error; err = platform_device_add(pdev); if (err) goto error; return pdev; error: platform_device_put(pdev); return ERR_PTR(err);
Makes sense to me. I'll change it (in all three places). Thanks. -Dale