On Nov 15, 2005, at 11:59, Greg KH wrote:
> > 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. > So the problem Vitaly is referring to is that the CPM is somewhat programmable. The SCC (Serial Communications Controller) is capable of being used as a uart, or as an ethernet device, depending on software configuration. Currently, most systems I'm aware of configure this at boot time, depending on how the kernel has been configured. So the same SOC may have SCC1 as a uart on one board, but as an ethernet controller on another board. I believe there is work being done to clean this up, and make it more flexible. As a temporary solution, we might want to declare 8 different devices. Something like "cpm-scc-uart", and "cpm-scc- enet". And then create SCC1-4 twice, and let the board code delete the devices that aren't going to be used. Andy
