Lines Matching refs:gc
54 struct gpio_chip gc; member
62 static int pl061_gpio_request(struct gpio_chip *gc, unsigned offset) in pl061_gpio_request() argument
68 struct pl061_gpio *chip = container_of(gc, struct pl061_gpio, gc); in pl061_gpio_request()
69 int gpio = gc->base + offset; in pl061_gpio_request()
76 static void pl061_gpio_free(struct gpio_chip *gc, unsigned offset) in pl061_gpio_free() argument
78 struct pl061_gpio *chip = container_of(gc, struct pl061_gpio, gc); in pl061_gpio_free()
79 int gpio = gc->base + offset; in pl061_gpio_free()
85 static int pl061_direction_input(struct gpio_chip *gc, unsigned offset) in pl061_direction_input() argument
87 struct pl061_gpio *chip = container_of(gc, struct pl061_gpio, gc); in pl061_direction_input()
91 if (offset >= gc->ngpio) in pl061_direction_input()
103 static int pl061_direction_output(struct gpio_chip *gc, unsigned offset, in pl061_direction_output() argument
106 struct pl061_gpio *chip = container_of(gc, struct pl061_gpio, gc); in pl061_direction_output()
110 if (offset >= gc->ngpio) in pl061_direction_output()
129 static int pl061_get_value(struct gpio_chip *gc, unsigned offset) in pl061_get_value() argument
131 struct pl061_gpio *chip = container_of(gc, struct pl061_gpio, gc); in pl061_get_value()
136 static void pl061_set_value(struct gpio_chip *gc, unsigned offset, int value) in pl061_set_value() argument
138 struct pl061_gpio *chip = container_of(gc, struct pl061_gpio, gc); in pl061_set_value()
145 struct gpio_chip *gc = irq_data_get_irq_chip_data(d); in pl061_irq_type() local
146 struct pl061_gpio *chip = container_of(gc, struct pl061_gpio, gc); in pl061_irq_type()
194 struct gpio_chip *gc = irq_desc_get_handler_data(desc); in pl061_irq_handler() local
195 struct pl061_gpio *chip = container_of(gc, struct pl061_gpio, gc); in pl061_irq_handler()
204 generic_handle_irq(irq_find_mapping(gc->irqdomain, in pl061_irq_handler()
213 struct gpio_chip *gc = irq_data_get_irq_chip_data(d); in pl061_irq_mask() local
214 struct pl061_gpio *chip = container_of(gc, struct pl061_gpio, gc); in pl061_irq_mask()
226 struct gpio_chip *gc = irq_data_get_irq_chip_data(d); in pl061_irq_unmask() local
227 struct pl061_gpio *chip = container_of(gc, struct pl061_gpio, gc); in pl061_irq_unmask()
256 chip->gc.base = pdata->gpio_base; in pl061_probe()
263 chip->gc.base = -1; in pl061_probe()
275 chip->gc.request = pl061_gpio_request; in pl061_probe()
276 chip->gc.free = pl061_gpio_free; in pl061_probe()
277 chip->gc.direction_input = pl061_direction_input; in pl061_probe()
278 chip->gc.direction_output = pl061_direction_output; in pl061_probe()
279 chip->gc.get = pl061_get_value; in pl061_probe()
280 chip->gc.set = pl061_set_value; in pl061_probe()
281 chip->gc.ngpio = PL061_GPIO_NR; in pl061_probe()
282 chip->gc.label = dev_name(dev); in pl061_probe()
283 chip->gc.dev = dev; in pl061_probe()
284 chip->gc.owner = THIS_MODULE; in pl061_probe()
286 ret = gpiochip_add(&chip->gc); in pl061_probe()
300 ret = gpiochip_irqchip_add(&chip->gc, &pl061_irqchip, in pl061_probe()
307 gpiochip_set_chained_irqchip(&chip->gc, &pl061_irqchip, in pl061_probe()
313 pl061_direction_output(&chip->gc, i, in pl061_probe()
316 pl061_direction_input(&chip->gc, i); in pl061_probe()
343 pl061_get_value(&chip->gc, offset) << offset; in pl061_suspend()
356 pl061_direction_output(&chip->gc, offset, in pl061_resume()
360 pl061_direction_input(&chip->gc, offset); in pl061_resume()