diff options
author | nyan <nyan@FreeBSD.org> | 2001-02-25 08:55:07 +0000 |
---|---|---|
committer | nyan <nyan@FreeBSD.org> | 2001-02-25 08:55:07 +0000 |
commit | 34a8061ba3463880570cc365b57a6df68b247c06 (patch) | |
tree | a8ecff3a046c4388d164bd17af00b0fb04fc65f6 /sys/pc98 | |
parent | 03881b0e6167de36767b5b06a3655b9f0e6fbd8e (diff) | |
download | FreeBSD-src-34a8061ba3463880570cc365b57a6df68b247c06.zip FreeBSD-src-34a8061ba3463880570cc365b57a6df68b247c06.tar.gz |
Supported pcmcia modem card.
Submitted by: MURAMATSU Atsushi <amura@ma3.seikyou.ne.jp>
Diffstat (limited to 'sys/pc98')
-rw-r--r-- | sys/pc98/cbus/sio.c | 14 | ||||
-rw-r--r-- | sys/pc98/pc98/sio.c | 14 |
2 files changed, 20 insertions, 8 deletions
diff --git a/sys/pc98/cbus/sio.c b/sys/pc98/cbus/sio.c index 87f00dd..3ccfdf3 100644 --- a/sys/pc98/cbus/sio.c +++ b/sys/pc98/cbus/sio.c @@ -132,7 +132,7 @@ #define COM_IF_MCRS98 0x14 /* same as COM_IF_MC16550II */ #define COM_IF_RSB3000 0x15 #define COM_IF_RSB384 0x16 -#define COM_IF_MODEM_CARD 0x17 /* same as COM_IF_NS16550 */ +#define COM_IF_MODEM_CARD 0x17 #define COM_IF_RSA98III 0x18 #define COM_IF_ESP98 0x19 #define COM_IF_END2 COM_IF_ESP98 @@ -929,7 +929,11 @@ sio_pccard_probe(dev) { /* Do not probe IRQ - pccard doesn't turn on the interrupt line */ /* until bus_setup_intr */ +#ifdef PC98 + SET_FLAG(dev, COM_C_NOPROBE | SET_IFTYPE(COM_IF_MODEM_CARD)); +#else SET_FLAG(dev, COM_C_NOPROBE); +#endif return (sioprobe(dev, 0)); } @@ -1147,7 +1151,7 @@ sio_isa_probe(dev) #ifdef PC98 logical_id = isa_get_logicalid(dev); if (logical_id == 0x0100e4a5) /* RSA-98III */ - device_set_flags(dev, SET_IFTYPE(COM_IF_RSA98III)); + SET_FLAG(dev, SET_IFTYPE(COM_IF_RSA98III)); #endif return (sioprobe(dev, 0)); } @@ -1191,7 +1195,8 @@ sioprobe(dev, xrid) if (IS_8251(iod.if_type)) { port = bus_alloc_resource(dev, SYS_RES_IOPORT, &rid, 0, ~0, 1, RF_ACTIVE); - } else if (iod.if_type == COM_IF_RSA98III || + } else if (iod.if_type == COM_IF_MODEM_CARD || + iod.if_type == COM_IF_RSA98III || isa_get_vendorid(dev)) { port = bus_alloc_resource(dev, SYS_RES_IOPORT, &rid, 0, ~0, if_16550a_type[iod.if_type & 0x0f].iatsz, RF_ACTIVE); @@ -1729,7 +1734,8 @@ sioattach(dev, xrid) if (IS_8251(if_type)) { port = bus_alloc_resource(dev, SYS_RES_IOPORT, &rid, 0, ~0, 1, RF_ACTIVE); - } else if (if_type == COM_IF_RSA98III || + } else if (if_type == COM_IF_MODEM_CARD || + if_type == COM_IF_RSA98III || isa_get_vendorid(dev)) { port = bus_alloc_resource(dev, SYS_RES_IOPORT, &rid, 0, ~0, if_16550a_type[if_type & 0x0f].iatsz, RF_ACTIVE); diff --git a/sys/pc98/pc98/sio.c b/sys/pc98/pc98/sio.c index 87f00dd..3ccfdf3 100644 --- a/sys/pc98/pc98/sio.c +++ b/sys/pc98/pc98/sio.c @@ -132,7 +132,7 @@ #define COM_IF_MCRS98 0x14 /* same as COM_IF_MC16550II */ #define COM_IF_RSB3000 0x15 #define COM_IF_RSB384 0x16 -#define COM_IF_MODEM_CARD 0x17 /* same as COM_IF_NS16550 */ +#define COM_IF_MODEM_CARD 0x17 #define COM_IF_RSA98III 0x18 #define COM_IF_ESP98 0x19 #define COM_IF_END2 COM_IF_ESP98 @@ -929,7 +929,11 @@ sio_pccard_probe(dev) { /* Do not probe IRQ - pccard doesn't turn on the interrupt line */ /* until bus_setup_intr */ +#ifdef PC98 + SET_FLAG(dev, COM_C_NOPROBE | SET_IFTYPE(COM_IF_MODEM_CARD)); +#else SET_FLAG(dev, COM_C_NOPROBE); +#endif return (sioprobe(dev, 0)); } @@ -1147,7 +1151,7 @@ sio_isa_probe(dev) #ifdef PC98 logical_id = isa_get_logicalid(dev); if (logical_id == 0x0100e4a5) /* RSA-98III */ - device_set_flags(dev, SET_IFTYPE(COM_IF_RSA98III)); + SET_FLAG(dev, SET_IFTYPE(COM_IF_RSA98III)); #endif return (sioprobe(dev, 0)); } @@ -1191,7 +1195,8 @@ sioprobe(dev, xrid) if (IS_8251(iod.if_type)) { port = bus_alloc_resource(dev, SYS_RES_IOPORT, &rid, 0, ~0, 1, RF_ACTIVE); - } else if (iod.if_type == COM_IF_RSA98III || + } else if (iod.if_type == COM_IF_MODEM_CARD || + iod.if_type == COM_IF_RSA98III || isa_get_vendorid(dev)) { port = bus_alloc_resource(dev, SYS_RES_IOPORT, &rid, 0, ~0, if_16550a_type[iod.if_type & 0x0f].iatsz, RF_ACTIVE); @@ -1729,7 +1734,8 @@ sioattach(dev, xrid) if (IS_8251(if_type)) { port = bus_alloc_resource(dev, SYS_RES_IOPORT, &rid, 0, ~0, 1, RF_ACTIVE); - } else if (if_type == COM_IF_RSA98III || + } else if (if_type == COM_IF_MODEM_CARD || + if_type == COM_IF_RSA98III || isa_get_vendorid(dev)) { port = bus_alloc_resource(dev, SYS_RES_IOPORT, &rid, 0, ~0, if_16550a_type[if_type & 0x0f].iatsz, RF_ACTIVE); |