Commit Graph

80 Commits

Author SHA1 Message Date
augustss 152efb1a0e Make a typedef for struct proc to make portingeasier. 2001-12-31 12:15:21 +00:00
augustss 776b0e7851 A little more debug. 2001-12-30 19:37:43 +00:00
augustss 70dea46276 Fix typo. 2001-12-30 19:22:28 +00:00
augustss 3850573d96 Remove garbage. 2001-12-29 18:57:16 +00:00
augustss 750a5959b8 Add some missing scan code translations. Docs from Microsoft via Perry Metzger. 2001-12-29 02:53:41 +00:00
augustss 935b0481a9 Introduce an extra driver level for HID devices, uhidev. This uhidev driver
attaches to the hub, and HID drivers (ums, ukbd, and uhid) attach to
uhidev.  The reason for this change is that some HID devices report multiple
components (like a keyboard and a mouse) using the same interface, but with
different report identifiers.  The report identifier can be specified with
a locator for the HID drivers.
Furthermore, change the ukbd driver to handle other formats than the boot
protocol.
2001-12-28 17:32:36 +00:00
lukem 9f42ccc795 use #ifdef DDB (for consistency with the rest of the kernel) 2001-11-28 05:45:27 +00:00
augustss b684cbc2a7 usbd_interface2device_handle() cannot fail. 2001-11-15 15:15:58 +00:00
lukem 667807e40c add RCSIDs 2001-11-13 06:24:53 +00:00
augustss 6e85b5b6c5 Add a workaround for broken ports (e.g. macppc) that do not call
cnpollc before cngetc in DDB.  DDB now works with USB console on Macs.

Don't frob the LEDs if nothing changes.
2001-11-07 02:52:47 +00:00
augustss 3deca4b069 Use the usb callout macros. 2001-10-28 16:53:21 +00:00
augustss 80d988187f If we are the console and we have DDB then events must not be delivered
from the interrupt routine since this will enter the USB interrupt
processing recursively during polling.
Now ukbd can be used as console keyboard for DDB!
2001-10-24 21:02:18 +00:00
augustss 5c2ee5ebed Make sure interrupt pipe is closed when detaching console keyboard. 2001-10-24 15:31:06 +00:00
augustss c5a4cc1291 Only clear the endpoint on stall (from FreeBSD). 2001-09-28 23:42:16 +00:00
augustss b8cfdb2c1d Allow a UKBD_LAYOUT option to determine the default keyboard layout.
(From OpenBSD.)
2001-04-06 22:54:15 +00:00
jdolecek 522f569810 make some more constant arrays 'const' 2001-02-21 21:39:52 +00:00
augustss cbda952879 Make sure driver attach/detach events are generated in a consistent manner. 2001-01-23 14:04:13 +00:00
augustss 79f0bd6e1f Update many URLs. 2000-12-29 01:24:55 +00:00
augustss b3b158b922 Implement handling of the UQ_SPUR_BUT_UP quirk. Some keyboards sometimes
generate a key up quickly followed by a key down for the same key, so we
take care of that.
(Finally I can type again without going nuts. :)
2000-08-20 22:30:17 +00:00
augustss 44c15e95b5 Add two keys to the raw mapping for German keyboards.
From Matthias Kretschmer <McCratch@gmx.net>, fixes PR 10850.
2000-08-17 23:08:07 +00:00
augustss ed9486e158 Bring the coding style into the 80s, i.e., get rid of __P and use
ANSI prototypes and declarations.
2000-06-01 14:28:57 +00:00
augustss 30c20f930f Change my email address. 2000-04-27 15:26:44 +00:00
augustss fc72e72d7d Change (almost) all static to Static. The symbol `Static' can then be defined
to `' or `static' depending on if you want to debug or not.
2000-03-27 12:33:53 +00:00
thorpej fc96443d15 New callout mechanism with two major improvements over the old
timeout()/untimeout() API:
- Clients supply callout handle storage, thus eliminating problems of
  resource allocation.
- Insertion and removal of callouts is constant time, important as
  this facility is used quite a lot in the kernel.

