First part of patches to make sio grok 16-bit serial cards under
NEWCARD. Other patches may be reqiured to sio to prevent a hang on eject. Also add commented out entries for sio_pccard.c in files.pc98 to match other architectures. Submitted by: yamamoto shigeru-san
This commit is contained in:
parent
db87601b0e
commit
c62822dc9f
@ -117,7 +117,7 @@ dev/sbni/if_sbni_pci.c optional sbni pci
|
||||
dev/sio/sio.c optional sio
|
||||
dev/sio/sio_isa.c optional sio isa
|
||||
dev/sio/sio_pccard.c optional sio card
|
||||
#dev/sio/sio_pccard.c optional sio pccard
|
||||
dev/sio/sio_pccard.c optional sio pccard
|
||||
dev/sio/sio_pci.c optional sio pci
|
||||
dev/sr/if_sr_isa.c optional sr isa
|
||||
dev/syscons/apm/apm_saver.c optional apm_saver apm
|
||||
|
@ -399,6 +399,8 @@ pc98/pc98/scgdcrndr.c optional sc gdc
|
||||
pc98/pc98/scterm-sck.c optional sc
|
||||
pc98/pc98/scvtbpc98.c optional sc
|
||||
pc98/pc98/sio.c optional sio
|
||||
#pc98/pc98/sio_pccard.c optional card
|
||||
#pc98/pc98/sio_pccard.c optional pccard
|
||||
pc98/pc98/spkr.c optional speaker
|
||||
pc98/pc98/syscons.c optional sc
|
||||
pc98/pc98/syscons_pc98.c optional sc
|
||||
|
@ -40,18 +40,28 @@
|
||||
#include <machine/resource.h>
|
||||
#include <sys/timepps.h>
|
||||
|
||||
#include <dev/pccard/pccardreg.h>
|
||||
#include <dev/pccard/pccardvar.h>
|
||||
#include <dev/pccard/pccarddevs.h>
|
||||
|
||||
#include <dev/sio/siovar.h>
|
||||
|
||||
static int sio_pccard_attach __P((device_t dev));
|
||||
static int sio_pccard_detach __P((device_t dev));
|
||||
static int sio_pccard_match __P((device_t self));
|
||||
static int sio_pccard_probe __P((device_t dev));
|
||||
|
||||
static device_method_t sio_pccard_methods[] = {
|
||||
/* Device interface */
|
||||
DEVMETHOD(device_probe, sio_pccard_probe),
|
||||
DEVMETHOD(device_attach, sio_pccard_attach),
|
||||
DEVMETHOD(device_probe, pccard_compat_probe),
|
||||
DEVMETHOD(device_attach, pccard_compat_attach),
|
||||
DEVMETHOD(device_detach, sio_pccard_detach),
|
||||
|
||||
/* Card interface */
|
||||
DEVMETHOD(card_compat_match, sio_pccard_match),
|
||||
DEVMETHOD(card_compat_probe, sio_pccard_probe),
|
||||
DEVMETHOD(card_compat_attach, sio_pccard_attach),
|
||||
|
||||
{ 0, 0 }
|
||||
};
|
||||
|
||||
@ -61,6 +71,24 @@ static driver_t sio_pccard_driver = {
|
||||
sizeof(struct com_s),
|
||||
};
|
||||
|
||||
static int
|
||||
sio_pccard_match(device_t dev)
|
||||
{
|
||||
int error = 0;
|
||||
u_int32_t fcn = PCCARD_FUNCTION_UNSPEC;
|
||||
|
||||
error = pccard_get_function(dev, &fcn);
|
||||
if (error != 0)
|
||||
return (error);
|
||||
/*
|
||||
* If a serial card, we are likely the right driver.
|
||||
*/
|
||||
if (fcn == PCCARD_FUNCTION_SERIAL)
|
||||
return (0);
|
||||
|
||||
return(ENXIO);
|
||||
}
|
||||
|
||||
static int
|
||||
sio_pccard_probe(dev)
|
||||
device_t dev;
|
||||
|
Loading…
Reference in New Issue
Block a user