Lines Matching defs:ppi
57 #include <dev/ppbus/ppi.h>
101 .d_name = "ppi",
138 dev = device_find_child(parent, "ppi", -1);
140 BUS_ADD_CHILD(parent, 0, "ppi", DEVICE_UNIT_ANY);
161 struct ppi_data *ppi = DEVTOSOFTC(dev);
166 ppi->intr_resource = bus_alloc_resource_any(dev, SYS_RES_IRQ, &rid,
168 if (ppi->intr_resource) {
170 error = bus_setup_intr(dev, ppi->intr_resource,
172 &ppi->intr_cookie);
175 ppi->intr_resource);
183 sx_init(&ppi->ppi_lock, "ppi");
184 ppi->ppi_cdev = make_dev(&ppi_cdevsw, device_get_unit(dev),
186 0600, "ppi%d", device_get_unit(dev));
187 if (ppi->ppi_cdev == NULL) {
191 ppi->ppi_cdev->si_drv1 = ppi;
192 ppi->ppi_device = dev;
200 struct ppi_data *ppi = DEVTOSOFTC(dev);
202 destroy_dev(ppi->ppi_cdev);
204 if (ppi->intr_resource != NULL) {
205 bus_teardown_intr(dev, ppi->intr_resource, ppi->intr_cookie);
206 bus_release_resource(dev, SYS_RES_IRQ, 0, ppi->intr_resource);
209 sx_destroy(&ppi->ppi_lock);
231 struct ppi_data *ppi = DEVTOSOFTC(ppidev);
267 wakeup(ppi);
287 struct ppi_data *ppi = dev->si_drv1;
288 device_t ppidev = ppi->ppi_device;
292 sx_xlock(&ppi->ppi_lock);
293 if (!(ppi->ppi_flags & HAVE_PPBUS)) {
299 sx_xunlock(&ppi->ppi_lock);
303 ppi->ppi_flags |= HAVE_PPBUS;
305 sx_xunlock(&ppi->ppi_lock);
313 struct ppi_data *ppi = dev->si_drv1;
314 device_t ppidev = ppi->ppi_device;
317 sx_xlock(&ppi->ppi_lock);
337 ppi->ppi_flags &= ~HAVE_PPBUS;
338 sx_xunlock(&ppi->ppi_lock);
355 struct ppi_data *ppi = dev->si_drv1;
356 device_t ppidev = ppi->ppi_device;
374 ppi->ppi_mode = PPB_NIBBLE, 0))) {
378 ppb_sleep(ppbus, ppi, PPBPRI, "ppiread", 2 * hz);
381 ppi->ppi_mode = PPB_BYTE, 0))) {
402 error = ppb_1284_read(ppbus, ppi->ppi_mode,
446 struct ppi_data *ppi = dev->si_drv1;
447 device_t ppidev = ppi->ppi_device;
500 error = ppb_sleep(ppbus, ppi, PCATCH | PPBPRI, "ppiwrite", 0);
543 struct ppi_data *ppi = dev->si_drv1;
544 device_t ppidev = ppi->ppi_device;
612 "ppi",
617 DRIVER_MODULE(ppi, ppbus, ppi_driver, 0, 0);
618 MODULE_DEPEND(ppi, ppbus, 1, 1, 1);