Commit Graph

661 Commits

Author SHA1 Message Date
Thomas Moestl
90ce56c287 Add the following functions/macros to support byte order conversions and
device drivers for bus system with other endinesses than the CPU (using
interfaces compatible to NetBSD):

- bwap16() and bswap32(). These have optimized implementations on some
  architectures; for those that don't, there exist generic implementations.
- macros to convert from a certain byte order to host byte order and vice
  versa, using a naming scheme like le16toh(), htole16().
  These are implemented using the bswap functions.
- stream bus space access functions, which do not perform a byte order
  conversion (while the normal access functions would if the bus endianess
  differs from the CPU endianess).

htons(), htonl(), ntohs() and ntohl() are implemented using the new
functions above for kernel usage. None of the above interfaces is currently
exported to user land.

Make use of the new functions in a few places where local implementations
of the same functionality existed.

Reviewed by:	mike, bde
Tested on alpha by:	mike
2002-02-27 17:16:18 +00:00
Julian Elischer
13b33111fe Fix warnings that have become fatal
1/ conditionalise (#if 0) function that is not used.
 Unused code left in place for netBSD compatibility.
2/ Recode loop to convince gcc that it does initialise a variable
 (use do-while instead of for() so gcc knows that we always go through
 at least once.  Feel free to check my logic.
2002-02-27 09:16:00 +00:00
Josef Karthauser
dae0af0c83 Revert part of the last commit. A couple of defines were removed
by NetBSD because they don't use them (they've no usbd), but we do.
2002-02-26 10:00:32 +00:00
Alfred Perlstein
6f65a2bd46 in ulpt_reset() req.bmRequestType was unitialized, fix it. 2002-02-26 01:19:56 +00:00
Josef Karthauser
648b06a6ed Merge from NetBSD:
usb.h (rev 1.61):

    date: 2002/01/01 14:23:37;  author: augustss;
    Add a missing subclass definition.

usb.h (rev 1.63) and usb_port.h (rev 1.52):

    date: 2002/02/25 00:46:37;  author: augustss;
    Some portability improvement.
    Add define for usb.h version.
2002-02-26 01:15:08 +00:00
Alfred Perlstein
5bcd0580d7 Prefix structure members to protect them against clashes with eg.
c++ keywords.

This keeps us in sync with NetBSD because they actually committed
my delta first.

Ok'd by: lennard
2002-02-20 20:47:21 +00:00
Nick Hibma
dfe6efdcae Clean up some debugging output.
Add function to display the CBI command block.
2002-02-19 10:53:25 +00:00
Josef Karthauser
6f72be8e18 Merge from NetBSD:
* rev 1.47: Update a URL
* rev 1.56: Keep track of device speed for USB 2.0.
2002-02-19 02:00:27 +00:00
Josef Karthauser
a10b07e4ec Fix a formatting error. 2002-02-17 12:41:50 +00:00
Josef Karthauser
97e5881fe1 KNF style the code, ready for an MFC. 2002-02-17 12:29:39 +00:00
Josef Karthauser
1b262fd0c5 KNF style the code, ready for an MFC. 2002-02-17 11:58:58 +00:00
Josef Karthauser
4d0649fbad Merge from NetBSD:
Pave the way for USB2, by replacing 'lowspeed' with 'speed', so
that it can take the values USB_SPEED_LOW, USB_SPEED_FULL or in
time USB_SPEED_HIGH.
2002-02-16 00:51:26 +00:00
Josef Karthauser
c67fd26e98 Re-add bmaj to the cdevsw's, but don't compile it in on -current.
This makes the code more portable between -current, -stable and the
other BSDs.
2002-02-15 22:54:10 +00:00
Brian Feldman
d515a5410b Fix a bug introduced in rev.1.40 which can cause systems to crash when
detaching USB devices.  Specifically, a variable which was not meant
to be reused was, in fact, being reused.
2002-02-14 08:22:37 +00:00
Josef Karthauser
c0af27c95f Regenerate. 2002-02-14 03:03:08 +00:00
Josef Karthauser
09ecaa66fc Support the HP 5400C scanner.
PR:		kern/34783
2002-02-14 02:51:12 +00:00
Josef Karthauser
7dcd88f85f Rework revision 1.12, and wrap the bmaj entry with an #if doesn't
compile it in on FreeBSD-current, but does in all other cases
(-stable, NetBSD, OpenBSD, etc).
2002-02-14 00:35:03 +00:00
Josef Karthauser
d0d80d05a6 Reinstate revision 1.14. The empty uscannerioctl() was accidently
re-added during a recent NetBSD merge.
2002-02-14 00:32:03 +00:00
Josef Karthauser
d740688b87 Fix some bugs in the ohci driver with respect to irq setup failure.
Submitted by:	nyan
2002-02-11 14:39:57 +00:00
Josef Karthauser
d41fcbf0d0 Merge from NetBSD: revs 1.89 and 1.90.
Also, add some 'const's to supress warnings. (Submitted back to NetBSD).

The original logs from NetBSD:

	----------------------------
	revision 1.90
	date: 2001/12/03 01:47:12;  author: augustss;  lines: +4 -4
	Handle vendor/product lookup with a common routine.
	----------------------------
	revision 1.89
	date: 2001/12/02 23:25:25;  author: augustss;  lines: +18 -2
	Add a subroutine to search for a vendor/product pair.
	----------------------------
2002-02-11 10:09:29 +00:00
Josef Karthauser
f2671fcf9f Regenerate. 2002-02-11 03:36:13 +00:00
Josef Karthauser
2097055fac Merge from NetBSD.
Add lots of new scanner devices:

	AGFA SNAPSCAN1236U
	AGFA SNAPSCANE40
	AGFA SNAPSCANE50
	AGFA SNAPSCANE20
	AGFA SNAPSCANE25
	AGFA SNAPSCANE26
	AGFA SNAPSCANE52
	CANON N656U
	HP 3400CSE
	SCANLOGIC 336CX
	MUSTEK BEARPAW1200F
	MUSTEK 600USB
	MUSTEK 1200USBPLUS
	NATIONAL BEARPAW2400
	EPSON 640U
	EPSON 1650
	EPSON GT9700F
	UMAX ASTRA3400
	ULTIMA 1200UBPLUS
2002-02-11 03:35:53 +00:00
Josef Karthauser
4f26a426ab Quiet a qualifier warning. 2002-02-11 03:29:35 +00:00
Josef Karthauser
ce3eae9093 Merge from NetBSD: revs 1.55 and 1.56
Original NetBSD logs:

	----------------------------
	revision 1.56
	date: 2001/12/03 01:47:12;  author: augustss;  lines: +5 -3
	Handle vendor/product lookup with a common routine.
	----------------------------
	revision 1.55
	date: 2001/12/02 23:25:25;  author: augustss;  lines: +8 -1
	Add a subroutine to search for a vendor/product pair.
	----------------------------
2002-02-11 03:15:08 +00:00
Josef Karthauser
50a56fbebd Merge from NetBSD: revs 1.12 and 1.21 - 1.23
Original NetBSD log messages are:

	----------------------------
	revision 1.23
	date: 2001/12/12 15:48:18;  author: augustss;  lines: +132 -114
	Add a scanner quirk for keeping the pipes open between device opening.
	Idea from Enami.
	----------------------------
	revision 1.22
	date: 2001/12/03 01:47:13;  author: augustss;  lines: +8 -16
	Handle vendor/product lookup with a common routine.
	----------------------------
	revision 1.21
	date: 2001/12/01 09:42:39;  author: enami;  lines: +4 -4
	Shorten wmesg so that they can be distinguished in ps/top output.
	----------------------------
	revision 1.12
	date: 2001/01/23 14:04:14;  author: augustss;  lines: +7 -1
	Make sure driver attach/detach events are generated in a
	consistent manner.
	----------------------------

PR:
Submitted by:
Reviewed by:
Approved by:
Obtained from:
MFC after:
2002-02-11 02:57:50 +00:00
Josef Karthauser
2c0634eab6 ANSIfy the function declarations, in line with NetBSD. 2002-02-11 02:25:47 +00:00
Josef Karthauser
d7b35d44a1 Merge from NetBSD: revs 1.43 + 1.45
From the NetBSD logs:

    revision 1.45
    date: 2001/11/29 11:07:12;  author: augustss;  state: Exp;  lines: +12 -2
    Plug a memory leak in an error case.
    ----------------------------
    revision 1.43
    date: 2001/10/19 15:30:25;  author: nathanw;  state: Exp;  lines: +5 -3
    Match printers that report their interface as IEEE 1284 in addition to
    bidirectional.
2002-02-11 01:04:46 +00:00
Josef Karthauser
f512ee4052 Fill in the uhci_dump_ii function (from NetBSD). 2002-02-10 15:38:47 +00:00
Julian Elischer
4ad88f2ca4 Make LINT compile after fruitless attempts to get the authors
to fix their code.

ata stuff:
Change name of ar_attach to not colide with existing ar_attach in if_ar.c.
usb stuff:
Create a dummy function to satisfy a call to it when in DEBUG mode.
2002-02-06 19:35:37 +00:00
Josef Karthauser
0a7fe9cc0b Follow NetBSD and ANSIfy the function definitions.
Remove trailing whitespaces (submitted to NetBSD).
2002-02-03 17:03:34 +00:00
Josef Karthauser
f353db9f9a Regenerate. 2002-02-02 21:12:22 +00:00
Josef Karthauser
8df3da9acc Update comments and product identifiers so that they're the same
as NetBSD's definitions.
2002-02-02 21:09:54 +00:00
Josef Karthauser
a342523198 Add some missing usb vendors (from NetBSD). 2002-02-02 21:02:13 +00:00
Josef Karthauser
c910612aa9 Sync with NetBSD's version, dropping all the 'ltd', 'corp', etc.
It's more important to keep this file easily syncable across the
BSDs, and NetBSD have stated a preference for not adding them to
theirs.
2002-02-02 20:59:43 +00:00
Maxim Sobolev
e6f56180e3 Add support of PhotoClip USB Camera (http://www.myphotoclip.com):
- Vendor&Device IDs for USB product,
- quirk for SCSI CAM.

PR:		34481
Submitted by:	Olexander Kunytsa <kunia@x-telecom.net>
MFC in:		3 days
2002-01-31 11:39:17 +00:00
Josef Karthauser
a07e9d4af3 Merge from NetBSD.
uhub.c:     revision 1.37
    usb.4:      revision 1.30
    usb.c:      revision 1.38
    usb.h:      revision 1.40
    usb_port.h: revision 1.21
    usb_subr.c: revision 1.65
    usbdi.h:    revision 1.40

Split the attach/detach events up into device, driver and controller
attach and detach events.

The commit message from NetBSD was:
        date: 2000/02/02 07:34:00;  author: augustss;  state: Exp;
        Change the USB event mechanism to include more information
        about devices and drivers.  Partly from FreeBSD.

Also rework usbd to take these new event types into account.
2002-01-28 01:03:19 +00:00
Josef Karthauser
67a2e47022 Rearrange the code in USB_DETACH, so that it's like NetBSD's. No
functional change.
2002-01-26 14:00:25 +00:00
Josef Karthauser
eb92aa3c3e Back out the last commit. I committed the wrong file by accident.
The commit message wasn't relevant to that change.  This code will
be committed later.
2002-01-26 13:57:08 +00:00
Josef Karthauser
7fac607b74 Rearrange the code in USB_DETACH, so that it's like NetBSD's.
No functional change.
2002-01-26 13:52:53 +00:00
Josef Karthauser
3d21044dd1 Update the $NetBSD$ ident. 2002-01-26 13:09:52 +00:00
Josef Karthauser
baf3f0817e Reduce the diffs between NetBSD and our version where appropriate
(comments, etc.)
2002-01-26 13:08:57 +00:00
Josef Karthauser
31c1f0005b Merge from NetBSD:
usb.c:	revision 1.39

	revision 1.39
	date: 2000/02/22 11:30:56;  author: augustss;  lines: +7 -1
	Prepare a little for having USB interrupt processing done
	outside the hard interrupt level (in a thread or a softintr).
	No real soft processing done yet.
2002-01-26 12:48:57 +00:00
Josef Karthauser
29ac7b3190 Merge from NetBSD:
usb.c:	revision 1.41

	revision 1.41
	date: 2000/03/16 00:46:38;  author: augustss;  lines: +2 -2
	Make the USB event queue longer.  Mine overflows before the
	(user-land) event handler has started.  But then I have
	about 25 devices connected. :)
2002-01-26 12:40:03 +00:00
Josef Karthauser
c2e0959f73 Update the $NetBSD$ ident to show that some patches have been applied
in the past.
2002-01-26 12:25:32 +00:00
Josef Karthauser
b7e4eb198d Merge from NetBSD:
ohci.c:	revision 1.72 and 1.73
    ohcivar.h:	revision 1.19 and 1.20
    uhci.c:	revision 1.85
    usbdi.h:	a small part of revision 1.40
    usbdivar.h:	revision 1.47

Relevant commit messages from NetBSD are:

	date: 2000/02/22 11:30:54;  author: augustss;  state: Exp;
	Prepare a little for having USB interrupt processing done
	outside the hard interrupt level (in a thread or a softintr).
	No real soft processing done yet.
	----------------------------
	date: 2000/02/01 05:42:53;  author: augustss;  state: Exp;
	Put some #ifdefs around power and shutdown hooks.
2002-01-26 12:04:22 +00:00
Josef Karthauser
46d0cbc2cd Merge from NetBSD:
usb.c:	-r1.35 - 1.37
    usb_port.h:	tiny bit of -r1.26 + an extra bit in the FreeBSD config section.

	revision 1.37
	date: 2000/01/24 18:35:51;  author: thorpej;  state: Exp;  lines: +7 -1
	Use config_pending.
	----------------------------
	revision 1.36
	date: 1999/12/22 23:54:09;  author: augustss;  state: Exp;  lines: +2 -2
	Use the flags `locator' to govern if devices are detected early or
	late during cold boot.
	----------------------------
	revision 1.35
	date: 1999/12/20 02:12:23;  author: augustss;  state: Exp;  lines: +8 -5
	Make sure tsleep() is not called during cold boot.
2002-01-24 20:21:17 +00:00
Guido van Rooij
a3e5380a47 1) Fix a debug statement by filling in its data before the printf in
stead of after
2) Honour NO_TEST_UNIT_READY quirk for atapi devices as well
3) Actually support FujiFilm FinePix 6800 camera's. Will very likely also
work for other FinePix models.

Based on a debug session about half a year ago with Nik Hibma.
MFC after:	2 weeks
2002-01-24 15:10:53 +00:00
Josef Karthauser
c3da78970e Merge from NetBSD:
ohci.c:	-r1.69 to 1.71
    ohcireg.h:	-r1.14

Some of these deltas are based upon patches that we submitted back to
NetBSD.  They got manifested slightly differently though, so I've brought
back those differences to bring our code bases closer together.

The logs from the NetBSD version of ohci.c:

	revision 1.71
	date: 2000/02/01 05:42:52;  author: augustss;  state: Exp;  lines: +13 -2
	Put some #ifdefs around power and shutdown hooks.
	----------------------------
	revision 1.70
	date: 2000/01/31 22:35:13;  author: augustss;  state: Exp;  lines: +7 -7
	Rename TAILMASK to HEADMASK, since it really masks the head pointer.
	From FreeBSD.
	----------------------------
	revision 1.69
	date: 2000/01/31 22:09:13;  author: augustss;  state: Exp;  lines: +18 -14
	Change where the has table for physical-to-virtual address translation
	is handled.  Partly from FreeBSD.
2002-01-21 05:02:21 +00:00
Josef Karthauser
851522be27 Merge from NetBSD:
ohci.c:	-r1.68
    ohcireg.h:	-r1.13

	date: 2000/01/31 20:17:25;  author: augustss;  state: Exp;
	Fiddle with over-current protect when turning on port power to make
	things work for some OHCI controllers.
2002-01-21 04:24:33 +00:00
Josef Karthauser
3bedcae34f Merge from NetBSD:
revision 1.65
	date: 2000/01/25 12:06:21;  author: augustss;  state: Exp;  lines: +10 -2
	Add done method for root control transfers.
2002-01-21 04:15:39 +00:00