Vitaly Bordug wrote: > Greg KH wrote: > >> On Tue, Nov 15, 2005 at 07:51:20PM +0300, Vitaly Bordug wrote: >> >>> Hi, Greg! >>> >>> While doing "platformization" for one of the Freescale SoC's, I have >>> discovered a serious drawback of the model - it prevents registering >>> driver with the same name. >> >> >> That's not a "drawback" :) >> >>> For instance, cpm2 on either ppc82xx or ppc85xx is very flexible, and >>> its device fsl-cpm-scc could (and actually are) utilized in the >>> different drivers. >>> >>> Those devices will have different bus_id, but pdev->name fields are >>> the same for all the fsl-cpm-scc, only id is different there. Hence >>> the fsl-cpm-scc could be driver_register'ed only once, while it is >>> required several times. >> >> >> A driver is registered only once, but can be bound to multiple devices >> just fine, right? > > Please let me know, how? > > I have for instance struct device_driver with name="fsl-cpm-scc" in both > fs_enet and cpm_uart(one using SCC1, the other - SCC4, the same device > with different id's). > > Once it has been registered in fs_enet, I could not register it in > cpm_uart, due to kobject_register fo require unique names in > kobject->name. Am I missing something?
May be better to convert fsl-cpm-scc to BUS driver which will be derived from platform_driver? In this case you'll get flexible SCCx enumerator as bonus. -- Regards Andrey Volkov