Searched refs:ipoctal (Results 1 - 2 of 2) sorted by relevance

/linux-4.4.14/drivers/ipack/devices/
H A Dipoctal.c2 * ipoctal.c
25 #include "ipoctal.h"
49 struct ipoctal { struct
58 static inline struct ipoctal *chan_to_ipoctal(struct ipoctal_channel *chan, chan_to_ipoctal()
61 return container_of(chan, struct ipoctal, channel[index]); chan_to_ipoctal()
92 struct ipoctal *ipoctal = chan_to_ipoctal(channel, tty->index); ipoctal_open() local
97 if (!ipack_get_carrier(ipoctal->dev)) ipoctal_open()
102 ipack_put_carrier(ipoctal->dev); ipoctal_open()
248 struct ipoctal *ipoctal = (struct ipoctal *) arg; ipoctal_irq_handler() local
251 readw(ipoctal->int_space + ACK_INT_REQ0); ipoctal_irq_handler()
252 readw(ipoctal->int_space + ACK_INT_REQ1); ipoctal_irq_handler()
256 ipoctal_irq_channel(&ipoctal->channel[i]); ipoctal_irq_handler()
266 static int ipoctal_inst_slot(struct ipoctal *ipoctal, unsigned int bus_nr, ipoctal_inst_slot() argument
279 ipoctal->board_id = ipoctal->dev->id_device; ipoctal_inst_slot()
281 region = &ipoctal->dev->region[IPACK_IO_SPACE]; ipoctal_inst_slot()
282 addr = devm_ioremap_nocache(&ipoctal->dev->dev, ipoctal_inst_slot()
285 dev_err(&ipoctal->dev->dev, ipoctal_inst_slot()
296 region = &ipoctal->dev->region[IPACK_INT_SPACE]; ipoctal_inst_slot()
297 ipoctal->int_space = ipoctal_inst_slot()
298 devm_ioremap_nocache(&ipoctal->dev->dev, ipoctal_inst_slot()
300 if (!ipoctal->int_space) { ipoctal_inst_slot()
301 dev_err(&ipoctal->dev->dev, ipoctal_inst_slot()
307 region = &ipoctal->dev->region[IPACK_MEM8_SPACE]; ipoctal_inst_slot()
308 ipoctal->mem8_space = ipoctal_inst_slot()
309 devm_ioremap_nocache(&ipoctal->dev->dev, ipoctal_inst_slot()
311 if (!ipoctal->mem8_space) { ipoctal_inst_slot()
312 dev_err(&ipoctal->dev->dev, ipoctal_inst_slot()
321 struct ipoctal_channel *channel = &ipoctal->channel[i]; ipoctal_inst_slot()
324 channel->board_id = ipoctal->board_id; ipoctal_inst_slot()
350 iowrite8(1, ipoctal->mem8_space + 1); ipoctal_inst_slot()
360 /* Fill struct tty_driver with ipoctal data */ ipoctal_inst_slot()
379 dev_err(&ipoctal->dev->dev, "Can't register tty driver.\n"); ipoctal_inst_slot()
385 ipoctal->tty_drv = tty; ipoctal_inst_slot()
390 channel = &ipoctal->channel[i]; ipoctal_inst_slot()
402 dev_err(&ipoctal->dev->dev, "Failed to register tty device.\n"); ipoctal_inst_slot()
414 ipoctal->dev->bus->ops->request_irq(ipoctal->dev, ipoctal_inst_slot()
415 ipoctal_irq_handler, ipoctal); ipoctal_inst_slot()
651 struct ipoctal *ipoctal = chan_to_ipoctal(channel, tty->index); ipoctal_cleanup() local
654 ipack_put_carrier(ipoctal->dev); ipoctal_cleanup()
674 struct ipoctal *ipoctal; ipoctal_probe() local
676 ipoctal = kzalloc(sizeof(struct ipoctal), GFP_KERNEL); ipoctal_probe()
677 if (ipoctal == NULL) ipoctal_probe()
680 ipoctal->dev = dev; ipoctal_probe()
681 res = ipoctal_inst_slot(ipoctal, dev->bus->bus_nr, dev->slot); ipoctal_probe()
685 dev_set_drvdata(&dev->dev, ipoctal); ipoctal_probe()
689 kfree(ipoctal); ipoctal_probe()
693 static void __ipoctal_remove(struct ipoctal *ipoctal) __ipoctal_remove() argument
697 ipoctal->dev->bus->ops->free_irq(ipoctal->dev); __ipoctal_remove()
700 struct ipoctal_channel *channel = &ipoctal->channel[i]; __ipoctal_remove()
701 tty_unregister_device(ipoctal->tty_drv, i); __ipoctal_remove()
706 tty_unregister_driver(ipoctal->tty_drv); __ipoctal_remove()
707 put_tty_driver(ipoctal->tty_drv); __ipoctal_remove()
708 kfree(ipoctal); __ipoctal_remove()
H A Dipoctal.h2 * ipoctal.h

Completed in 107 milliseconds