91 Commits

Author SHA1 Message Date
nate
fdcf922d4f - When doing suspend/resume, only try to suspend those drivers on active
slots.  Otherwise, we try to suspend drivers who have been disabled
  already.

[
The only reason the drivers are still on the list is because of race
conditions where the card is removed while the driver is in use.  We
leave the drivers on the slot list (leaving all of their structures in
place in case a process is using it) but set it's state to empty so that
further uses by the pccard code know not to expect active cards.
]
1997-10-23 02:30:39 +00:00
nate
74b704148b Back our V1.36, due to reports of badness. (IRQ's are again allocated
from the 'lower' interrupts to the 'higher' interrupts.)  We need to
find a way to set the interrupt for the controller in the config file.

Determined by:	handy@sag.space.lockheed.com
1997-10-23 02:25:14 +00:00
nate
251c8be0fe - Simplify code by removing a variable which was initialized once, never
modified, and was expected to have the initialized value.
1997-10-23 00:51:29 +00:00
nate
ecf78217f1 - Bring in APM_PCCARD_RESUME support from PAO, FreeBSD style. This new
sysctl option 'fakes' like a card was removed and inserted when the
  machine is brought up again from a suspend.  It is disabled by default,
  and the old code is used.
Obtained from:	PAO
1997-10-06 05:46:03 +00:00
nate
f58026beed - Include <sys/interrupt.h> to avoid compiler errors. 1997-10-06 04:32:42 +00:00
nate
46da712d66 - Allocate the 'PCIC' interrupt from the last available (higher #) IRQ
instead of the first available, like Win95 does.  This appears to help
  on some machines, and avoids potential problems with built-in serial
  ports which tend to live at IRQ 3, which is usually picked with the
  old method.
1997-10-06 02:56:15 +00:00
gibbs
a415512fd4 Update for new callout interface. 1997-09-21 22:02:25 +00:00
peter
796eb5ce0a Update select -> poll in drivers. 1997-09-14 03:19:42 +00:00
phk
8f01634fd1 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
nate
7217fae5fe In the disable_slot() routine, the variable "i" was
being used without ever being initialized.  From examining
the rest of the routine, it looks like this is a typo,
and it really should have been "1" instead of "i".

Submitted by:	mpp
1997-02-11 17:22:46 +00:00
nate
c18aed3391 Include file cleanups.
Submitted by:	bde
1997-01-13 21:51:13 +00:00
nate
74e2dbdd09 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
8a825f6d66 Removed magic # 16 and replaced with ICU_LEN. 1997-01-11 17:59:38 +00:00
nate
2c93c06cf9 - 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
d2323e2b65 - Don't include <machine/laptops.h>. It was a kludge I should never
have imported.
1996-09-07 17:50:47 +00:00
asami
148ce94beb 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
bca885205d Remove devconf, it never grew up to be of any use. 1996-09-06 23:09:20 +00:00
bde
a89f142f6f Added #include of <machine/md_var.h>. This will be needed when
some declarations are moved from <machine/cpufunc.h> to better
places.
1996-06-25 20:31:01 +00:00
asami
de013e282d Oops, forgot to delete some garbage from working code. 1996-06-14 11:10:19 +00:00
asami
36a1932601 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
d197dcd271 Minor formatting changes. No functional differences, but makes the
style more consistant with KNF and the Nomad release.
1996-06-05 05:30:09 +00:00
nate
298d7dcd87 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
82c211f290 Changed #includes of <i386/include/foo.h> to #includes of <machine/foo.h>. 1996-04-07 17:56:53 +00:00
gpalmer
c3be8da3c6 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
ce6232a085 Removed un-used code. 1996-02-21 23:31:03 +00:00
nate
3f825d9547 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
phk
571dda46ed Fix DEVFS, remove unused vars. 1996-01-28 10:02:38 +00:00
bde
9f28e85671 Completed function declarations and/or added prototypes and/or added
#includes to get prototypes.
1995-12-16 00:11:11 +00:00
phk
a69d1dfbcb Julian forgot to make the *devsw structures static. 1995-12-08 23:23:00 +00:00
julian
1900eea896 Pass 3 of the great devsw changes
most devsw referenced functions are now static, as they are
in the same file as their devsw structure. I've also added DEVFS
support for nearly every device in the system, however
many of the devices have 'incorrect' names under DEVFS
because I couldn't quickly work out the correct naming conventions.
(but devfs won't be coming on line for a month or so anyhow so that doesn't
matter)

If you "OWN" a device which would normally have an entry in /dev
then search for the devfs_add_devsw() entries and munge to make them right..
check out similar devices to see what I might have done in them in you
can't see what's going on..
for a laugh compare conf.c conf.h defore and after... :)
I have not doen DEVFS entries for any DISKSLICE devices yet as that will be
a much more complicated job.. (pass 5 :)

pass 4 will be to make the devsw tables of type (cdevsw * )
rather than (cdevsw)
seems to work here..
complaints to the usual places.. :)
1995-12-08 11:19:42 +00:00
julian
198d88e0ae If you're going to mechanically replicate something in 50 files
it's best to not have a (compiles cleanly) typo in it! (sigh)
1995-11-29 14:41:20 +00:00
julian
f2f63c6ece OK, that's it..
That's EVERY SINGLE driver that has an entry in conf.c..
my next trick will be to define cdevsw[] and bdevsw[]
as empty arrays and remove all those DAMNED defines as well..

Each of these drivers has a SYSINIT linker set entry
that comes in very early.. and asks teh driver to add it's own
entry to the two devsw[] tables.

some slight reworking of the commits from yesterday (added the SYSINIT
stuff and some usually wrong but token DEVFS entries to all these
devices.

BTW does anyone know where the 'ata' entries in conf.c actually reside?
seems we don't actually have a 'ataopen() etc...

If you want to add a new device in conf.c
please  make sure I know
so I can keep it up to date too..

as before, this is all dependent on #if defined(JREMOD)
(and #ifdef DEVFS in parts)
1995-11-29 10:49:16 +00:00
phk
abbc333b67 Fiddle with <machine/isa_device.h> 1995-11-14 20:49:24 +00:00
phk
f898a1f1fe 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
10681514df Fixed the types of the apm suspend/resume functions. 1995-11-09 08:57:10 +00:00
bde
336a6f070b Moved prototypes for devswitch functions from conf.c and driver sources
to <machine/conf.h>.  conf.h was mechanically generated by
`grep ^d_ conf.c >conf.h'.  This accounts for part of its ugliness.  The
prototypes should be moved back to the driver sources when the functions
are staticalized.
1995-11-04 13:25:33 +00:00
phk
6d6a401f8b 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
11529bae00 PCCARD support. 1995-10-10 09:52:55 +00:00
phk
4bf9078556 Missed these changes to the pccard stuff. Sorry Martin! 1995-09-20 07:23:51 +00:00
phk
911405e226 Shut warnings.
Add selwake calls.
remove some trash.
1995-08-25 09:47:06 +00:00
phk
cb797b9f3a 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