summaryrefslogtreecommitdiffstats
path: root/sys/pccard/slot.h
diff options
context:
space:
mode:
authorimp <imp@FreeBSD.org>2001-07-27 07:21:42 +0000
committerimp <imp@FreeBSD.org>2001-07-27 07:21:42 +0000
commit5323d94f5056a1cff6da3a58669e5415800777c0 (patch)
tree5b691587f87ab221ca6af7189cb77ce890ed6ca1 /sys/pccard/slot.h
parent3e6aed8fdce718dceb09e51b82d2eec614603224 (diff)
downloadFreeBSD-src-5323d94f5056a1cff6da3a58669e5415800777c0.zip
FreeBSD-src-5323d94f5056a1cff6da3a58669e5415800777c0.tar.gz
Attempt to fix and document interactions between suspend/resume and pccardc
power x 0. pccardc power x 0 used to disable the slot. But a suspend/resume would reactivate the pccard. It no longer does that. Now the disabling of the slot is sticy until it is reset with power x 1 or the card is ejected. This seems closer to correct behavior to me. o Process all card state changes the same using pccard_do_stat_change(). o Cleanup disabling the card so that we can preserve the state after the change. Basically, don't set it to empty as often as we do. o On suspend, the new state is "empty" and the laststate is "suspend" o Document state machine with a diagram of states and edges. The edges are labeld to tell the reader what event causes the external state changes. o "machdep.pccard.pcic_resume_reset" may be obsolete now. We always call the bridge driver's resume method on resume now. Otherwise cards won't automatically show up. If it needs to stay, I'll add it back.
Diffstat (limited to 'sys/pccard/slot.h')
-rw-r--r--sys/pccard/slot.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/pccard/slot.h b/sys/pccard/slot.h
index 886110e..779fdbc 100644
--- a/sys/pccard/slot.h
+++ b/sys/pccard/slot.h
@@ -121,7 +121,7 @@ struct slot {
#define PCCARD_DEVICE2SOFTC(d) ((struct slot *) device_get_softc(d))
#define PCCARD_DEV2SOFTC(d) ((struct slot *) (d)->si_drv1)
-enum card_event { card_removed, card_inserted };
+enum card_event { card_removed, card_inserted, card_deactivated };
struct slot *pccard_init_slot(device_t, struct slot_ctrl *);
void pccard_event(struct slot *, enum card_event);
OpenPOWER on IntegriCloud