Platform device model drawback
Greg KH
greg at kroah.com
Wed Nov 16 04:59:55 EST 2005
On Tue, Nov 15, 2005 at 08:59:06PM +0300, 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?
All PCI and USB and I2C drivers are able to bind to multiple devices :)
> 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?
You only register the driver once. The individual devices can be bound
to the same driver, right?
> Not registering it in CPM_UART, how the pdev could be obtained?
>
> Maybe this is clear, but platform stuff is cumbersome some times...
Then make it cleaner :)
If you have specific code that explains this better, that might help
out.
thanks,
greg k-h
More information about the Linuxppc-embedded
mailing list