Commit Graph

50 Commits

Author SHA1 Message Date
nate
1870789dd3 - Style nit. 1997-10-28 20:50:58 +00:00
nate
cbe958ff02 - Do a bunch of gratuitous changes intended to make the code easier to
follow.
 * Rename/reorder all of the pccard structures, change many of the member
   names to be descriptive, and follow more closely other 'bus' drivers
   naming schemes.
 * Rename a bunch of parameter and local variable names to be more
   consistant in the code.
 * Renamed the PCCARD 'crd' device to be the 'card' device
 * KNF and make the code consistant where it was obvious.
 * ifdef'd out some unused code
1997-10-26 04:36:24 +00:00
nate
e067e9d378 - KNF the PCI stuff, no functional changes. 1997-10-25 21:02:44 +00:00
nate
65d7afea71 - Recognize the Cirrus Logic PD6729/6730 PC-Card Controller behind the
PCI bus.

[ Re-organized the code to be easier to extend, based on Michael's patch ]

Submitted by:	Michael Reifenberger <root@totum.plaut.de>
1997-10-24 15:39:00 +00:00
wollman
f9968aae57 LEarn about the TI 1131. 1997-10-17 16:34:08 +00:00
nate
7d2c57a919 - Fix braino in last commit. 1997-10-06 04:02:42 +00:00
nate
9a85c6e321 Modem cards send the speaker audio (dialing noises) to the host's
speaker.  Cirrus Logic PCIC chips must enable this.  There is also a Low
Power Dynamic Mode bit that claims to reduce power consumption by 30%,
so enable it and hope for the best.

PR:		4650
Submitted by:	Nick Sayer <nsayer@quack.kfu.com>
1997-10-06 03:17:36 +00:00
nate
a1fd22b273 - Don't start at IRQ 0 in build-freelist, but instead start at IRQ 1.
(Not sure if this makes muich difference, but you never know.)
1997-10-06 02:54:19 +00:00
nate
cb54cd1bd8 - Style police
- Updated some comments using data from the most recent PAO release.

Obtained (partially) from:	PAO-970616
1997-10-06 02:46:38 +00:00
gibbs
30cd24efde Update for new callout interface. 1997-09-21 22:02:25 +00:00
bde
5b414f84c4 Oops, unremoved used #include. 1997-07-21 16:55:28 +00:00
bde
2c6307f37b Use soft_imask instead of SWI_MASK in the LKM version. SWI_MASK shouldn't
have been visible in LKMs, since it had the wrong value for the APIC_IO
case.

Removed unused #includes.
1997-07-21 16:50:46 +00:00
jkh
da21ac34fc Make this puppy compile again - add two includes. 1997-06-01 05:04:39 +00:00
phk
eab5af55af Don't apply 5V when we want 3.3V.
Kludge around the case where the PCIC refuses to use 5V because it knows
better than us.
1997-05-22 07:29:24 +00:00
phk
8c928c6ac3 Recognize, but don't actually do much with a TI PCI1130 PcCard/CardBus bridge. 1997-05-03 13:57:26 +00:00
phk
74bb3fd016 1. i82365.h: Chip identifiers should not be #ifdef PC98. Add identifier
(pt. unused) for TI PCI1130.

2. pccard.c: PCIC_RESUME_RESET is now (also) a sysctl.  (Never make it
    a #ifdef if it can be made a sysctl!)

3. pcic.c: make getb() and putb() proper member functions of struct
    pcic_slot.  Add a couple of missing casts.
1997-04-20 07:21:12 +00:00
dufault
ad12cf6735 Make MOD_* macros almost consistent:
Use the name argument almost the same in all LKM types.  Maintain
the current behavior for the external (e.g., modstat) name for DEV,
EXEC, and MISC types being #name ## "_mod" and SYCALL and VFS only
#name.  This is a candidate for change and I vote just the name without
the "_mod".

Change the DISPATCH macro to MOD_DISPATCH for consistency with the
other macros.

Add an LKM_ANON #define to eliminate the magic -1 and associated
signed/unsigned warnings.

Add MOD_PRIVATE to support wcd.c's poking around in the lkm structure.

Change source in tree to use the new interface.

Reviewed by:	Bruce Evans
1997-04-06 11:14:13 +00:00
nate
551447563b Argh, this time get the parentheses right. This hasn't been a good day for me. 1997-02-21 05:46:57 +00:00
nate
a7f5534b70 Whoops, make sure we have enough parenthesis.
Pointed out by:	bde
1997-02-21 01:29:32 +00:00
nate
4bdceb645f Try to make the BROKEN_VLSI chipset detection better, and not break
non-broken chipssets whose ID is 0x84, such as the one found in the NEC
6030H.

> The code relies on the assumption that on a genuine_broken vlsi, you
> don't get 0x84 when probing slot 1 in the normal location.  On the versa I
> do get 0x84 when probing slot 1 in the normal location.  What you get on
> genuine_broken at the normal slot 1 location is unknown to me;

Submitted by:	Chris Timmons <skynyrd@opus.cts.cwu.edu>
1997-02-18 19:20:52 +00:00
nate
d444e3a6d1 One other minor include file change.
Submitted by:	bde
1997-01-14 16:29:05 +00:00
nate
86f6c90a52 Include file cleanups.
Submitted by:	bde
1997-01-13 21:51:13 +00:00
nate
1ca8414ec7 Initialize pcic_imask with SWI_MASK to interference from timeout routines.
Suggested by:	bde
1997-01-11 23:40:08 +00:00
nate
5b4151fb02 Whoops, typo. 1997-01-11 18:32:27 +00:00
nate
6a189e7c07 Update the PCIC controller's imask with individual slot IRQ's.
Assuming that the intr_mask[] was updated by changing the maskptrs (the
existing update_intr_masks() function will not work) this code was
written so the PCIC controller insertion/removal events will not
interrupt the card IRQ handler events.

Some possible scenarios:
+ Card is removed during IRQ handler:

  - PCIC card handler is allowed to interrupt
  - card removal event is called, removing the driver and data structures
  * card interrupt handler continues w/out driver, data structures, and hardware

OR (the code just committed)

  * card IRQ handler has no hardware to read/write to, but has code and
    data to run on (XXX- Assume it completes and doesn't spin forever)
  - PCIC card handler unloads the card driver

The current situation at least leaves the card interrupt handlers the
drivers and data structures to work with although the hardware can't be
guaranteed.

Reviewed by:	bde
1997-01-11 18:23:20 +00:00
nate
651c987663 Now that all of the IRQ's should be allocated by the time this
pccard_configure() is called (except for LKm's :( ), build a list of
unassigned interrupts for the PCCARD code to use.

Reviewed by:	bde
1997-01-11 17:54:57 +00:00
nate
2673e6bbe4 - Added PCIC resume function
- Cleaned up VLSI-PCIC work-around code

Submitted by:	nate & the Nomads
1997-01-08 00:22:58 +00:00
nate
8dd8bd8265 - Don't include <machine/laptops.h>. It was a kludge I should never
have imported.
1996-09-07 17:50:47 +00:00
asami
c03db6dd78 Yet another merge. Remove support.s by deleting memcopy. Remove
autoconf.c by merging icu.h.  Fix a couple of typos.

Submitted by:	The FreeBSD(98) Development Team.
1996-09-07 02:14:47 +00:00
phk
6eb6a7debf Remove devconf, it never grew up to be of any use. 1996-09-06 23:09:20 +00:00
asami
c0e03d4fb9 The Great PC98 Merge.
All new code is "#ifdef PC98"ed so this should make no difference to
PC/AT (and its clones) users.

Ok'd by:	core
Submitted by:	FreeBSD(98) development team
1996-06-14 11:02:28 +00:00
nate
6d561a2d71 Adds the APM hooks into the generic pccard kernel files. With this code
in place device drivers can now register power-down/power-up routines so
that we can use common routines to power-up/power-down cards for
insert/removals, suspend/resume, etc..

Reviewed by:	phk
Submitted by:	the 'Nomads'
1996-04-23 16:03:08 +00:00
bde
858576c50e Changed #includes of <i386/include/foo.h> to #includes of <machine/foo.h>. 1996-04-07 17:56:53 +00:00
gpalmer
5e5400520b pccard.c:
#include <i386/include/clock.h> to get sysbeep() prototype

pcic.c:
	add appropriate #ifdef around a prototype to quiet GCC because
	fn decl. is also #ifdef'd.
1996-04-06 01:16:19 +00:00
nate
a1e40f4eda Removed un-used code. 1996-02-21 23:31:03 +00:00
nate
f0ab008cfe Updated PC-CARD support to contain most of the code from the latest
Japanese BSD-Nomad release.

Reviewed by:	phk
Submitted by:	hosokawa@mt.cs.keio.ac.jp and the rest of the Nomads
1996-02-21 23:20:21 +00:00
nate
b93a285815 Don't rely on the card 'automatically' powering up when we probe it.
On some laptops, this doesn't work (ie; IBM 75x series), so force it
to power on.

With this modification, I am able to read the tuples off 4 different
PCMCIA cards on my ThinkPad.

Reviewed by:	phk@FreeBSD.org
Obtained from:  if_zp.c
1996-01-06 07:49:43 +00:00
bde
1a2e0933dd Completed function declarations and/or added prototypes and/or added
#includes to get prototypes.
1995-12-16 00:11:11 +00:00
phk
30fb556fec Make the LKM version compile again.
Pointed out by: Michael Smith <msmith@atrad.adelaide.edu.au>
1995-11-21 08:27:00 +00:00
bde
f50f717db4 Changed the first (name) arg of MOD_DEV(), MOD_EXEC() and MOD_MISC()
from a string to an identifier so that it can be used to generate
declarations and strings.  It's much easier to stringize an identifier
than to identifize a string.  A uniform naming scheme must be used
for the automatically generated things to apply.  This is a feature.

Used the module identifer to generate prototypes for the module load,
unload and stat functions.  Removed the few prototypes for these that
already existed.

Used the module identifier to generate a unique struct tag in MOD_DEV().
This should probably be done for all the MOD_*() macros.

Moved the trailing semicolon from the MOD_*() macro definitions to the
macro invocations that didn't already (bogusly) have it.

Staticized the module load and unload functions.

Added function return types for the module load, unload and stat functions.

lkm/ibcs2/ibcs2.c:
Included <sys/sysproto.h> to get everything prototyped.
Cleaned up #includes.

lkm/ibcs2/ipfw.c:
Cleaned up #includes.

lkm/linux/linux.c:
The module name had to change from "linux_emulator" to "linux_mod" to
be automatically generated.
Cleaned up #includes.

lkm/syscons/*/*_saver.c:
Completed delcarations of function pointers.

sys/i386/isa/atapi.c:
The module name had to change from "atapi" to "atapi_mod" to be
automatically generated.

sys/i386/isa/wcd.c:
Used the fixed MOD_DEV().  This module has two devices and expanded the
macro in the source instead of fixing it.
The module names had to change from "wcd" and "rwcd" to "wcd_mod" and
"rwcd_mod" to be automatically generated.

sys/pccard/pcic.c:
The module name had to change from "pcic" to "pcic_mod" to be
automatically generated.
1995-11-14 07:35:57 +00:00
bde
c70969d534 Fixed the type of yet another timeout function.
Fixed the type of pcic_unload().

Replaced nosys() by lkm_nullcmd() in pcic_mod() and in a misplaced
comment about the lkm interface.
1995-11-13 08:39:44 +00:00
phk
4292c79a94 Clean up the ident style.
Remove the APM stuff
Add support for VA469

Submitted by: Janic.Thaillandier@ratp.fr
1995-11-09 20:44:36 +00:00
bde
fa70c51eee Fixed the type of a timeout function and an interrupt mask variable. 1995-11-09 08:58:20 +00:00
phk
f18d849b1b Fix a missing arg to untimeout. 1995-10-23 12:05:24 +00:00
phk
82e0ca7f74 A mixed bag of changes, relating to getting the state in "lsdev" right,
and pccard support to work sensibly.  Better by far, but still not good.
1995-10-21 00:55:36 +00:00
phk
834b40f394 Make LKM entry consisten with tradition: pcic_mod(). 1995-10-15 16:59:36 +00:00
phk
5e990712ba PCCARD support. 1995-10-10 09:52:55 +00:00
phk
12a7397085 Missed these changes to the pccard stuff. Sorry Martin! 1995-09-20 07:23:51 +00:00
phk
2faa817451 Shut warnings.
Add selwake calls.
remove some trash.
1995-08-25 09:47:06 +00:00
phk
628cbcf9a8 Andrew McRae's pcmcia/pccard code, the kernel part.
This is still very green, but I have managed to get my modem working.
Lots of work still to do, but now at least we can commit it. /phk

Reviewed by:	phk
Submitted by:	Andrew McRae <andrew@mega.com.au>
1995-08-24 08:56:20 +00:00