Hello All, I am suffering from enabling "pxa2xx-ac97" driver at kernel version 2.6.35. There are 2 different points of registering platform drivers in different source code; - sound/arm/pxa2xx-ac97.c through pxa2xx_ac97_init() static struct platform_driver pxa2xx_ac97_driver = { .probe = pxa2xx_ac97_driver_probe, .remove = __devexit_p(pxa2xx_ac97_remove), .driver = { .name = "pxa2xx-ac97", .owner = THIS_MODULE, #ifdef CONFIG_PM .pm = &pxa2xx_ac97_pm_ops, #endif }, };
- sound/soc/pxa/pxa2xx-ac97.c through pxa_ac97_init() static struct platform_driver pxa2xx_ac97_driver = { .probe = pxa2xx_ac97_dev_probe, .remove = __devexit_p(pxa2xx_ac97_dev_remove), .driver = { .name = "pxa2xx-ac97", .owner = THIS_MODULE, }, }; those are the same name of functions and the name of each drivers are the same so, when try to register the later driver at platform driver, it complains that a driver is already registered with the same name at other = driver_find(drv->name, drv->bus); if (other) { put_driver(other); printk(KERN_ERR "Error: Driver '%s' is already registered, " "aborting...\n", drv->name); return -EBUSY; } above code compares 2 drivers with each driver's name!!! Any idea? Of course I had changed the name of one driver to something different and the result is fine but in that case DAI (digital audio interface) couldn't be registered at device (soc ac97), because DAI registering procedure compares the addresses of each drivers not name!!! Thanks in advance, Matt -- unsubscribe: android-kernel+unsubscr...@googlegroups.com website: http://groups.google.com/group/android-kernel