gpiochip          445 drivers/gpio/gpiolib-sysfs.c ATTRIBUTE_GROUPS(gpiochip);
gpiochip           85 drivers/gpio/gpiolib.c static int gpiochip_add_irqchip(struct gpio_chip *gpiochip,
gpiochip           88 drivers/gpio/gpiolib.c static void gpiochip_irqchip_remove(struct gpio_chip *gpiochip);
gpiochip           89 drivers/gpio/gpiolib.c static int gpiochip_irqchip_init_hw(struct gpio_chip *gpiochip);
gpiochip           90 drivers/gpio/gpiolib.c static int gpiochip_irqchip_init_valid_mask(struct gpio_chip *gpiochip);
gpiochip           91 drivers/gpio/gpiolib.c static void gpiochip_irqchip_free_valid_mask(struct gpio_chip *gpiochip);
gpiochip          395 drivers/gpio/gpiolib.c static void gpiochip_free_valid_mask(struct gpio_chip *gpiochip)
gpiochip          397 drivers/gpio/gpiolib.c 	bitmap_free(gpiochip->valid_mask);
gpiochip          398 drivers/gpio/gpiolib.c 	gpiochip->valid_mask = NULL;
gpiochip          401 drivers/gpio/gpiolib.c bool gpiochip_line_is_valid(const struct gpio_chip *gpiochip,
gpiochip          405 drivers/gpio/gpiolib.c 	if (likely(!gpiochip->valid_mask))
gpiochip          407 drivers/gpio/gpiolib.c 	return test_bit(offset, gpiochip->valid_mask);
gpiochip         1665 drivers/gpio/gpiolib.c static void gpiochip_irqchip_free_valid_mask(struct gpio_chip *gpiochip)
gpiochip         1667 drivers/gpio/gpiolib.c 	bitmap_free(gpiochip->irq.valid_mask);
gpiochip         1668 drivers/gpio/gpiolib.c 	gpiochip->irq.valid_mask = NULL;
gpiochip         1671 drivers/gpio/gpiolib.c bool gpiochip_irqchip_irq_valid(const struct gpio_chip *gpiochip,
gpiochip         1674 drivers/gpio/gpiolib.c 	if (!gpiochip_line_is_valid(gpiochip, offset))
gpiochip         1677 drivers/gpio/gpiolib.c 	if (likely(!gpiochip->irq.valid_mask))
gpiochip         1679 drivers/gpio/gpiolib.c 	return test_bit(offset, gpiochip->irq.valid_mask);
gpiochip         1738 drivers/gpio/gpiolib.c void gpiochip_set_chained_irqchip(struct gpio_chip *gpiochip,
gpiochip         1743 drivers/gpio/gpiolib.c 	if (gpiochip->irq.threaded) {
gpiochip         1744 drivers/gpio/gpiolib.c 		chip_err(gpiochip, "tried to chain a threaded gpiochip\n");
gpiochip         1748 drivers/gpio/gpiolib.c 	gpiochip_set_cascaded_irqchip(gpiochip, parent_irq, parent_handler);
gpiochip         1759 drivers/gpio/gpiolib.c void gpiochip_set_nested_irqchip(struct gpio_chip *gpiochip,
gpiochip         1763 drivers/gpio/gpiolib.c 	gpiochip_set_cascaded_irqchip(gpiochip, parent_irq, NULL);
gpiochip         2211 drivers/gpio/gpiolib.c static void gpiochip_set_irq_hooks(struct gpio_chip *gpiochip)
gpiochip         2213 drivers/gpio/gpiolib.c 	struct irq_chip *irqchip = gpiochip->irq.chip;
gpiochip         2220 drivers/gpio/gpiolib.c 	if (WARN_ON(gpiochip->irq.irq_enable))
gpiochip         2228 drivers/gpio/gpiolib.c 		chip_info(gpiochip,
gpiochip         2232 drivers/gpio/gpiolib.c 	gpiochip->irq.irq_enable = irqchip->irq_enable;
gpiochip         2233 drivers/gpio/gpiolib.c 	gpiochip->irq.irq_disable = irqchip->irq_disable;
gpiochip         2244 drivers/gpio/gpiolib.c static int gpiochip_add_irqchip(struct gpio_chip *gpiochip,
gpiochip         2248 drivers/gpio/gpiolib.c 	struct irq_chip *irqchip = gpiochip->irq.chip;
gpiochip         2257 drivers/gpio/gpiolib.c 	if (gpiochip->irq.parent_handler && gpiochip->can_sleep) {
gpiochip         2258 drivers/gpio/gpiolib.c 		chip_err(gpiochip, "you cannot have chained interrupts on a chip that may sleep\n");
gpiochip         2262 drivers/gpio/gpiolib.c 	np = gpiochip->gpiodev->dev.of_node;
gpiochip         2263 drivers/gpio/gpiolib.c 	type = gpiochip->irq.default_type;
gpiochip         2274 drivers/gpio/gpiolib.c 	if (has_acpi_companion(gpiochip->parent) && type != IRQ_TYPE_NONE) {
gpiochip         2275 drivers/gpio/gpiolib.c 		acpi_handle_warn(ACPI_HANDLE(gpiochip->parent),
gpiochip         2280 drivers/gpio/gpiolib.c 	gpiochip->to_irq = gpiochip_to_irq;
gpiochip         2281 drivers/gpio/gpiolib.c 	gpiochip->irq.default_type = type;
gpiochip         2282 drivers/gpio/gpiolib.c 	gpiochip->irq.lock_key = lock_key;
gpiochip         2283 drivers/gpio/gpiolib.c 	gpiochip->irq.request_key = request_key;
gpiochip         2286 drivers/gpio/gpiolib.c 	if (gpiochip_hierarchy_is_hierarchical(gpiochip)) {
gpiochip         2287 drivers/gpio/gpiolib.c 		int ret = gpiochip_hierarchy_add_domain(gpiochip);
gpiochip         2292 drivers/gpio/gpiolib.c 		if (gpiochip->irq.domain_ops)
gpiochip         2293 drivers/gpio/gpiolib.c 			ops = gpiochip->irq.domain_ops;
gpiochip         2297 drivers/gpio/gpiolib.c 		gpiochip->irq.domain = irq_domain_add_simple(np,
gpiochip         2298 drivers/gpio/gpiolib.c 			gpiochip->ngpio,
gpiochip         2299 drivers/gpio/gpiolib.c 			gpiochip->irq.first,
gpiochip         2300 drivers/gpio/gpiolib.c 			ops, gpiochip);
gpiochip         2301 drivers/gpio/gpiolib.c 		if (!gpiochip->irq.domain)
gpiochip         2305 drivers/gpio/gpiolib.c 	if (gpiochip->irq.parent_handler) {
gpiochip         2306 drivers/gpio/gpiolib.c 		void *data = gpiochip->irq.parent_handler_data ?: gpiochip;
gpiochip         2308 drivers/gpio/gpiolib.c 		for (i = 0; i < gpiochip->irq.num_parents; i++) {
gpiochip         2314 drivers/gpio/gpiolib.c 			irq_set_chained_handler_and_data(gpiochip->irq.parents[i],
gpiochip         2315 drivers/gpio/gpiolib.c 							 gpiochip->irq.parent_handler,
gpiochip         2320 drivers/gpio/gpiolib.c 	gpiochip_set_irq_hooks(gpiochip);
gpiochip         2322 drivers/gpio/gpiolib.c 	acpi_gpiochip_request_interrupts(gpiochip);
gpiochip         2333 drivers/gpio/gpiolib.c static void gpiochip_irqchip_remove(struct gpio_chip *gpiochip)
gpiochip         2335 drivers/gpio/gpiolib.c 	struct irq_chip *irqchip = gpiochip->irq.chip;
gpiochip         2338 drivers/gpio/gpiolib.c 	acpi_gpiochip_free_interrupts(gpiochip);
gpiochip         2340 drivers/gpio/gpiolib.c 	if (irqchip && gpiochip->irq.parent_handler) {
gpiochip         2341 drivers/gpio/gpiolib.c 		struct gpio_irq_chip *irq = &gpiochip->irq;
gpiochip         2350 drivers/gpio/gpiolib.c 	if (gpiochip->irq.domain) {
gpiochip         2353 drivers/gpio/gpiolib.c 		for (offset = 0; offset < gpiochip->ngpio; offset++) {
gpiochip         2354 drivers/gpio/gpiolib.c 			if (!gpiochip_irqchip_irq_valid(gpiochip, offset))
gpiochip         2357 drivers/gpio/gpiolib.c 			irq = irq_find_mapping(gpiochip->irq.domain, offset);
gpiochip         2361 drivers/gpio/gpiolib.c 		irq_domain_remove(gpiochip->irq.domain);
gpiochip         2370 drivers/gpio/gpiolib.c 			irqchip->irq_enable = gpiochip->irq.irq_enable;
gpiochip         2371 drivers/gpio/gpiolib.c 			irqchip->irq_disable = gpiochip->irq.irq_disable;
gpiochip         2374 drivers/gpio/gpiolib.c 	gpiochip->irq.irq_enable = NULL;
gpiochip         2375 drivers/gpio/gpiolib.c 	gpiochip->irq.irq_disable = NULL;
gpiochip         2376 drivers/gpio/gpiolib.c 	gpiochip->irq.chip = NULL;
gpiochip         2378 drivers/gpio/gpiolib.c 	gpiochip_irqchip_free_valid_mask(gpiochip);
gpiochip         2408 drivers/gpio/gpiolib.c int gpiochip_irqchip_add_key(struct gpio_chip *gpiochip,
gpiochip         2419 drivers/gpio/gpiolib.c 	if (!gpiochip || !irqchip)
gpiochip         2422 drivers/gpio/gpiolib.c 	if (!gpiochip->parent) {
gpiochip         2426 drivers/gpio/gpiolib.c 	gpiochip->irq.threaded = threaded;
gpiochip         2427 drivers/gpio/gpiolib.c 	of_node = gpiochip->parent->of_node;
gpiochip         2434 drivers/gpio/gpiolib.c 	if (gpiochip->of_node)
gpiochip         2435 drivers/gpio/gpiolib.c 		of_node = gpiochip->of_node;
gpiochip         2445 drivers/gpio/gpiolib.c 	if (has_acpi_companion(gpiochip->parent) && type != IRQ_TYPE_NONE) {
gpiochip         2446 drivers/gpio/gpiolib.c 		acpi_handle_warn(ACPI_HANDLE(gpiochip->parent),
gpiochip         2451 drivers/gpio/gpiolib.c 	gpiochip->irq.chip = irqchip;
gpiochip         2452 drivers/gpio/gpiolib.c 	gpiochip->irq.handler = handler;
gpiochip         2453 drivers/gpio/gpiolib.c 	gpiochip->irq.default_type = type;
gpiochip         2454 drivers/gpio/gpiolib.c 	gpiochip->to_irq = gpiochip_to_irq;
gpiochip         2455 drivers/gpio/gpiolib.c 	gpiochip->irq.lock_key = lock_key;
gpiochip         2456 drivers/gpio/gpiolib.c 	gpiochip->irq.request_key = request_key;
gpiochip         2457 drivers/gpio/gpiolib.c 	gpiochip->irq.domain = irq_domain_add_simple(of_node,
gpiochip         2458 drivers/gpio/gpiolib.c 					gpiochip->ngpio, first_irq,
gpiochip         2459 drivers/gpio/gpiolib.c 					&gpiochip_domain_ops, gpiochip);
gpiochip         2460 drivers/gpio/gpiolib.c 	if (!gpiochip->irq.domain) {
gpiochip         2461 drivers/gpio/gpiolib.c 		gpiochip->irq.chip = NULL;
gpiochip         2465 drivers/gpio/gpiolib.c 	gpiochip_set_irq_hooks(gpiochip);
gpiochip         2467 drivers/gpio/gpiolib.c 	acpi_gpiochip_request_interrupts(gpiochip);
gpiochip         2475 drivers/gpio/gpiolib.c static inline int gpiochip_add_irqchip(struct gpio_chip *gpiochip,
gpiochip         2481 drivers/gpio/gpiolib.c static void gpiochip_irqchip_remove(struct gpio_chip *gpiochip) {}
gpiochip         2483 drivers/gpio/gpiolib.c static inline int gpiochip_irqchip_init_hw(struct gpio_chip *gpiochip)
gpiochip         2488 drivers/gpio/gpiolib.c static inline int gpiochip_irqchip_init_valid_mask(struct gpio_chip *gpiochip)
gpiochip         2492 drivers/gpio/gpiolib.c static inline void gpiochip_irqchip_free_valid_mask(struct gpio_chip *gpiochip)
gpiochip           49 drivers/i2c/muxes/i2c-mux-ltc4306.c 	struct gpio_chip gpiochip;
gpiochip          159 drivers/i2c/muxes/i2c-mux-ltc4306.c 	data->gpiochip.label = dev_name(dev);
gpiochip          160 drivers/i2c/muxes/i2c-mux-ltc4306.c 	data->gpiochip.base = -1;
gpiochip          161 drivers/i2c/muxes/i2c-mux-ltc4306.c 	data->gpiochip.ngpio = data->chip->num_gpios;
gpiochip          162 drivers/i2c/muxes/i2c-mux-ltc4306.c 	data->gpiochip.parent = dev;
gpiochip          163 drivers/i2c/muxes/i2c-mux-ltc4306.c 	data->gpiochip.can_sleep = true;
gpiochip          164 drivers/i2c/muxes/i2c-mux-ltc4306.c 	data->gpiochip.get_direction = ltc4306_gpio_get_direction;
gpiochip          165 drivers/i2c/muxes/i2c-mux-ltc4306.c 	data->gpiochip.direction_input = ltc4306_gpio_direction_input;
gpiochip          166 drivers/i2c/muxes/i2c-mux-ltc4306.c 	data->gpiochip.direction_output = ltc4306_gpio_direction_output;
gpiochip          167 drivers/i2c/muxes/i2c-mux-ltc4306.c 	data->gpiochip.get = ltc4306_gpio_get;
gpiochip          168 drivers/i2c/muxes/i2c-mux-ltc4306.c 	data->gpiochip.set = ltc4306_gpio_set;
gpiochip          169 drivers/i2c/muxes/i2c-mux-ltc4306.c 	data->gpiochip.set_config = ltc4306_gpio_set_config;
gpiochip          170 drivers/i2c/muxes/i2c-mux-ltc4306.c 	data->gpiochip.owner = THIS_MODULE;
gpiochip          175 drivers/i2c/muxes/i2c-mux-ltc4306.c 	return devm_gpiochip_add_data(dev, &data->gpiochip, data);
gpiochip          134 drivers/iio/dac/ad5592r-base.c 	st->gpiochip.label = dev_name(st->dev);
gpiochip          135 drivers/iio/dac/ad5592r-base.c 	st->gpiochip.base = -1;
gpiochip          136 drivers/iio/dac/ad5592r-base.c 	st->gpiochip.ngpio = 8;
gpiochip          137 drivers/iio/dac/ad5592r-base.c 	st->gpiochip.parent = st->dev;
gpiochip          138 drivers/iio/dac/ad5592r-base.c 	st->gpiochip.can_sleep = true;
gpiochip          139 drivers/iio/dac/ad5592r-base.c 	st->gpiochip.direction_input = ad5592r_gpio_direction_input;
gpiochip          140 drivers/iio/dac/ad5592r-base.c 	st->gpiochip.direction_output = ad5592r_gpio_direction_output;
gpiochip          141 drivers/iio/dac/ad5592r-base.c 	st->gpiochip.get = ad5592r_gpio_get;
gpiochip          142 drivers/iio/dac/ad5592r-base.c 	st->gpiochip.set = ad5592r_gpio_set;
gpiochip          143 drivers/iio/dac/ad5592r-base.c 	st->gpiochip.request = ad5592r_gpio_request;
gpiochip          144 drivers/iio/dac/ad5592r-base.c 	st->gpiochip.owner = THIS_MODULE;
gpiochip          148 drivers/iio/dac/ad5592r-base.c 	return gpiochip_add_data(&st->gpiochip, st);
gpiochip          154 drivers/iio/dac/ad5592r-base.c 		gpiochip_remove(&st->gpiochip);
gpiochip           53 drivers/iio/dac/ad5592r-base.h 	struct gpio_chip gpiochip;
gpiochip          580 include/linux/gpio/driver.h void gpiochip_set_chained_irqchip(struct gpio_chip *gpiochip,
gpiochip          585 include/linux/gpio/driver.h void gpiochip_set_nested_irqchip(struct gpio_chip *gpiochip,
gpiochip          589 include/linux/gpio/driver.h int gpiochip_irqchip_add_key(struct gpio_chip *gpiochip,
gpiochip          598 include/linux/gpio/driver.h bool gpiochip_irqchip_irq_valid(const struct gpio_chip *gpiochip,
gpiochip          609 include/linux/gpio/driver.h static inline int gpiochip_irqchip_add(struct gpio_chip *gpiochip,
gpiochip          618 include/linux/gpio/driver.h 	return gpiochip_irqchip_add_key(gpiochip, irqchip, first_irq,
gpiochip          623 include/linux/gpio/driver.h static inline int gpiochip_irqchip_add_nested(struct gpio_chip *gpiochip,
gpiochip          633 include/linux/gpio/driver.h 	return gpiochip_irqchip_add_key(gpiochip, irqchip, first_irq,
gpiochip          638 include/linux/gpio/driver.h static inline int gpiochip_irqchip_add(struct gpio_chip *gpiochip,
gpiochip          644 include/linux/gpio/driver.h 	return gpiochip_irqchip_add_key(gpiochip, irqchip, first_irq,
gpiochip          648 include/linux/gpio/driver.h static inline int gpiochip_irqchip_add_nested(struct gpio_chip *gpiochip,
gpiochip          654 include/linux/gpio/driver.h 	return gpiochip_irqchip_add_key(gpiochip, irqchip, first_irq,