2011/8/22 Matt K. Jeon <mattkj...@gmail.com>: > 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