diff options
author | Peter Wemm <peter@FreeBSD.org> | 2000-01-23 14:41:04 +0000 |
---|---|---|
committer | Peter Wemm <peter@FreeBSD.org> | 2000-01-23 14:41:04 +0000 |
commit | 0f063508d7212aacd287ee0f19a6a1a2f9153fe7 (patch) | |
tree | b8838a08c5aba14e1811b518ffb2a027dddbc858 /sys/dev/ppbus/pps.c | |
parent | 37973e862dd6ad2081d02af953d34c255cf88b20 (diff) |
Notes
Diffstat (limited to 'sys/dev/ppbus/pps.c')
-rw-r--r-- | sys/dev/ppbus/pps.c | 41 |
1 files changed, 21 insertions, 20 deletions
diff --git a/sys/dev/ppbus/pps.c b/sys/dev/ppbus/pps.c index 9a540dc00231a..e4b686678dd35 100644 --- a/sys/dev/ppbus/pps.c +++ b/sys/dev/ppbus/pps.c @@ -43,8 +43,6 @@ struct pps_data { void *intr_cookie; /* interrupt registration cookie */ }; -static int ppsprobe(device_t dev); -static int ppsattach(device_t dev); static void ppsintr(void *arg); #define DEVTOSOFTC(dev) \ @@ -56,20 +54,6 @@ static void ppsintr(void *arg); static devclass_t pps_devclass; -static device_method_t pps_methods[] = { - /* device interface */ - DEVMETHOD(device_probe, ppsprobe), - DEVMETHOD(device_attach, ppsattach), - - { 0, 0 } -}; - -static driver_t pps_driver = { - PPS_NAME, - pps_methods, - sizeof(struct pps_data), -}; - static d_open_t ppsopen; static d_close_t ppsclose; static d_ioctl_t ppsioctl; @@ -92,17 +76,20 @@ static struct cdevsw pps_cdevsw = { /* bmaj */ -1 }; +static void +ppsidentify(driver_t *driver, device_t parent) +{ + + BUS_ADD_CHILD(parent, 0, PPS_NAME, 0); +} + static int ppsprobe(device_t ppsdev) { struct pps_data *sc; - static int once; dev_t dev; int unit; - if (!once++) - cdevsw_add(&pps_cdevsw); - sc = DEVTOSOFTC(ppsdev); bzero(sc, sizeof(struct pps_data)); @@ -216,4 +203,18 @@ ppsioctl(dev_t dev, u_long cmd, caddr_t data, int flags, struct proc *p) return (pps_ioctl(cmd, data, &sc->pps)); } +static device_method_t pps_methods[] = { + /* device interface */ + DEVMETHOD(device_identify, ppsidentify), + DEVMETHOD(device_probe, ppsprobe), + DEVMETHOD(device_attach, ppsattach), + + { 0, 0 } +}; + +static driver_t pps_driver = { + PPS_NAME, + pps_methods, + sizeof(struct pps_data), +}; DRIVER_MODULE(pps, ppbus, pps_driver, pps_devclass, 0, 0); |