Lines Matching refs:chip
25 static struct ssb_bus *ssb_gpio_get_bus(struct gpio_chip *chip) in ssb_gpio_get_bus() argument
27 return container_of(chip, struct ssb_bus, gpio); in ssb_gpio_get_bus()
31 static int ssb_gpio_to_irq(struct gpio_chip *chip, unsigned gpio) in ssb_gpio_to_irq() argument
33 struct ssb_bus *bus = ssb_gpio_get_bus(chip); in ssb_gpio_to_irq()
46 static int ssb_gpio_chipco_get_value(struct gpio_chip *chip, unsigned gpio) in ssb_gpio_chipco_get_value() argument
48 struct ssb_bus *bus = ssb_gpio_get_bus(chip); in ssb_gpio_chipco_get_value()
53 static void ssb_gpio_chipco_set_value(struct gpio_chip *chip, unsigned gpio, in ssb_gpio_chipco_set_value() argument
56 struct ssb_bus *bus = ssb_gpio_get_bus(chip); in ssb_gpio_chipco_set_value()
61 static int ssb_gpio_chipco_direction_input(struct gpio_chip *chip, in ssb_gpio_chipco_direction_input() argument
64 struct ssb_bus *bus = ssb_gpio_get_bus(chip); in ssb_gpio_chipco_direction_input()
70 static int ssb_gpio_chipco_direction_output(struct gpio_chip *chip, in ssb_gpio_chipco_direction_output() argument
73 struct ssb_bus *bus = ssb_gpio_get_bus(chip); in ssb_gpio_chipco_direction_output()
80 static int ssb_gpio_chipco_request(struct gpio_chip *chip, unsigned gpio) in ssb_gpio_chipco_request() argument
82 struct ssb_bus *bus = ssb_gpio_get_bus(chip); in ssb_gpio_chipco_request()
93 static void ssb_gpio_chipco_free(struct gpio_chip *chip, unsigned gpio) in ssb_gpio_chipco_free() argument
95 struct ssb_bus *bus = ssb_gpio_get_bus(chip); in ssb_gpio_chipco_free()
149 struct gpio_chip *chip = &bus->gpio; in ssb_gpio_irq_chipco_domain_init() local
155 bus->irq_domain = irq_domain_add_linear(NULL, chip->ngpio, in ssb_gpio_irq_chipco_domain_init()
161 for (gpio = 0; gpio < chip->ngpio; gpio++) { in ssb_gpio_irq_chipco_domain_init()
181 for (gpio = 0; gpio < chip->ngpio; gpio++) { in ssb_gpio_irq_chipco_domain_init()
194 struct gpio_chip *chip = &bus->gpio; in ssb_gpio_irq_chipco_domain_exit() local
202 for (gpio = 0; gpio < chip->ngpio; gpio++) { in ssb_gpio_irq_chipco_domain_exit()
222 struct gpio_chip *chip = &bus->gpio; in ssb_gpio_chipco_init() local
225 chip->label = "ssb_chipco_gpio"; in ssb_gpio_chipco_init()
226 chip->owner = THIS_MODULE; in ssb_gpio_chipco_init()
227 chip->request = ssb_gpio_chipco_request; in ssb_gpio_chipco_init()
228 chip->free = ssb_gpio_chipco_free; in ssb_gpio_chipco_init()
229 chip->get = ssb_gpio_chipco_get_value; in ssb_gpio_chipco_init()
230 chip->set = ssb_gpio_chipco_set_value; in ssb_gpio_chipco_init()
231 chip->direction_input = ssb_gpio_chipco_direction_input; in ssb_gpio_chipco_init()
232 chip->direction_output = ssb_gpio_chipco_direction_output; in ssb_gpio_chipco_init()
234 chip->to_irq = ssb_gpio_to_irq; in ssb_gpio_chipco_init()
236 chip->ngpio = 16; in ssb_gpio_chipco_init()
241 chip->base = 0; in ssb_gpio_chipco_init()
243 chip->base = -1; in ssb_gpio_chipco_init()
249 err = gpiochip_add(chip); in ssb_gpio_chipco_init()
264 static int ssb_gpio_extif_get_value(struct gpio_chip *chip, unsigned gpio) in ssb_gpio_extif_get_value() argument
266 struct ssb_bus *bus = ssb_gpio_get_bus(chip); in ssb_gpio_extif_get_value()
271 static void ssb_gpio_extif_set_value(struct gpio_chip *chip, unsigned gpio, in ssb_gpio_extif_set_value() argument
274 struct ssb_bus *bus = ssb_gpio_get_bus(chip); in ssb_gpio_extif_set_value()
279 static int ssb_gpio_extif_direction_input(struct gpio_chip *chip, in ssb_gpio_extif_direction_input() argument
282 struct ssb_bus *bus = ssb_gpio_get_bus(chip); in ssb_gpio_extif_direction_input()
288 static int ssb_gpio_extif_direction_output(struct gpio_chip *chip, in ssb_gpio_extif_direction_output() argument
291 struct ssb_bus *bus = ssb_gpio_get_bus(chip); in ssb_gpio_extif_direction_output()
346 struct gpio_chip *chip = &bus->gpio; in ssb_gpio_irq_extif_domain_init() local
352 bus->irq_domain = irq_domain_add_linear(NULL, chip->ngpio, in ssb_gpio_irq_extif_domain_init()
358 for (gpio = 0; gpio < chip->ngpio; gpio++) { in ssb_gpio_irq_extif_domain_init()
377 for (gpio = 0; gpio < chip->ngpio; gpio++) { in ssb_gpio_irq_extif_domain_init()
390 struct gpio_chip *chip = &bus->gpio; in ssb_gpio_irq_extif_domain_exit() local
397 for (gpio = 0; gpio < chip->ngpio; gpio++) { in ssb_gpio_irq_extif_domain_exit()
417 struct gpio_chip *chip = &bus->gpio; in ssb_gpio_extif_init() local
420 chip->label = "ssb_extif_gpio"; in ssb_gpio_extif_init()
421 chip->owner = THIS_MODULE; in ssb_gpio_extif_init()
422 chip->get = ssb_gpio_extif_get_value; in ssb_gpio_extif_init()
423 chip->set = ssb_gpio_extif_set_value; in ssb_gpio_extif_init()
424 chip->direction_input = ssb_gpio_extif_direction_input; in ssb_gpio_extif_init()
425 chip->direction_output = ssb_gpio_extif_direction_output; in ssb_gpio_extif_init()
427 chip->to_irq = ssb_gpio_to_irq; in ssb_gpio_extif_init()
429 chip->ngpio = 5; in ssb_gpio_extif_init()
434 chip->base = 0; in ssb_gpio_extif_init()
436 chip->base = -1; in ssb_gpio_extif_init()
442 err = gpiochip_add(chip); in ssb_gpio_extif_init()