summaryrefslogtreecommitdiffstats
path: root/sys/dev/kbd/atkbdcreg.h
diff options
context:
space:
mode:
authoryokota <yokota@FreeBSD.org>2000-03-19 03:25:13 +0000
committeryokota <yokota@FreeBSD.org>2000-03-19 03:25:13 +0000
commit9435f0f0e18180735ef2cdcb77af913b197d332c (patch)
tree715c8383cbab0ee926f7f79699b82c6ed8bf8e82 /sys/dev/kbd/atkbdcreg.h
parentc778d5b01b612cbc11bb9bf66030443d63e6f1e4 (diff)
downloadFreeBSD-src-9435f0f0e18180735ef2cdcb77af913b197d332c.zip
FreeBSD-src-9435f0f0e18180735ef2cdcb77af913b197d332c.tar.gz
- Properly keep track of I/O port resources.
- Use bus_space_read/write() to access the ports.
Diffstat (limited to 'sys/dev/kbd/atkbdcreg.h')
-rw-r--r--sys/dev/kbd/atkbdcreg.h20
1 files changed, 15 insertions, 5 deletions
diff --git a/sys/dev/kbd/atkbdcreg.h b/sys/dev/kbd/atkbdcreg.h
index 164f6c1..294ef6f 100644
--- a/sys/dev/kbd/atkbdcreg.h
+++ b/sys/dev/kbd/atkbdcreg.h
@@ -184,8 +184,14 @@ typedef struct _kqueue {
#endif
} kqueue;
+struct resource;
+
typedef struct atkbdc_softc {
- int port; /* base port address */
+ struct resource *port0; /* data port */
+ struct resource *port1; /* status port */
+ bus_space_tag_t iot;
+ bus_space_handle_t ioh0;
+ bus_space_handle_t ioh1;
int command_byte; /* current command byte value */
int command_mask; /* command byte mask bits for kbd/aux devices */
int lock; /* FIXME: XXX not quite a semaphore... */
@@ -194,9 +200,12 @@ typedef struct atkbdc_softc {
} atkbdc_softc_t;
enum kbdc_device_ivar {
- KBDC_IVAR_PORT,
KBDC_IVAR_IRQ,
KBDC_IVAR_FLAGS,
+ KBDC_IVAR_VENDORID,
+ KBDC_IVAR_SERIAL,
+ KBDC_IVAR_LOGICALID,
+ KBDC_IVAR_COMPATID,
};
typedef caddr_t KBDC;
@@ -204,11 +213,12 @@ typedef caddr_t KBDC;
/* function prototypes */
atkbdc_softc_t *atkbdc_get_softc(int unit);
-int atkbdc_probe_unit(int unit, int port);
-int atkbdc_attach_unit(int unit, atkbdc_softc_t *sc, int port);
+int atkbdc_probe_unit(int unit, struct resource *port0, struct resource *port1);
+int atkbdc_attach_unit(int unit, atkbdc_softc_t *sc, struct resource *port0,
+ struct resource *port1);
int atkbdc_configure(void);
-KBDC kbdc_open(int port);
+KBDC atkbdc_open(int unit);
int kbdc_lock(KBDC kbdc, int lock);
int kbdc_data_ready(KBDC kbdc);
OpenPOWER on IntegriCloud