Hi all,
Ok, here's a first cut at a directory restructure for the drivers/usb
directory. Please let me know if you like it or not (if no one
responds, I'll assume you like it :)
drivers/usb will have the following subdirectories:
class/ all USB class drivers
controller/ all USB device controller drivers
core/ the USB core code (both for devices and hosts)
fs/ usbfs code
host/ all USB host controller drivers
misc/ all USB drivers not found anywhere else
net/ all USB network drivers
scanner/ all USB scanner drivers
serial/ all USB serial drivers
storage/ all USB storage drivers
video/ all USB video drivers
This scheme should handle all of the existing code, and allow the new
usb device code to be integrated easily. Yes, the specific usb device
and host drivers for a specific type are contained in the same
subdirectory, but that makes sense. The Config.in and Makefile will
sort everything out based on the configuration choices a user has made.
And yes, you can have subdirectories within the above directories if you
wish (like video/pwc/ and video/ov511/ come to mind.) Also, as common
types of drivers end up in misc/, they can be moved to their own
subdirectory if wanted (like the scanner drivers just did.) It's also
easy to pick up all of a specific type of driver and move them to a
different place in the main tree (like moving the drivers/usb/net/
directory to drivers/net/) if people want to in the future.
Here's how I would move all of the existing 2.5 code base into this
directory structure (Config.help, Config.in, and Makefiles will probably
need to be added to a few of the different subdirectories):
----
[greg@desk usb]$ ls *
Config.help Config.in Makefile usb-skeleton.c
class:
acm.c audio.h hid-core.c hiddev.c hid-input.c usbkbd.c
audio.c bluetooth.c hid-debug.h hid.h printer.c usbmouse.c
controller:
core:
hcd.c hcd.h hub.c hub.h usb.c usb-debug.c
fs:
devices.c devio.c drivers.c inode.c
host:
Config.help ehci-hcd.c ehci-sched.c ohci-hcd.c uhci.c usb-ohci.h
Config.in ehci-hub.c Makefile ohci-hub.c uhci-debug.h usb-uhci.c
ehci-dbg.c ehci-mem.c ohci-dbg.c ohci-mem.c uhci.h usb-uhci-debug.h
ehci.h ehci-q.c ohci.h ohci-q.c usb-ohci.c usb-uhci.h
misc:
auerswald.c dabusb.h emi26.c rio500.c tiglusb.h
dabfirmware.h dc2xx.c emi26_fw.h rio500_usb.h uss720.c
dabusb.c dsbr100.c mdc800.c tiglusb.c wacom.c
net:
catc.c CDCEther.h kawethfw.h pegasus.h usbnet.c
CDCEther.c kaweth.c pegasus.c rtl8150.c
scanner:
hpusbscsi.c hpusbscsi.h microtek.c microtek.h scanner.c scanner.h
serial:
belkin_sa.c io_fw_down2.h keyspan_usa19w_fw.h omninet.c
belkin_sa.h io_fw_down.h keyspan_usa26msg.h pl2303.c
Config.help io_ionsp.h keyspan_usa28_fw.h pl2303.h
Config.in io_tables.h keyspan_usa28msg.h safe_serial.c
cyberjack.c io_usbvend.h keyspan_usa28xa_fw.h usbserial.c
digi_acceleport.c ipaq.c keyspan_usa28xb_fw.h usb-serial.h
empeg.c ipaq.h keyspan_usa28x_fw.h visor.c
ezusb_convert.pl ir-usb.c keyspan_usa49msg.h visor.h
ftdi_sio.c keyspan.c keyspan_usa49w_fw.h whiteheat.c
ftdi_sio.h keyspan.h kl5kusb105.c whiteheat_fw.h
io_16654.h keyspan_pda.c kl5kusb105.h whiteheat.h
io_edgeport.c keyspan_pda_fw.h Makefile xircom_pgs_fw.h
io_edgeport.h keyspan_pda.S Makefile-keyspan_pda_fw xircom_pgs.S
io_fw_boot2.h keyspan_usa18x_fw.h mct_u232.c
io_fw_boot.h keyspan_usa19_fw.h mct_u232.h
storage:
datafab.c dpcm.h isd200.c protocol.c sddr09.h unusual_devs.h
datafab.h freecom.c isd200.h protocol.h shuttle_usbat.c usb.c
debug.c freecom.h jumpshot.c scsiglue.c shuttle_usbat.h usb.h
debug.h initializers.c jumpshot.h scsiglue.h transport.c
dpcm.c initializers.h Makefile sddr09.c transport.h
video:
ibmcam.c pwc-ctrl.c pwc_kiara.h pwc-uncompress.c stv680.c usbvideo.h
konicawc.c pwc.h pwc-misc.c pwc-uncompress.h stv680.h vicam.c
ov511.c pwc-if.c pwc_nala.h se401.c ultracam.c vicam.h
ov511.h pwc-ioctl.h pwc_timon.h se401.h usbvideo.c vicamurbs.h
----
So, how does this look?
greg k-h
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel