Commit Graph

223 Commits

Author SHA1 Message Date
n_hibma
a8c6f159f3 usbd_get_request_status now only returns the value if the associated
pointer is passed.
1999-06-01 06:39:03 +00:00
n_hibma
af9cf37e43 1) Remove the definition of usb_cdc_generic_descriptor_t. It is
equivalent to usb_descriptor_t

2) Rename USB_CDC_CM_CM_OVER_DATA to USB_CDC_CM_OVER_DATA
1999-05-31 22:35:55 +00:00
phk
6a5dc97620 Simplify cdevsw registration.
The cdevsw_add() function now finds the major number(s) in the
struct cdevsw passed to it.  cdevsw_add_generic() is no longer
needed, cdevsw_add() does the same thing.

cdevsw_add() will print an message if the d_maj field looks bogus.

Remove nblkdev and nchrdev variables.  Most places they were used
bogusly.  Instead check a dev_t for validity by seeing if devsw()
or bdevsw() returns NULL.

Move bdevsw() and devsw() functions to kern/kern_conf.c

Bump __FreeBSD_version to 400006

This commit removes:
        72 bogus makedev() calls
        26 bogus SYSINIT functions

if_xe.c bogusly accessed cdevsw[], author/maintainer please fix.

I4b and vinum not changed.  Patches emailed to authors.  LINT
probably broken until they catch up.
1999-05-31 11:29:30 +00:00
n_hibma
83ddff966f Enable attachment of multiple drivers to a single device. 1999-05-30 18:49:17 +00:00
n_hibma
26fb913de5 Notify CAM of the removed device on detach. 1999-05-30 18:46:04 +00:00
phk
7e4a9dced9 This commit should be a extensive NO-OP:
Reformat and initialize correctly all "struct cdevsw".

        Initialize the d_maj and d_bmaj fields.

        The d_reset field was not removed, although it is never used.

I used a program to do most of this, so all the files now use the
same consistent format.  Please keep it that way.

Vinum and i4b not modified, patches emailed to respective authors.
1999-05-30 16:53:49 +00:00
n_hibma
d13d00dd20 1) Add URL for printer class specification
2) Change name of UE_IN to UE_DIR
3) Enable printing of the Printer Id string
4) Clean up debugging output while we are at it.
1999-05-30 13:03:00 +00:00
n_hibma
6dc9d0ed10 - When aborting an interrupt pipe, just wait for 1ms for the completion
of the current interrupt trasaction.
- Do not schedule the next interrupt transaction if the pipe is being
aborted or the last round of the interrupt transaction ended with error.

Submitted by: Kazutaka YOKOTA <yokota@zodiac.mech.utsunomiya-u.ac.jp>
1999-05-30 12:49:39 +00:00
n_hibma
678ee57ac4 When the mouse is being disconnected, do the followings:
- Call ums_disable() to abort the pipe.
- Do not wake up processes which has been waiting or polling for mouse
  data.  It won't be available anymore.

Submitted by: Kazutaka YOKOTA <yokota@zodiac.mech.utsunomiya-u.ac.jp>
1999-05-30 12:48:49 +00:00
n_hibma
580747cb04 usbdi.h:
Implement priorities.
GENERIC, LINT, files:
        Remove remarks about ordering of device names.
GENERIC, LINT:
        Sort the devices alphabetically in LINT and GENERIC.
1999-05-20 20:02:37 +00:00
n_hibma
30af12a295 Add comment about split in driver 1999-05-20 19:52:04 +00:00
n_hibma
ee4d1deb7c Enable the support for a file interface on the HID driver for
easy testing of the HID reports that come back.

Submitted by: MAEKAWA Masahide <bishop@rr.iij4u.or.jp>
1999-05-09 20:13:51 +00:00
n_hibma
dae3d761e5 Added Thrustmaster Fusion Digital Gamepad 1999-05-09 18:29:37 +00:00
phk
e05bc3b49a Unconfuse DEV_MODULE() and DEV_DRIVER_MODULE() about the difference between
a major number for a dev_t.
1999-05-09 13:00:50 +00:00
dfr
e4989c23fe Move the declaration of the interrupt type from the driver structure
to the BUS_SETUP_INTR call.
1999-05-08 21:59:43 +00:00
peter
ed3598a09e Trivial tweak to avoid a warning. 1999-05-08 21:36:03 +00:00
phk
bac74fbd54 Fix some of the places where too much inside knowledge about major/minor
layout and dev_t structure is being (ab)used.
1999-05-08 07:02:41 +00:00
phk
693dd58bb3 Continue where Julian left off in July 1998:
Virtualize bdevsw[] from cdevsw.  bdevsw() is now an (inline)
        function.

        Join CDEV_MODULE and BDEV_MODULE to DEV_MODULE (please pay attention
        to the order of the cmaj/bmaj arguments!)

        Join CDEV_DRIVER_MODULE and BDEV_DRIVER_MODULE to DEV_DRIVER_MODULE
        (ditto!)

(Next step will be to convert all bdev dev_t's to cdev dev_t's
before they get to do any damage^H^H^H^H^H^Hwork in the kernel.)
1999-05-07 10:11:40 +00:00
ken
2369387d89 Take out calls to cam_sim_set_basexfer_speed(), the base transfer speed is
now returned in the path inquiry CCB.

Submitted by:	Nick Hibma <hibma@skylink.it>
1999-05-06 21:12:58 +00:00
n_hibma
4ea597bd6d Add new member for XPT_PATH_INQ, follows recent changes in
version v1.2 of cam_sim.h.
1999-05-06 20:58:37 +00:00
n_hibma
4dc3ea1a78 Descriptors can be delivered with short transfers. 1999-05-03 23:21:28 +00:00
n_hibma
ae90e85448 Add a load of definitions 1999-05-03 23:20:37 +00:00
n_hibma
07d47bbd5a Remove disconnected method 1999-05-03 23:19:55 +00:00
n_hibma
d8fc93d6e0 Replace UE_GET_IN with UE_GET_DIR
Remove freeind of description. Is done by subr_bus.c.
1999-05-03 23:19:32 +00:00
n_hibma
9184cf2841 Replace UE_GET_IN with UE_GET_DIR 1999-05-03 23:18:11 +00:00
n_hibma
84a9dcacfc Change '#if UKBD_DEBUG' to '#ifdef...'
Remove freeing of description on detach. Is done by subr_bus.c.
1999-05-03 23:16:05 +00:00
n_hibma
943f65fb32 Remove double removal of children of a hub. (remove disconnected method)
This was introduced when merging a patch for the newbus people.

And change the debugging flag from USB_DEBUG to UHUB_DEBUG.
1999-05-03 23:14:46 +00:00
n_hibma
8df2e191f0 Add URL to HID spec 1999-05-03 23:13:14 +00:00
n_hibma
3d37d2bd82 Clean up parts of struct shared between NetBSD and FreeBSD 1999-05-03 23:12:49 +00:00
n_hibma
532c7c2119 Clean up debugging output 1999-05-03 23:11:41 +00:00
n_hibma
dc26f6e750 Add driver for the Iomega Zip 100 drive. 1999-05-02 21:54:05 +00:00
n_hibma
7ee80e829b Oops. Introduced a typo in one of previous commits. 1999-05-01 23:59:09 +00:00
n_hibma
73c36288d4 Clean up uhci_intr. Avoid acknowledging mutliple interrupts with
multiple writes.
1999-05-01 23:46:02 +00:00
n_hibma
49fc673347 Correct maximum error count in TD initialisation for transfer from 2 to 3. 1999-05-01 23:38:46 +00:00
n_hibma
a07ab31b2a Clean up debugging output, rename printf to DPRINTF and set some
debugging levels to more sensible values.
1999-05-01 23:35:41 +00:00
n_hibma
8f05b071c5 Move the disabling of interrupts right before the allocation of the
resource. Avoids useless interrupts occurring between the allocation
of the interrupt resource and the final initialisation of the
kernel. Cause of these interrupts is unknown (a resuming device?).
1999-05-01 23:30:09 +00:00
n_hibma
2b59f38e38 Z direction was upside down.
Submitted By: MAEKAWA Masahide
1999-05-01 13:17:47 +00:00
n_hibma
bb2dfd9476 Added vendor OmniVision and camera 1999-05-01 13:16:35 +00:00
n_hibma
5b4e2f96f2 Forgot one.
Original log message:

Remove feature creep: STAILQ_REMOVE_HEAD_UNTIL added it for convenience
but we can do without it.

Obtained from:	Peter Wemm
1999-04-21 12:08:07 +00:00
n_hibma
4fc9be5267 Remove feature creep: STAILQ_REMOVE_HEAD_UNTIL added it for convenience
but we can do without it.
1999-04-20 22:37:18 +00:00
n_hibma
2c5564134a 1) Change printf's into DPRINTF.
2) rename variables to be more conclusive.
3) fix a problem in uhci_ii_done. Avoid collecting all the status's of the
TD's, we only need to one from the last inactive one.
4) Change the errorcount from 2 to 3 (see UHCI spec.).
1999-04-20 21:35:27 +00:00
n_hibma
327d7faf3a Add defines for Mass Storage Bulk-Only and COmmun. Class devices. 1999-04-20 21:25:29 +00:00
n_hibma
d96217d098 Enclose .hcidebug in '#ifdef N.HCI' 1999-04-20 21:10:43 +00:00
n_hibma
d87a4625d2 1) Add Rockfire vendor and gamepad product (MAEKAWA Masahide)
2) Sort the list again (Roger Hardiman)
3) Reinstate a piece of code to look for a name for a device
   if none is found in the device itself.
1999-04-19 20:25:18 +00:00
n_hibma
1b83672628 UHCI_DEBUG should of course be OHCI_DEBUG
Reported by: MAEKAWA Masahide <bishop@rr.iij4u.or.jp>
1999-04-17 21:48:03 +00:00
peter
087d4857e5 Bring the 'new-bus' to the i386. This extensively changes the way the
i386 platform boots, it is no longer ISA-centric, and is fully dynamic.
Most old drivers compile and run without modification via 'compatability
shims' to enable a smoother transition.  eisa, isapnp and pccard* are
not yet using the new resource manager.  Once fully converted, all drivers
will be loadable, including PCI and ISA.

(Some other changes appear to have snuck in, including a port of Soren's
 ATA driver to the Alpha.  Soren, back this out if you need to.)

This is a checkpoint of work-in-progress, but is quite functional.

The bulk of the work was done over the last few years by Doug Rabson and
Garrett Wollman.

Approved by:	core
1999-04-16 21:22:55 +00:00
n_hibma
94f89925ad 1) Make debugging more selective.
2) create function usbd_errstr which turns a usbd_status into a sensible
   error message
3) Change the printf in DPRINTF to logprintf which is a define for
   log(KERN_DEBUG, x)
1999-04-11 20:50:33 +00:00
n_hibma
b690dfd359 Applied patch for ukbd disconnect. Disconnect not fully functional
yet however.

Supplied by: Kazutaka YOKOTA <yokota@zodiac.mech.utsunomiya-u.ac.jp>
1999-04-11 16:49:15 +00:00
n_hibma
52f5b264af USBD_STALLED bit checking was inconsistent. Mixed use of == and &
Patch provided by: Kazutaka YOKOTA
1999-04-11 16:43:48 +00:00
n_hibma
d5c45d0bd8 Remove unit from struct. Not used anymore. 1999-04-11 16:22:57 +00:00
n_hibma
39dac26a0a Reenable the recursive disconnection from a hub. Stop gap solution
until the newbus version of uhub.c is ready.

