Lines Matching refs:chip
41 struct gpio_chip chip; member
136 if (pin >= ochip->chip.ngpio) in orion_gpio_is_valid()
155 static int orion_gpio_request(struct gpio_chip *chip, unsigned pin) in orion_gpio_request() argument
157 struct orion_gpio_chip *ochip = gpiochip_get_data(chip); in orion_gpio_request()
166 static int orion_gpio_direction_input(struct gpio_chip *chip, unsigned pin) in orion_gpio_direction_input() argument
168 struct orion_gpio_chip *ochip = gpiochip_get_data(chip); in orion_gpio_direction_input()
181 static int orion_gpio_get(struct gpio_chip *chip, unsigned pin) in orion_gpio_get() argument
183 struct orion_gpio_chip *ochip = gpiochip_get_data(chip); in orion_gpio_get()
196 orion_gpio_direction_output(struct gpio_chip *chip, unsigned pin, int value) in orion_gpio_direction_output() argument
198 struct orion_gpio_chip *ochip = gpiochip_get_data(chip); in orion_gpio_direction_output()
213 static void orion_gpio_set(struct gpio_chip *chip, unsigned pin, int value) in orion_gpio_set() argument
215 struct orion_gpio_chip *ochip = gpiochip_get_data(chip); in orion_gpio_set()
223 static int orion_gpio_to_irq(struct gpio_chip *chip, unsigned pin) in orion_gpio_to_irq() argument
225 struct orion_gpio_chip *ochip = gpiochip_get_data(chip); in orion_gpio_to_irq()
240 struct gpio_chip *chip = &ochip->chip; in orion_gpio_chip_find() local
242 if (pin >= chip->base && pin < chip->base + chip->ngpio) in orion_gpio_chip_find()
256 pin -= ochip->chip.base; in orion_gpio_set_unused()
270 pin -= ochip->chip.base; in orion_gpio_set_valid()
416 for (i = 0; i < ochip->chip.ngpio; i++) { in gpio_irq_handler()
440 static void orion_gpio_dbg_show(struct seq_file *s, struct gpio_chip *chip) in orion_gpio_dbg_show() argument
443 struct orion_gpio_chip *ochip = gpiochip_get_data(chip); in orion_gpio_dbg_show()
456 for (i = 0; i < chip->ngpio; i++) { in orion_gpio_dbg_show()
461 label = gpiochip_is_requested(chip, i); in orion_gpio_dbg_show()
468 seq_printf(s, " gpio-%-3d (%-20.20s)", chip->base + i, label); in orion_gpio_dbg_show()
542 ochip->chip.label = kstrdup(gc_label, GFP_KERNEL); in orion_gpio_init()
543 ochip->chip.request = orion_gpio_request; in orion_gpio_init()
544 ochip->chip.direction_input = orion_gpio_direction_input; in orion_gpio_init()
545 ochip->chip.get = orion_gpio_get; in orion_gpio_init()
546 ochip->chip.direction_output = orion_gpio_direction_output; in orion_gpio_init()
547 ochip->chip.set = orion_gpio_set; in orion_gpio_init()
548 ochip->chip.to_irq = orion_gpio_to_irq; in orion_gpio_init()
549 ochip->chip.base = gpio_base; in orion_gpio_init()
550 ochip->chip.ngpio = ngpio; in orion_gpio_init()
551 ochip->chip.can_sleep = 0; in orion_gpio_init()
553 ochip->chip.of_node = np; in orion_gpio_init()
555 ochip->chip.dbg_show = orion_gpio_dbg_show; in orion_gpio_init()
564 gpiochip_add_data(&ochip->chip, ochip); in orion_gpio_init()
592 ct->chip.irq_mask = orion_gpio_mask_irq; in orion_gpio_init()
593 ct->chip.irq_unmask = orion_gpio_unmask_irq; in orion_gpio_init()
594 ct->chip.irq_set_type = gpio_irq_set_type; in orion_gpio_init()
595 ct->chip.name = ochip->chip.label; in orion_gpio_init()
601 ct->chip.irq_ack = irq_gc_ack_clr_bit; in orion_gpio_init()
602 ct->chip.irq_mask = orion_gpio_mask_irq; in orion_gpio_init()
603 ct->chip.irq_unmask = orion_gpio_unmask_irq; in orion_gpio_init()
604 ct->chip.irq_set_type = gpio_irq_set_type; in orion_gpio_init()
606 ct->chip.name = ochip->chip.label; in orion_gpio_init()
613 ochip->chip.ngpio, in orion_gpio_init()
620 ochip->chip.label); in orion_gpio_init()