diff options
Diffstat (limited to 'sys/dev/sn/if_sn_pccard.c')
-rw-r--r-- | sys/dev/sn/if_sn_pccard.c | 31 |
1 files changed, 26 insertions, 5 deletions
diff --git a/sys/dev/sn/if_sn_pccard.c b/sys/dev/sn/if_sn_pccard.c index 4220dea..5e41bec 100644 --- a/sys/dev/sn/if_sn_pccard.c +++ b/sys/dev/sn/if_sn_pccard.c @@ -55,13 +55,22 @@ #include <dev/sn/if_snvar.h> #include <dev/pccard/pccardvar.h> +#include <dev/pccard/pccarddevs.h> + +#include "card_if.h" + /* * Initialize the device - called from Slot manager. */ static int sn_pccard_probe(device_t dev) { - return (sn_probe(dev, 1)); + int err; + + printf ("Probing sn driver\n"); + err = sn_probe(dev, 1); + printf("sn_probe says %d\n", err); + return (err); } static int @@ -80,7 +89,6 @@ sn_pccard_attach(device_t dev) sc->pccard_enaddr = 1; bcopy(ether_addr, sc->arpcom.ac_enaddr, ETHER_ADDR_LEN); } - return (sn_attach(dev)); } @@ -95,12 +103,23 @@ sn_pccard_detach(device_t dev) return 0; } +static int +sn_pccard_match(device_t dev) +{ + return EIO; +} + static device_method_t sn_pccard_methods[] = { /* Device interface */ - DEVMETHOD(device_probe, sn_pccard_probe), - DEVMETHOD(device_attach, sn_pccard_attach), + DEVMETHOD(device_probe, pccard_compat_probe), + DEVMETHOD(device_attach, pccard_compat_attach), DEVMETHOD(device_detach, sn_pccard_detach), + /* Card interface */ + DEVMETHOD(card_compat_match, sn_pccard_match), + DEVMETHOD(card_compat_probe, sn_pccard_probe), + DEVMETHOD(card_compat_attach, sn_pccard_attach), + { 0, 0 } }; @@ -112,4 +131,6 @@ static driver_t sn_pccard_driver = { extern devclass_t sn_devclass; -DRIVER_MODULE(sn, pccard, sn_pccard_driver, sn_devclass, 0, 0); +DRIVER_MODULE(if_sn, pccard, sn_pccard_driver, sn_devclass, 0, 0); +MODULE_DEPEND(if_sn, pccard, 1, 1, 1); +MODULE_DEPEND(if_sn, pcic, 1, 1, 1); /* XXX */ |