computer 'suspended', although the slot was powered off. There was a
race where the slow could be powered off *after* it was assigned a
new driver when the computer was 'resumed'.
Noticed by: Brian Somers <brian@Awfulhak.org>
We do the same thing we do with all the other Vadem chips and print the
right identification for these chips. Tested with the 365, and inferred
for the 465.
This allows the cheapo PCMCIA card that I got from necx to print the right
chip number on boot.
`void *' arg. Fixed or hid most of the resulting type mismatches.
Handlers can now be updated locally (except for reworking their
global declarations in isa_device.h).
FreeBSD/alpha. The most significant item is to change the command
argument to ioctl functions from int to u_long. This change brings us
inline with various other BSD versions. Driver writers may like to
use (__FreeBSD_version == 300003) to detect this change.
The prototype FreeBSD/alpha machdep will follow in a couple of days
time.
was really removed, or simply 'faked' by a suspend/resume. Keep track
of both current and previous state, and send that information to the
userland programs.
[
XXX - This breaks binary compatability with older pccardd programs, but
they don't work reliably. :(
]
This introduce an xxxFS_BOOT for each of the rootable filesystems.
(Presently not required, but encouraged to allow a smooth move of option *FS
to opt_dontuse.h later.)
LFS is temporarily disabled, and will be re-enabled tomorrow.
and initializes the next two ports in order starting at 03e0. This
also patches pcic_p.h to reduce the I/O ports mapped from 4 to 2.
Submitted by: Ted Faber <faber@ISI.EDU>
option PCIC_NOCLRREGS). This is now the default behavior since it's
apparently required for the CLPD6832, and doesn't negatively affect
any of my test machines.
Requested by: Ted Faber <faber@ISI.EDU>
mode. Currently, the only supported controller is the Cirrus Logic
PD6832, but others can be supported with docs on them.
Submitted by: Ted Faber <faber@ISI.EDU>
(update_intr_masks might not need to be done in 3.X, but the new generic
interrupt code is incomplete w/regard to support for the PCCARD code, so
to avoid any potential problems use it. It can't hurt).
- Correctly register pcic_imask with the system interrupt code.
- Call update_intr_masks() so that pcic_imask modifications that occur
when card interrupts are registered get updated in the system
interrupt code.
removed. Add a new state 'suspend' so we 'fake' insertion events at
resume time for the cards that have been suspended.
[
The code still works if you remove the card during suspend, switch the
card during suspend, or combinations of both.
]
Reviewed by: frf@xocolatl.com
use a Linker Set. Note, if a driver is loaded as an LKM if will have
to use the function call, but since none of the existing drivers
are loadable, this made things cleaner and boot messages nicer.
Obtained from: PAO-970616
* Kill individual drivers 'suspend' routines, since there's no simple/safe
way to suspend/resume a card w/out going through the complete probe
at initialization time.
* Default to using the apm_pccard_resume sysctl code, which basically
pretends the card was removed, and then re-inserted. Suspend/resume
is now 'emulated' with a fake insert/removal. (Hence we no longer
need the driver-specific suspend routines.)
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
own definition of ISA_HOLE_START. We shouldn't need to include
bus/processor specific code in here, but it is required. At least by
doing it this way it becomes more obvious where the bogusness is.
Obtained from: email with bde
but it has too much baggage).
- create a new routine 'unregister_device_interrupt', which is now used
instead of having two routines with the same code snippet.
- Minor cleanups and commenting.
[ No functional changes, just moving things around ]
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.
]
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