Submitted by: Kazutaka YOKOTA
1999-04-11 14:24:43 +00:00
n_hibma
60e587adbf Changed pci_config_read() to pci_map_port(). Pointed out by Doug Rabson. 1999-04-11 14:24:20 +00:00
n_hibma
feebb94411 1) Add Lucent USS-720 eval kit
2) Rename Epson printer cable to proper name
1999-04-08 23:26:50 +00:00
n_hibma
ec9894f656 1) Add AKS USB-HASP 0.6
2) Rename Lucent -> Epson
   (Undoes previous commit, Mike agrees)
1999-04-08 23:13:17 +00:00
msmith
2a8759eebd Add the Lucent USS-720 ISD Smart Cable. 1999-04-08 20:50:51 +00:00
n_hibma
b25dcdb8cd Added macro logprintf 1999-04-07 17:07:07 +00:00
n_hibma
c0d6e03792 fix typo 1999-04-06 23:09:58 +00:00
n_hibma
9ac433dd35 1) Add the defines for the Mass Storage class
2) Add comments
	3) Add UE_DIR to replace the querying of UE_IN directly
1999-04-05 17:23:54 +00:00
n_hibma
4687fd7523 change wrong names in prototypes (pipe to dev) 1999-04-05 17:19:48 +00:00
n_hibma
cfe20bcac4 Add the defines for the Iomega Zip 100 drive 1999-04-05 17:12:46 +00:00
n_hibma
2b2b7fe409 bugfix: initialise timeout for usbd_device_request as well.
moved statements around to reflect sequence in the struct, to make
	finding these discrepancies easier.
1999-04-05 17:01:52 +00:00
n_hibma
f82b2f5d46 added vision camera 1999-03-31 23:53:48 +00:00
n_hibma
41a1880724 Cleaning up of code, remove unneeded cruft and make
code more compact.
1999-03-27 23:08:44 +00:00
n_hibma
65f1192fbe Added a number of device names: Konica, Microsoft, Macally 1999-03-24 07:46:53 +00:00
n_hibma
7e54723f10 Check whether the PIRQD enable bit is set in LegSup and if not, set it.
On my PIIX4 chip rev 1 this is required. Have not had any complaints from
other people so it might be a problem with this stepping.
1999-03-23 21:37:45 +00:00
n_hibma
19a0bccc49 1) clean up debugging output
2) remove erroneous querying of PCI LegSup register while it should be
   fetched from PCI config space
3) change name of define for this register
1999-03-23 21:35:57 +00:00
n_hibma
10c53b0d51 Cosmetical changes. 1999-03-22 19:58:59 +00:00
n_hibma
f4b0f1726a Implementation of the keyboard driver.
Done by: Kazutaka YOKOTA <yokota@zodiac.mech.utsunomiya-u.ac.jp>
1999-03-22 19:55:30 +00:00
n_hibma
7dfa9c591c Moved timeout initialisation a bit earlier in the process. The
untimeout function triggered panics once in a while.
1999-03-22 19:52:28 +00:00
n_hibma
c269952e17 Move untimeout up before call to uhci_ii_done, avoids panic in
untimeout.

Submitted by Kazutaka YOKOTA <yokota@zodiac.mech.utsunomiya-u.ac.jp>
and gehenna@jp.FreeBSD.org.
1999-03-08 22:27:07 +00:00
n_hibma
1ae726e27b Bug fix: Trap 12 when ugen not present and therefore unattached physical
device removed.
1999-02-21 16:53:35 +00:00
n_hibma
97e0e8232b Device unload code is broken, disabled. Requires a bit of redesign on the
part of the uhub driver to be able to fix it. Modules should not be
unloaded as they unload partially. Not easy to fix either.
1999-02-21 16:36:30 +00:00
n_hibma
6a376dfa30 make ums look like a Mouse Systems or Sysmouse mouse. Remove PS/2 interf.
Supplied by MAEKAWA Masahide <bishop@rr.iij4u.or.jp>. Thanks!
USB Mouse now supports up to 7 buttons and X,Y,Z (wheel) directions.
1999-02-21 16:20:19 +00:00
n_hibma
e32a2228d5 Bug fix: devcount was running from [count..0], should be [count-1..0] 1999-02-20 19:22:00 +00:00
n_hibma
320600de88 1) In polling mode (during boot) the callout_handle wasn't
initialised (PR1).
	Thanks to "Louis A. Mamakos" <louie@TransSys.COM> for his patient
	testing of my mods.
     2) Removed some debugging output (PR1)
