Lines Matching refs:offset
136 unsigned int reg, offset, shift; in em_gio_irq_set_type() local
143 offset = irqd_to_hwirq(d); in em_gio_irq_set_type()
145 pr_debug("gio: sense irq = %d, mode = %d\n", offset, value); in em_gio_irq_set_type()
148 reg = GIO_IDT(offset >> 3); in em_gio_irq_set_type()
149 shift = (offset & 0x07) << 4; in em_gio_irq_set_type()
155 tmp &= ~BIT(offset); in em_gio_irq_set_type()
165 em_gio_write(p, GIO_IIR, BIT(offset)); in em_gio_irq_set_type()
169 tmp |= BIT(offset); in em_gio_irq_set_type()
181 unsigned int offset, irqs_handled = 0; in em_gio_irq_handler() local
184 offset = __ffs(pending); in em_gio_irq_handler()
185 em_gio_write(p, GIO_IIR, BIT(offset)); in em_gio_irq_handler()
186 generic_handle_irq(irq_find_mapping(p->irq_domain, offset)); in em_gio_irq_handler()
198 static int em_gio_direction_input(struct gpio_chip *chip, unsigned offset) in em_gio_direction_input() argument
200 em_gio_write(gpio_to_priv(chip), GIO_E0, BIT(offset)); in em_gio_direction_input()
204 static int em_gio_get(struct gpio_chip *chip, unsigned offset) in em_gio_get() argument
206 return (int)(em_gio_read(gpio_to_priv(chip), GIO_I) & BIT(offset)); in em_gio_get()
217 static void em_gio_set(struct gpio_chip *chip, unsigned offset, int value) in em_gio_set() argument
220 if (offset < 16) in em_gio_set()
221 __em_gio_set(chip, GIO_OL, offset, value); in em_gio_set()
223 __em_gio_set(chip, GIO_OH, offset - 16, value); in em_gio_set()
226 static int em_gio_direction_output(struct gpio_chip *chip, unsigned offset, in em_gio_direction_output() argument
230 em_gio_set(chip, offset, value); in em_gio_direction_output()
231 em_gio_write(gpio_to_priv(chip), GIO_E1, BIT(offset)); in em_gio_direction_output()
235 static int em_gio_to_irq(struct gpio_chip *chip, unsigned offset) in em_gio_to_irq() argument
237 return irq_create_mapping(gpio_to_priv(chip)->irq_domain, offset); in em_gio_to_irq()
240 static int em_gio_request(struct gpio_chip *chip, unsigned offset) in em_gio_request() argument
242 return pinctrl_request_gpio(chip->base + offset); in em_gio_request()
245 static void em_gio_free(struct gpio_chip *chip, unsigned offset) in em_gio_free() argument
247 pinctrl_free_gpio(chip->base + offset); in em_gio_free()
252 em_gio_direction_input(chip, offset); in em_gio_free()