summaryrefslogtreecommitdiffstats
path: root/sys/dev/pccard/pccardvar.h
diff options
context:
space:
mode:
authorimp <imp@FreeBSD.org>2008-08-06 07:34:35 +0000
committerimp <imp@FreeBSD.org>2008-08-06 07:34:35 +0000
commitbae3c8b51d964786df333a50471fedc967f35285 (patch)
tree951bcd8a729f3acbe62d3500089bb7093e3ecf5e /sys/dev/pccard/pccardvar.h
parent57f1d2180272b9cf2b9b244dae4b426fc3e57baa (diff)
downloadFreeBSD-src-bae3c8b51d964786df333a50471fedc967f35285.zip
FreeBSD-src-bae3c8b51d964786df333a50471fedc967f35285.tar.gz
Unify the initial card probe/attach procedure with the kldload
procedure. There were some subtle differences before that could lead to a variety of bugs, including resources being lost (in one case forever). pccard_probe_and_attach_card does this now, and includes comments about what's going on and why, since it isn't obvious from the code. Please let me know if I've missed anything... Provide a new function called pccard_select_cfe that allows drivers to select which configuration entry to use. This is needed for some older pre-MFC standard cards with many functions that want to activate all their functions by selecting alternative entries, or to work around broken ones. pccard_select_cfe will migrate into the pccard_if.m interface as its interface stabilizes to keep all the pccard drivers from referencing any symbols in the pccard.ko module directly. Fix a printf to refer to the right function name.
Diffstat (limited to 'sys/dev/pccard/pccardvar.h')
-rw-r--r--sys/dev/pccard/pccardvar.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/dev/pccard/pccardvar.h b/sys/dev/pccard/pccardvar.h
index cda5e98..82d4025 100644
--- a/sys/dev/pccard/pccardvar.h
+++ b/sys/dev/pccard/pccardvar.h
@@ -176,6 +176,9 @@ pccard_ccr_write_1(device_t dev, uint32_t offset, uint8_t val)
return (CARD_CCR_WRITE(device_get_parent(dev), dev, offset, val));
}
+/* Hack */
+int pccard_select_cfe(device_t dev, int entry);
+
/* ivar interface */
enum {
PCCARD_IVAR_ETHADDR, /* read ethernet address from CIS tupple */
OpenPOWER on IntegriCloud