diff options
| author | Luiz Otavio O Souza <loos@FreeBSD.org> | 2017-01-08 20:37:41 +0000 |
|---|---|---|
| committer | Luiz Otavio O Souza <loos@FreeBSD.org> | 2017-01-08 20:37:41 +0000 |
| commit | bca353cacbf0d986f867d81657b6cbe616a2bd11 (patch) | |
| tree | 0cdfc6d9f66743f5fb20d6323cd7bbbaa4ac1320 /sys/dev/etherswitch/etherswitch.c | |
| parent | 6e616e4f4b772d07294e97df4c7abe0c5cea108f (diff) | |
Notes
Diffstat (limited to 'sys/dev/etherswitch/etherswitch.c')
| -rw-r--r-- | sys/dev/etherswitch/etherswitch.c | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/sys/dev/etherswitch/etherswitch.c b/sys/dev/etherswitch/etherswitch.c index 0c35002d22f5..ee9b71086bed 100644 --- a/sys/dev/etherswitch/etherswitch.c +++ b/sys/dev/etherswitch/etherswitch.c @@ -99,17 +99,24 @@ etherswitch_probe(device_t dev) static int etherswitch_attach(device_t dev) { - struct etherswitch_softc *sc = (struct etherswitch_softc *)device_get_softc(dev); + int err; + struct etherswitch_softc *sc; + struct make_dev_args devargs; + sc = device_get_softc(dev); sc->sc_dev = dev; - sc->sc_devnode = make_dev(ðerswitch_cdevsw, device_get_unit(dev), - UID_ROOT, GID_WHEEL, - 0600, "etherswitch%d", device_get_unit(dev)); - if (sc->sc_devnode == NULL) { + make_dev_args_init(&devargs); + devargs.mda_devsw = ðerswitch_cdevsw; + devargs.mda_uid = UID_ROOT; + devargs.mda_gid = GID_WHEEL; + devargs.mda_mode = 0600; + devargs.mda_si_drv1 = sc; + err = make_dev_s(&devargs, &sc->sc_devnode, "etherswitch%d", + device_get_unit(dev)); + if (err != 0) { device_printf(dev, "failed to create character device\n"); return (ENXIO); } - sc->sc_devnode->si_drv1 = sc; return (0); } |
