|
|
| version 1.6, 2004/02/05 13:32:07 | version 1.7, 2004/02/05 17:51:43 |
|---|---|
| Line 40 | Line 40 |
| #include <sys/systm.h> | #include <sys/systm.h> |
| #include <sys/types.h> | #include <sys/types.h> |
| #include <sys/mbuf.h> | #include <sys/mbuf.h> |
| #if __FreeBSD_version < 500000 | #if defined(__DragonFly__) || __FreeBSD_version < 500000 |
| #include <sys/buf.h> | #include <sys/buf.h> |
| #else | #else |
| #include <sys/bio.h> | #include <sys/bio.h> |
| Line 89 struct cdevsw firewire_cdevsw = | Line 89 struct cdevsw firewire_cdevsw = |
| "fw", CDEV_MAJOR, D_MEM, NULL, 0, | "fw", CDEV_MAJOR, D_MEM, NULL, 0, |
| fw_open, fw_close, fw_read, fw_write, fw_ioctl, | fw_open, fw_close, fw_read, fw_write, fw_ioctl, |
| fw_poll, fw_mmap, fw_strategy, nodump, nopsize, | fw_poll, fw_mmap, fw_strategy, nodump, nopsize, |
| #else | #elif __FreeBSD_version >= 500104 |
| #if __FreeBSD_version >= 500104 | |
| .d_open = fw_open, | .d_open = fw_open, |
| .d_close = fw_close, | .d_close = fw_close, |
| .d_read = fw_read, | .d_read = fw_read, |
| Line 107 struct cdevsw firewire_cdevsw = | Line 106 struct cdevsw firewire_cdevsw = |
| fw_poll, fw_mmap, fw_strategy, "fw", CDEV_MAJOR, | fw_poll, fw_mmap, fw_strategy, "fw", CDEV_MAJOR, |
| nodump, nopsize, D_MEM, -1 | nodump, nopsize, D_MEM, -1 |
| #endif | #endif |
| #endif | |
| }; | }; |
| struct fw_drv1 { | struct fw_drv1 { |
| Line 191 fw_open (dev_t dev, int flags, int fmt, | Line 189 fw_open (dev_t dev, int flags, int fmt, |
| if (dev->si_drv1 != NULL) | if (dev->si_drv1 != NULL) |
| return (EBUSY); | return (EBUSY); |
| #if __FreeBSD_version >= 500000 | #if defined(__FreeBSD__) && __FreeBSD_version >= 500000 |
| if ((dev->si_flags & SI_NAMED) == 0) { | if ((dev->si_flags & SI_NAMED) == 0) { |
| int unit = DEV2UNIT(dev); | int unit = DEV2UNIT(dev); |
| int sub = DEV2SUB(dev); | int sub = DEV2SUB(dev); |
| Line 754 fw_poll(dev_t dev, int events, fw_proc * | Line 752 fw_poll(dev_t dev, int events, fw_proc * |
| } | } |
| static int | static int |
| #if __FreeBSD_version < 500102 | #if defined(__DragonFly__) || __FreeBSD_version < 500102 |
| fw_mmap (dev_t dev, vm_offset_t offset, int nproto) | fw_mmap (dev_t dev, vm_offset_t offset, int nproto) |
| #else | #else |
| fw_mmap (dev_t dev, vm_offset_t offset, vm_paddr_t *paddr, int nproto) | fw_mmap (dev_t dev, vm_offset_t offset, vm_paddr_t *paddr, int nproto) |
| Line 764 fw_mmap (dev_t dev, vm_offset_t offset, | Line 762 fw_mmap (dev_t dev, vm_offset_t offset, |
| int unit = DEV2UNIT(dev); | int unit = DEV2UNIT(dev); |
| if (DEV_FWMEM(dev)) | if (DEV_FWMEM(dev)) |
| #if __FreeBSD_version < 500102 | #if defined(__DragonFly__) || __FreeBSD_version < 500102 |
| return fwmem_mmap(dev, offset, nproto); | return fwmem_mmap(dev, offset, nproto); |
| #else | #else |
| return fwmem_mmap(dev, offset, paddr, nproto); | return fwmem_mmap(dev, offset, paddr, nproto); |
| Line 797 fwdev_makedev(struct firewire_softc *sc) | Line 795 fwdev_makedev(struct firewire_softc *sc) |
| { | { |
| int err = 0; | int err = 0; |
| #if __FreeBSD_version >= 500000 | #if defined(__DragonFly__) || __FreeBSD_version < 500000 |
| cdevsw_add(&firewire_cdevsw); | |
| #else | |
| dev_t d; | dev_t d; |
| int unit; | int unit; |
| Line 812 fwdev_makedev(struct firewire_softc *sc) | Line 812 fwdev_makedev(struct firewire_softc *sc) |
| dev_depends(sc->dev, d); | dev_depends(sc->dev, d); |
| make_dev_alias(sc->dev, "fw%d", unit); | make_dev_alias(sc->dev, "fw%d", unit); |
| make_dev_alias(d, "fwmem%d", unit); | make_dev_alias(d, "fwmem%d", unit); |
| #else | |
| cdevsw_add(&firewire_cdevsw); | |
| #endif | #endif |
| return (err); | return (err); |
| Line 824 fwdev_destroydev(struct firewire_softc * | Line 822 fwdev_destroydev(struct firewire_softc * |
| { | { |
| int err = 0; | int err = 0; |
| #if __FreeBSD_version >= 500000 | #if defined(__DragonFly__) || __FreeBSD_version < 500000 |
| destroy_dev(sc->dev); | |
| #else | |
| cdevsw_remove(&firewire_cdevsw); | cdevsw_remove(&firewire_cdevsw); |
| #else | |
| destroy_dev(sc->dev); | |
| #endif | #endif |
| return (err); | return (err); |
| } | } |
| #if __FreeBSD_version >= 500000 | #if defined(__FreeBSD__) && __FreeBSD_version >= 500000 |
| #define NDEVTYPE 2 | #define NDEVTYPE 2 |
| void | void |
| fwdev_clone(void *arg, char *name, int namelen, dev_t *dev) | fwdev_clone(void *arg, char *name, int namelen, dev_t *dev) |