diff options
author | imp <imp@FreeBSD.org> | 2008-11-21 03:03:57 +0000 |
---|---|---|
committer | imp <imp@FreeBSD.org> | 2008-11-21 03:03:57 +0000 |
commit | 8725ce537786f401a75b1bf5d1142bacb2eb9513 (patch) | |
tree | 0b31d1541ac19bfd34d56fad4885be97a7ff7065 | |
parent | 1c382cbab03138e8f0748a30ad83473a1a52371c (diff) | |
download | FreeBSD-src-8725ce537786f401a75b1bf5d1142bacb2eb9513.zip FreeBSD-src-8725ce537786f401a75b1bf5d1142bacb2eb9513.tar.gz |
Create a /dev/cardbus%d.cis, to be compatible with older versions of
the software. This is a trivial amount of code to keep wireless
monitoring software working... I plan on removing it in 9.0.
-rw-r--r-- | sys/dev/cardbus/cardbus_device.c | 6 | ||||
-rw-r--r-- | sys/dev/cardbus/cardbusvar.h | 1 |
2 files changed, 6 insertions, 1 deletions
diff --git a/sys/dev/cardbus/cardbus_device.c b/sys/dev/cardbus/cardbus_device.c index 513caba..b930444 100644 --- a/sys/dev/cardbus/cardbus_device.c +++ b/sys/dev/cardbus/cardbus_device.c @@ -118,7 +118,9 @@ cardbus_device_create(struct cardbus_softc *sc, struct cardbus_devinfo *devi, devi->sc_cisdev = make_dev(&cardbus_cdevsw, minor, 0, 0, 0666, "cardbus%d.%d.cis", device_get_unit(sc->sc_dev), devi->pci.cfg.func); - /* XXX need cardbus%d.cis compat layer here ? */ + if (devi->pci.cfg.func == 0) + devi->sc_cisdev_compat = make_dev_alias(devi->sc_cisdev, + "cardbus%d.cis", device_get_unit(sc->sc_dev)); devi->sc_cisdev->si_drv1 = devi; return (0); } @@ -128,6 +130,8 @@ cardbus_device_destroy(struct cardbus_devinfo *devi) { if (devi->sc_cisdev) destroy_dev(devi->sc_cisdev); + if (devi->sc_cisdev_compat) + destroy_dev(devi->sc_cisdev_compat); return (0); } diff --git a/sys/dev/cardbus/cardbusvar.h b/sys/dev/cardbus/cardbusvar.h index 6264f69..941cc0a6 100644 --- a/sys/dev/cardbus/cardbusvar.h +++ b/sys/dev/cardbus/cardbusvar.h @@ -60,6 +60,7 @@ struct cardbus_devinfo } funce; uint32_t fepresent; /* bit mask of funce values present */ struct cdev *sc_cisdev; + struct cdev *sc_cisdev_compat; struct cis_buffer sc_cis; }; |