On 7/6/07, Grant Likely <[EMAIL PROTECTED]> wrote:
On 7/6/07, Arnd Bergmann <[EMAIL PROTECTED]> wrote: > On Saturday 07 July 2007, Grant Likely wrote: > > --- a/arch/powerpc/platforms/83xx/mpc834x_itx.c > > +++ b/arch/powerpc/platforms/83xx/mpc834x_itx.c > > @@ -63,6 +63,8 @@ static void __init mpc834x_itx_setup_arch(void) > > > > ppc_md.pci_exclude_device = mpc83xx_exclude_device; > > #endif > > + > > +mpc834x_usb_cfg(); > > } > > Why is that necessary? Shouldn't there be an of_platform_driver that > simply does all the setup automatically if the device is present? This call is actually for SoC setup stuff. There are actually 2 USB engines on the SoC, and this call figures out what mode the pins are supposed to be in. I think this stuff firmly falls into the platform setup arena since it is highly chip specific. You bring up a good point though. The current usb support code in sysdev/fsl_soc.c uses arch_initcall(fsl_usb_of_init) to go searching for USB interfaces in the device tree, which are EHCI (and sometimes OTG) compatible. fsl_usb_of_init calls platform_device_register_simple() for each USB device found which is kind of a round about way of doing things. That should probably be depreciated and an of_platform_device binding should be added to the EHCI driver. This same comment probably goes for the other arch_initcall functions in fsl_soc.c which do exactly the same thing for other devices.
This depends, some devices in fsl_soc.c may exist on non-powerpc SoCs that do not have OF. The USB core in 8349 for example also is in the arm based mx27 and mx31. These devices should remain platform devices and the glue in fls_soc.c will continure to be needed. Cheers,
g. -- Grant Likely, B.Sc., P.Eng. Secret Lab Technologies Ltd. [EMAIL PROTECTED] (403) 399-0195 _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev
_______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev