aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/cardbus/cardbus_cis.c
diff options
context:
space:
mode:
authorWarner Losh <imp@FreeBSD.org>2003-10-07 03:33:54 +0000
committerWarner Losh <imp@FreeBSD.org>2003-10-07 03:33:54 +0000
commita294cdb6b5b9bafe1865724d6ce0f634e0f787e8 (patch)
tree5153842bccbf28986c9ee3a2e5700c9a9456ab9b /sys/dev/cardbus/cardbus_cis.c
parent0d5500e4aa5f4aa3fddf5e647f5f1085a0561924 (diff)
downloadsrc-a294cdb6b5b9bafe1865724d6ce0f634e0f787e8.tar.gz
src-a294cdb6b5b9bafe1865724d6ce0f634e0f787e8.zip
o move the cis tuple definitions into a common file.
o minor optimization of cardbus_cis processing. Remove a bunch of generic entries that are handled by generic. o no longer need the card_get_type stuff.
Notes
Notes: svn path=/head/; revision=120868
Diffstat (limited to 'sys/dev/cardbus/cardbus_cis.c')
-rw-r--r--sys/dev/cardbus/cardbus_cis.c39
1 files changed, 4 insertions, 35 deletions
diff --git a/sys/dev/cardbus/cardbus_cis.c b/sys/dev/cardbus/cardbus_cis.c
index 478554c70326..1506af5ba855 100644
--- a/sys/dev/cardbus/cardbus_cis.c
+++ b/sys/dev/cardbus/cardbus_cis.c
@@ -49,12 +49,13 @@ __FBSDID("$FreeBSD$");
#include <dev/pci/pcivar.h>
#include <dev/pci/pcireg.h>
+#include <dev/pccard/pccardvar.h>
+#include <dev/pccard/pccard_cis.h>
+
#include <dev/cardbus/cardbusreg.h>
#include <dev/cardbus/cardbusvar.h>
#include <dev/cardbus/cardbus_cis.h>
-#include <dev/pccard/pccardvar.h>
-
extern int cardbus_cis_debug;
#define DPRINTF(a) if (cardbus_cis_debug) printf a
@@ -676,12 +677,6 @@ decode_tuple(device_t cbdev, device_t child, int tupleid, int len,
return (callbacks[i].func(cbdev, child, tupleid, len,
tupledata, start, off, &callbacks[i]));
}
-
- if (tupleid < CISTPL_CUSTOMSTART) {
- device_printf(cbdev, "Undefined tuple encountered, "
- "CIS parsing terminated\n");
- return (EINVAL);
- }
return (callbacks[i].func(cbdev, child, tupleid, len,
tupledata, start, off, NULL));
}
@@ -1019,43 +1014,17 @@ cardbus_do_cis(device_t cbdev, device_t child)
{
int ret;
struct tuple_callbacks init_callbacks[] = {
- MAKETUPLE(NULL, generic),
- MAKETUPLE(DEVICE, generic),
- MAKETUPLE(LONG_LINK_CB, unhandled),
+ MAKETUPLE(LONGLINK_CB, unhandled),
MAKETUPLE(INDIRECT, unhandled),
- MAKETUPLE(CONFIG_CB, generic),
- MAKETUPLE(CFTABLE_ENTRY_CB, generic),
MAKETUPLE(LONGLINK_MFC, unhandled),
MAKETUPLE(BAR, bar),
- MAKETUPLE(PWR_MGMNT, generic),
- MAKETUPLE(EXTDEVICE, generic),
- MAKETUPLE(CHECKSUM, generic),
MAKETUPLE(LONGLINK_A, unhandled),
MAKETUPLE(LONGLINK_C, unhandled),
MAKETUPLE(LINKTARGET, linktarget),
- MAKETUPLE(NO_LINK, generic),
MAKETUPLE(VERS_1, vers_1),
- MAKETUPLE(ALTSTR, generic),
- MAKETUPLE(DEVICE_A, generic),
- MAKETUPLE(JEDEC_C, generic),
- MAKETUPLE(JEDEC_A, generic),
- MAKETUPLE(CONFIG, generic),
- MAKETUPLE(CFTABLE_ENTRY, generic),
- MAKETUPLE(DEVICE_OC, generic),
- MAKETUPLE(DEVICE_OA, generic),
- MAKETUPLE(DEVICE_GEO, generic),
- MAKETUPLE(DEVICE_GEO_A, generic),
MAKETUPLE(MANFID, manfid),
MAKETUPLE(FUNCID, funcid),
MAKETUPLE(FUNCE, funce),
- MAKETUPLE(SWIL, generic),
- MAKETUPLE(VERS_2, generic),
- MAKETUPLE(FORMAT, generic),
- MAKETUPLE(GEOMETRY, generic),
- MAKETUPLE(BYTEORDER, generic),
- MAKETUPLE(DATE, generic),
- MAKETUPLE(BATTERY, generic),
- MAKETUPLE(ORG, generic),
MAKETUPLE(END, end),
MAKETUPLE(GENERIC, generic),
};