Lines Matching refs:gc
55 struct gpio_chip gc; member
63 static int pl061_get_direction(struct gpio_chip *gc, unsigned offset) in pl061_get_direction() argument
65 struct pl061 *pl061 = gpiochip_get_data(gc); in pl061_get_direction()
73 static int pl061_direction_input(struct gpio_chip *gc, unsigned offset) in pl061_direction_input() argument
75 struct pl061 *pl061 = gpiochip_get_data(gc); in pl061_direction_input()
88 static int pl061_direction_output(struct gpio_chip *gc, unsigned offset, in pl061_direction_output() argument
91 struct pl061 *pl061 = gpiochip_get_data(gc); in pl061_direction_output()
111 static int pl061_get_value(struct gpio_chip *gc, unsigned offset) in pl061_get_value() argument
113 struct pl061 *pl061 = gpiochip_get_data(gc); in pl061_get_value()
118 static void pl061_set_value(struct gpio_chip *gc, unsigned offset, int value) in pl061_set_value() argument
120 struct pl061 *pl061 = gpiochip_get_data(gc); in pl061_set_value()
127 struct gpio_chip *gc = irq_data_get_irq_chip_data(d); in pl061_irq_type() local
128 struct pl061 *pl061 = gpiochip_get_data(gc); in pl061_irq_type()
140 dev_err(gc->parent, in pl061_irq_type()
167 dev_dbg(gc->parent, "line %d: IRQ on %s level\n", in pl061_irq_type()
176 dev_dbg(gc->parent, "line %d: IRQ on both edges\n", offset); in pl061_irq_type()
191 dev_dbg(gc->parent, "line %d: IRQ on %s edge\n", in pl061_irq_type()
200 dev_warn(gc->parent, "no trigger selected for line %d\n", in pl061_irq_type()
217 struct gpio_chip *gc = irq_desc_get_handler_data(desc); in pl061_irq_handler() local
218 struct pl061 *pl061 = gpiochip_get_data(gc); in pl061_irq_handler()
226 generic_handle_domain_irq(gc->irq.domain, in pl061_irq_handler()
235 struct gpio_chip *gc = irq_data_get_irq_chip_data(d); in pl061_irq_mask() local
236 struct pl061 *pl061 = gpiochip_get_data(gc); in pl061_irq_mask()
245 gpiochip_disable_irq(gc, d->hwirq); in pl061_irq_mask()
250 struct gpio_chip *gc = irq_data_get_irq_chip_data(d); in pl061_irq_unmask() local
251 struct pl061 *pl061 = gpiochip_get_data(gc); in pl061_irq_unmask()
255 gpiochip_enable_irq(gc, d->hwirq); in pl061_irq_unmask()
273 struct gpio_chip *gc = irq_data_get_irq_chip_data(d); in pl061_irq_ack() local
274 struct pl061 *pl061 = gpiochip_get_data(gc); in pl061_irq_ack()
284 struct gpio_chip *gc = irq_data_get_irq_chip_data(d); in pl061_irq_set_wake() local
285 struct pl061 *pl061 = gpiochip_get_data(gc); in pl061_irq_set_wake()
292 struct gpio_chip *gc = irq_data_get_irq_chip_data(data); in pl061_irq_print_chip() local
294 seq_printf(p, dev_name(gc->parent)); in pl061_irq_print_chip()
324 pl061->gc.request = gpiochip_generic_request; in pl061_probe()
325 pl061->gc.free = gpiochip_generic_free; in pl061_probe()
326 pl061->gc.base = -1; in pl061_probe()
327 pl061->gc.get_direction = pl061_get_direction; in pl061_probe()
328 pl061->gc.direction_input = pl061_direction_input; in pl061_probe()
329 pl061->gc.direction_output = pl061_direction_output; in pl061_probe()
330 pl061->gc.get = pl061_get_value; in pl061_probe()
331 pl061->gc.set = pl061_set_value; in pl061_probe()
332 pl061->gc.ngpio = PL061_GPIO_NR; in pl061_probe()
333 pl061->gc.label = dev_name(dev); in pl061_probe()
334 pl061->gc.parent = dev; in pl061_probe()
335 pl061->gc.owner = THIS_MODULE; in pl061_probe()
346 girq = &pl061->gc.irq; in pl061_probe()
358 ret = devm_gpiochip_add_data(dev, &pl061->gc, pl061); in pl061_probe()
384 pl061_get_value(&pl061->gc, offset) << offset; in pl061_suspend()
397 pl061_direction_output(&pl061->gc, offset, in pl061_resume()
401 pl061_direction_input(&pl061->gc, offset); in pl061_resume()