Lines Matching refs:idio16gpio

72 	struct idio_16_gpio *const idio16gpio = to_idio16gpio(chip);  in idio_16_gpio_get()  local
79 return !!(inb(idio16gpio->base + 1) & BIT_MASK); in idio_16_gpio_get()
81 return !!(inb(idio16gpio->base + 5) & (BIT_MASK>>8)); in idio_16_gpio_get()
86 struct idio_16_gpio *const idio16gpio = to_idio16gpio(chip); in idio_16_gpio_set() local
93 spin_lock_irqsave(&idio16gpio->lock, flags); in idio_16_gpio_set()
96 idio16gpio->out_state |= BIT_MASK; in idio_16_gpio_set()
98 idio16gpio->out_state &= ~BIT_MASK; in idio_16_gpio_set()
101 outb(idio16gpio->out_state >> 8, idio16gpio->base + 4); in idio_16_gpio_set()
103 outb(idio16gpio->out_state, idio16gpio->base); in idio_16_gpio_set()
105 spin_unlock_irqrestore(&idio16gpio->lock, flags); in idio_16_gpio_set()
111 struct idio_16_gpio *idio16gpio; in idio_16_probe() local
118 idio16gpio = devm_kzalloc(dev, sizeof(*idio16gpio), GFP_KERNEL); in idio_16_probe()
119 if (!idio16gpio) in idio_16_probe()
129 idio16gpio->chip.label = NAME; in idio_16_probe()
130 idio16gpio->chip.dev = dev; in idio_16_probe()
131 idio16gpio->chip.owner = THIS_MODULE; in idio_16_probe()
132 idio16gpio->chip.base = -1; in idio_16_probe()
133 idio16gpio->chip.ngpio = 32; in idio_16_probe()
134 idio16gpio->chip.get_direction = idio_16_gpio_get_direction; in idio_16_probe()
135 idio16gpio->chip.direction_input = idio_16_gpio_direction_input; in idio_16_probe()
136 idio16gpio->chip.direction_output = idio_16_gpio_direction_output; in idio_16_probe()
137 idio16gpio->chip.get = idio_16_gpio_get; in idio_16_probe()
138 idio16gpio->chip.set = idio_16_gpio_set; in idio_16_probe()
139 idio16gpio->base = BASE; in idio_16_probe()
140 idio16gpio->extent = EXTENT; in idio_16_probe()
141 idio16gpio->out_state = 0xFFFF; in idio_16_probe()
143 spin_lock_init(&idio16gpio->lock); in idio_16_probe()
145 dev_set_drvdata(dev, idio16gpio); in idio_16_probe()
147 err = gpiochip_add(&idio16gpio->chip); in idio_16_probe()
163 struct idio_16_gpio *const idio16gpio = platform_get_drvdata(pdev); in idio_16_remove() local
165 gpiochip_remove(&idio16gpio->chip); in idio_16_remove()
166 release_region(idio16gpio->base, idio16gpio->extent); in idio_16_remove()