1999-02-19 22:48:28 +00:00
n_hibma
629530bf85 Moved [uo]hci_pci.c from /sys/dev/pci to /sys/pci after Soren
threatened to send Bruce. These files are no longer shared
   with NetBSD anyway.

   Requires a config and make depend.
1999-02-18 21:42:19 +00:00
n_hibma
b07c793b87 Moved busreset in uhci_init up to avoid clearing of FLBASE in Via 83572
(PR1)
1999-02-18 21:03:10 +00:00
n_hibma
40ead2b843 Applied patch from MAEKAWA Masahide <bishop@rr.iij4u.or.jp>. (PR2)
Seems to solve a problem with a mouse not responding to movements in the
X direction. Problem description is still rather vague and solution is
not exactly clear. Problem might be a compiler optimisation.
1999-02-15 21:41:43 +00:00
n_hibma
945021b983 Added more verbose debugging output to uhci_run 1999-02-15 20:43:17 +00:00
n_hibma
5c397459c1 Added UHCI_LEGSUP to uhcireg.h 1999-01-31 16:22:35 +00:00
dillon
9328688fc8 Fix warnings in preparation for adding -Wall -Wcast-qual to the
kernel compile
1999-01-28 01:59:53 +00:00
dillon
975fba8a24 Fix warnings in preparation for adding -Wall -Wcast-qual to the
kernel compile
1999-01-28 00:57:57 +00:00
n_hibma
0e7b3ca011 add LEGSUP to uhci_dumpregs 1999-01-22 21:52:46 +00:00
n_hibma
4b60b25595 forgotten in previous commit: Lowered default debug level 1999-01-22 01:02:24 +00:00
n_hibma
4f6fd60891 Fixed disconnect for umouse 1999-01-22 00:59:52 +00:00
n_hibma
7824a7cd28 Textual changes 1999-01-22 00:51:12 +00:00
n_hibma
d7d000c638 Fixed bug in disconnect handling in uhub.c 1999-01-22 00:44:31 +00:00
n_hibma
ca386e7355 Fixed bug that made UHCI controllers fail to start. 1999-01-21 23:31:58 +00:00
n_hibma
e36fb26a20 Cleaning up, improving _detach, removing ominous warning (msmith) 1999-01-21 23:06:02 +00:00
n_hibma
b95400cb53 Added ioctl interface 1999-01-21 22:56:10 +00:00
n_hibma
1f25259af5 Removal unneccessary definitions 1999-01-14 01:35:12 +00:00
n_hibma
229f57eb8f Corrected the latent fact that the uhub driver was providing a driver for
the usb device class instead of the uhub devclass. Only a problem with more
than one USB host controller.
1999-01-14 01:28:15 +00:00
n_hibma
cd40f4d28a Added Entrega Parallel and Serial Connectors to the information
file.
1999-01-14 01:18:44 +00:00
n_hibma
7fa15f5301 Changed 'xxxdebug = 0' to '...= 1' (Brian Feldman) 1999-01-13 01:09:14 +00:00
n_hibma
2557ea3700 1) Bug fix: Interrupt transfers worked only for the first packet.
The second packet was not seen as finished.
2) Textual changes
1999-01-13 00:50:02 +00:00
eivind
bde278c486 Cast argument to avoid warning.
Reviewed by:	Nick Hibma <n_hibma>
1999-01-12 12:46:36 +00:00
eivind
cdf79e6bf3 %b takes ints, not u_longs. 1999-01-12 02:22:59 +00:00
n_hibma
33ff447886 Take cdev major # 114 for ugen 1999-01-12 01:31:13 +00:00
n_hibma
220a334906 1) textual changes
2) bug fix in handling of select (or presumed bug)
3) trigger a mouse packet on the Z direction as well (but Z still not
   working)
