Lines Matching +full:reg +full:- +full:data
1 /*-
2 * SPDX-License-Identifier: BSD-2-Clause
4 * Copyright (c) 2011-2012 Stefan Bethke.
22 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
85 if (device_find_child(parent, "etherswitch", -1) == NULL)
105 sc->sc_dev = dev;
112 err = make_dev_s(&devargs, &sc->sc_devnode, "etherswitch%d",
127 if (sc->sc_devnode)
128 destroy_dev(sc->sc_devnode);
134 etherswitchioctl(struct cdev *cdev, u_long cmd, caddr_t data, int flags, struct thread *td)
136 struct etherswitch_softc *sc = cdev->si_drv1;
137 device_t dev = sc->sc_dev;
141 etherswitch_reg_t *reg;
149 bcopy(info, data, sizeof(etherswitch_info_t));
153 reg = (etherswitch_reg_t *)data;
155 reg->val = ETHERSWITCH_READREG(etherswitch, reg->reg);
160 reg = (etherswitch_reg_t *)data;
162 error = ETHERSWITCH_WRITEREG(etherswitch, reg->reg, reg->val);
167 error = ETHERSWITCH_GETPORT(etherswitch, (etherswitch_port_t *)data);
171 error = ETHERSWITCH_SETPORT(etherswitch, (etherswitch_port_t *)data);
175 error = ETHERSWITCH_GETVGROUP(etherswitch, (etherswitch_vlangroup_t *)data);
179 error = ETHERSWITCH_SETVGROUP(etherswitch, (etherswitch_vlangroup_t *)data);
183 phyreg = (etherswitch_phyreg_t *)data;
184 phyreg->val = ETHERSWITCH_READPHYREG(etherswitch, phyreg->phy, phyreg->reg);
188 phyreg = (etherswitch_phyreg_t *)data;
189 error = ETHERSWITCH_WRITEPHYREG(etherswitch, phyreg->phy, phyreg->reg, phyreg->val);
195 bcopy(&conf, data, sizeof(etherswitch_conf_t));
199 error = ETHERSWITCH_SETCONF(etherswitch, (etherswitch_conf_t *)data);
207 portid = (etherswitch_portid_t *)data;
208 error = ETHERSWITCH_FLUSH_PORT(etherswitch, portid->es_port);
212 error = ETHERSWITCH_FETCH_TABLE(etherswitch, (void *) data);
216 error = ETHERSWITCH_FETCH_TABLE_ENTRY(etherswitch, (void *) data);