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

Reply via email to