The old timeout()/untimeout() API has been removed from the kernel.
2000-03-23 07:01:25 +00:00
augustss 7d05674ba7 Distinguish between device and interface classes.
(I finally found a document that said that they were different.)
2000-02-29 21:37:00 +00:00
augustss 4b93911b25 Generate usb events on attach and detach. 2000-02-02 13:18:45 +00:00
augustss c3716a6bb9 Add an argument to usbd_open_pipe_intr() to specify the polling interval
for an interrupt pipe in case we don't what what the descriptor suggests.
2000-01-19 00:23:58 +00:00
augustss 4539a83cdc Add a DPRINTF on keyboard errors. 2000-01-16 09:41:22 +00:00
augustss c664f35fc5 Let usbd_set_polling() work on a usbd_device_handle instead of
a usbd_interface_handle.
2000-01-16 09:37:18 +00:00
augustss 8111aaeef9 Cosmetics and a couple of diagnostic messages. 1999-12-06 21:06:59 +00:00
augustss 02faf8d588 Done something half sensible if a USB console keyboard is unplugged instead
of panic()ing.
XXX Untested.  I will test it the next time I can borrow an iMac.
1999-12-01 23:22:57 +00:00
augustss aa32088c20 Cosmetic changes. 1999-11-26 01:39:27 +00:00
mjacob 5f4088eb26 Hide function definition within ifdef's is becomes active in. 1999-11-12 19:11:25 +00:00
augustss 0d2fabdf26 A number of stylistic changes to increase readability (many suggested
by Nick Hibma):
	use NULL not 0
	declare all local definitions static
	rename s/usbd_request/usbd_xfer/ s/reqh/xfer/
	rename s/r/err/
	use implicit test for no err
	KNF
1999-11-12 00:34:57 +00:00
augustss 03a522d3c1 Merge in a large batch of changes from Nick Hibma <hibma@skylink.it> so
the USB stack compiles on FreeBSD again.
1999-10-13 08:10:55 +00:00
augustss df435c83b2 Add an event mechanism so that a userland process can watch devices come
and go.
1999-10-12 11:54:56 +00:00
augustss 305998532f Dot't forget to deactivate subdevices. 1999-09-12 08:21:49 +00:00
augustss 24251055bc Change the way the `struct device' base part of all driver softc are
declared and accessed to make it more portable.  Idea from Nick Hibma, FreeBSD.
No functional changes.
1999-09-05 19:32:18 +00:00
augustss f3421bec94 Change the way the direction is extracted from the endpoint descriptor.
No functional changes to the drivers.  From Nick Hibma, FreeBSD.
1999-09-04 22:26:11 +00:00
augustss 036a9c6974 Change some 'struct device' to 'bdevice'. From FreeBSD. 1999-08-28 21:42:35 +00:00
augustss 1f2661798f Make sure to mark the device as dying already in the (de)activate routine.
This avoids access to it before the detach routine has blown it away.
1999-08-23 22:55:14 +00:00
augustss b8b1e35ece Some changes from FreeBSD (no functional differences). 1999-08-14 14:49:31 +00:00
augustss 4047458551 More DIAGNOSTIC messages. 1999-07-24 01:40:19 +00:00
augustss b177c7a397 Totally redo the way device detach is done. It now uses a kernel event
thread and the config detach method.
Squish a number of space leaks on detach.
1999-06-30 06:44:22 +00:00
augustss 701eca7576 Remove unneeded #include. 1999-06-26 03:14:25 +00:00
augustss 475ed73e46 Get rid of a bunch of code that was part of an old USBDI proposal, but that
is unused in our USB stack.

Once upon a time, when I started writing the USB stack for NetBSD, there
was an effort to make a standard for how USB device drivers should interact
with the rest of the USB stack.  This effort had contributors from just
about all Un*x camps (but not Micro$oft :).  I based my design on one of their
early proposals since I thought it would be a good idea if we could all
share device drivers with a minimum effort.  Shortly after I started my work
all the free Un*x people were thrown out of the USBDI work since we did not
pay the USB membership fee.  Well, some time has passed now and the work of
the standardization group is almost public again.  But alas, the new standard
has grown to be a monster!  I do not want to have this as the basis for the
*BSD USB stack; it is far too complicated.
So, since we are not even close to being compilant with the standard, I've
thrown out some old baggage.
1999-06-14 17:09:57 +00:00
wrstuden 9f43c5a1f2 If we're the console keyboard, automatically enable the keyboard.
Should fix part of console keyboard problems on macppc. The usb keyboard will
now work on boot! Doesn't fix problems with keyboard freaking out when
changing LED state.

Thanks to Mattias & Lennart & Tsubai for input on resolving this problem.
1999-06-11 19:05:13 +00:00
augustss c65a504ed5 Add more debug. 1999-06-10 15:48:27 +00:00
augustss 9bf01fcbe5 Fix debug printf. 1999-05-14 19:38:44 +00:00
thorpej 0d0cc4aa14 Rework the way ukbd attaches itself as the console (again). We now allow
the code to pick the first USB keyboard instance as the console, ignoring
which USB controller it's on.  Should eventually allow detaching of the
console keyboard.

From Jason Thorpe <thorpej@nas.nasa.gov>
1999-05-13 23:34:38 +00:00