On Tuesday 28 June 2011, ashishj3 wrote:
+static struct platform_driver da9052_wled1_driver = {
.probe = da9052_backlight_probe,
.remove = da9052_backlight_remove,
.driver = {
.name = "da9052-WLED1",
.owner = THIS_MODULE,
},
+};
+static struct platform_driver da9052_wled2_driver = {
.probe = da9052_backlight_probe,
.remove = da9052_backlight_remove,
.driver = {
.name = "da9052-WLED2",
.owner = THIS_MODULE,
},
+};
+static struct platform_driver da9052_wled3_driver = {
.probe = da9052_backlight_probe,
.remove = da9052_backlight_remove,
.driver = {
.name = "da9052-WLED3",
.owner = THIS_MODULE,
},
+};
+static int __init da9052_backlight_init(void) +{
int ret;
ret = platform_driver_register(&da9052_wled1_driver);
if (ret)
return ret;
ret = platform_driver_register(&da9052_wled2_driver);
if (ret)
return ret;
ret = platform_driver_register(&da9052_wled3_driver);
if (ret)
return ret;
return 0;
+} +module_init(da9052_backlight_init);
As mentioned before, you should only need to register a single driver for these three devices: Either you name them all the same and just give the individual devices a different platform_device->id, or you leave them with different names and add a platform_driver->id_table to match them all.
Arnd