1999-01-12 01:21:15 +00:00
n_hibma
7f8eaf904c Changed DRIVER_MODULE to CDEV_DRIVER_MODULE 1999-01-12 01:18:38 +00:00
n_hibma
e3fccd21c1 Added file handling to ulpt (USB printer) driver 1999-01-11 00:03:59 +00:00
n_hibma
910aa44d3b Sync with NetBSD sources. Almost there. Mostly style fixes. 1999-01-10 18:42:54 +00:00
eivind
1c69824749 USUBCLASS_MODEM -> USUBCLASS_ABSTRACT_CONTROL_MODEL
Matches the header file change, and makes this compile.
1999-01-08 17:25:37 +00:00
n_hibma
f85edabd28 Major synchronisation with NetBSD USB code 1999-01-07 23:07:57 +00:00
n_hibma
e535a63f75 queue.h has taken over this functionality 1999-01-06 23:16:45 +00:00
n_hibma
e355863092 Big oops, wrong major number in source 1999-01-05 09:33:23 +00:00
n_hibma
ea1bd971b4 Corrected the major number for usb and added ums as major 111 1999-01-03 16:48:03 +00:00
n_hibma
1531d24acf Added UCLASS_CDC definitions to usb.h 1998-12-15 07:06:51 +00:00
julian
f4d6fc7ea6 The OHCI interfaces I have access to map their control regs etc. into
memory address space rather than IO space.. reflect this when looking for the
interface revision register.

If this is not true for them all then we probably need some smarter code.
1998-12-14 21:14:11 +00:00
n_hibma
b25219fcba Added Id to all files 1998-12-14 09:32:25 +00:00
n_hibma
a9ce772c0c Added Id 1998-12-14 09:31:41 +00:00
n_hibma
3d4b15f81a Added comment 1998-12-14 09:15:19 +00:00
n_hibma
cccb885020 Added copyright and Id 1998-12-14 09:13:29 +00:00
n_hibma
db1a25dccb small oops on previous bug fix, it's late... 1998-12-13 23:53:42 +00:00
n_hibma
067b9d6ac9 small bug fix 1998-12-13 23:26:41 +00:00
n_hibma
d6b94b79c0 Removed unneeded definition 1998-12-13 23:16:20 +00:00
n_hibma
4f19f2cec5 dded the stubs for umodem and ucom (communications class driver). They are nothing other than
the ugen driver with different variable names.
1998-12-13 23:04:35 +00:00
n_hibma
7a761ba5fa Updated USB kernel sources to NetBSD sources of 1998-12-09.
1 bug fix and several textual changes.
Preparing to feed back changes for port into NetBSD to create one source base.
1998-12-13 22:27:42 +00:00
n_hibma
fb03cef48c Fixed warning in usr.sbin/usbd 1998-12-12 11:57:59 +00:00
julian
1f33b54c67 If we failed to probe/attach somehow, we never have a sc->sc_hcca
but the present PCI probe code still thinks we are there as the pci attach
can't return an error code.

This means we are in the shared interrupt list, but have not been set up.
If we are sharing ints with another device, ohci_intr will be called and will
coredump on a NULL reference. So just return if it is called when not set up.

This fixes the symptom and not the cause.
The right answer is to let the PCI system know that the attach failed,
or to fail earlier (in the PCI probe).
The attach() is a void fn() so it can't return failure..
1998-12-11 06:02:06 +00:00
n_hibma
ff213ddb78 Various bug fixes:
1) Removed 'emulation' of bitmaps in printfs, FreeBSD seems to have caught
  up on that one
2) Fixed a few bugs in the timeout/timo timeout variables
3) First attempt at fixing a bug mentioned by Kazu: uhci_run is not able
  start/stop his USB host on his motherboard.
1998-12-09 23:36:15 +00:00
n_hibma
1e167561f8 Preliminary support for OHCI motherboards 1998-12-09 23:28:43 +00:00
n_hibma
1f1ab4819c Initial commit of ported NetBSD USB stack 1998-11-26 23:13:13 +00:00