3241be7550
Cleaning up the code: - Declare many functions static - Change variable names to make them more self explanatory - Change usbd_request_handle -> usbd_xfer_handle - Syntactical changes - Remove some unused code - Other KNF changes Interrupt context handling - Change delay to usbd_delay_ms were possible (takes polling mode into account) - Change detection mechanism for interrupt context Add support for pre-allocation DMA-able memory by device driver Add preliminary support for isochronous to the UHCI driver (not for OHCI yet). usb.c, uhci.c, ohci.c - Initial attempt at detachable USB host controllers - Handle the use_polling flag with a lttle more care and only set it if we are cold booting. usb.c, uhci.c ohci.c, usbdi.c usbdi_util.c usb_subr.c - Make sure an aborted pipe is marked as not running. - Start queued request in the right order. - Insert some more DIAGNOSTIC sanity checks. - Remove (almost) unused definitions USBD_XFER_OUT and USBD_XFER_IN. usb.c, usb_subr.c - Add an event mechanism so that a userland process can watch devices come and go. ohci.c - Handle the case when a USB transfer is so long that it crosses two page (4K) boundaries. OHCI cannot do that with a single TD so we make a chain. ulpt.c - Use a bigger buffer when transferring data. - Pre-allocate the DMA buffer. This makes the driver slightly more efficient. - Comment out the GET_DEVICE_ID code, because for some unknown reason it causes printing to fail sometimes. usb.h - Add a macro to extract the isoc type. - Add a macro to check whether the routine has been entered after splusb and if not, complain. usbdi.c - Fix a glitch in dequeueing and aborting requests on interrupt pipes. - Add a flag in the request to determine if the data copying is done by the driver or the usbdi layer. |
||
---|---|---|
.. | ||
FILES | ||
hid.c | ||
hid.h | ||
ohci_pci.c | ||
ohci.c | ||
ohcireg.h | ||
ohcivar.h | ||
ugen.c | ||
uhci_pci.c | ||
uhci.c | ||
uhcireg.h | ||
uhcivar.h | ||
uhid.c | ||
uhub.c | ||
ukbd.c | ||
ulpt.c | ||
umass.c | ||
umodem.c | ||
ums.c | ||
usb_if.m | ||
usb_mem.h | ||
usb_port.h | ||
usb_quirks.c | ||
usb_quirks.h | ||
usb_subr.c | ||
usb.c | ||
usb.h | ||
usbcdc.h | ||
usbdevs_data.h | ||
usbdevs.h | ||
usbdi_util.c | ||
usbdi_util.h | ||
usbdi.c | ||
usbdi.h | ||
usbdivar.h | ||
usbhid.h |