Lines Matching +full:use +full:- +full:cases
1 This is a place for planning the ongoing long-term work in the GPIO
8 to move away from the global GPIO numberspace and toward a descriptor-based
10 ideally have no use or idea of the global GPIO numberspace that has/was
18 establish the numberspace at compile-time, making it hard to add any numbers
26 The runtime-assigned GPIO numberspace (what you get if you assign the GPIO
27 base as -1 in struct gpio_chip) has also became unpredictable due to factors
28 such as probe ordering and the introduction of -EPROBE_DEFER making probe
37 - Convert all GPIO device drivers to only #include <linux/gpio/driver.h>
39 - Convert all consumer drivers to only #include <linux/gpio/consumer.h>
41 - Convert all machine descriptors in "boardfiles" to only
44 implicitly does not use global GPIO numbers.
46 - When this work is complete (will require some of the items in the
58 the device tree back-end. It is legacy and should not be used in new code.
62 - Get rid of struct of_mm_gpio_chip altogether: use the generic MMIO
67 - Change all consumer drivers that #include <linux/of_gpio.h> to
72 - Pull semantics for legacy device tree (OF) GPIO lookups into
73 gpiolib-of.c: in some cases subsystems are doing custom flags and
80 - Delete <linux/of_gpio.h> when all the above is complete and everything
96 in drivers/gpio/gpio-*. Augment platforms to create platform devices or
99 In some cases it makes sense to create a GPIO chip from the local driver
103 new coming drivers. For example, gpio-ml-ioh should be incorporated into
104 gpio-pch. In similar way gpio-intel-mid into gpio-pxa.
110 cases, and the helper library should be as helpful as possible for MMIO
111 drivers. (drivers/gpio/gpio-mmio.c)
115 - Look over and identify any remaining easily converted drivers and
116 dry-code conversions to MMIO GPIO for maintainers to test
118 - Expand the MMIO GPIO or write a new library for regmap-based I/O
119 helpers for GPIO drivers on regmap that simply use offsets
122 - Expand the MMIO GPIO or write a new library for port-mapped I/O
123 helpers (x86 inb()/outb()) and convert port-mapped I/O drivers to use
124 this with dry-coding and sending to maintainers to test
129 The GPIOLIB irqchip is a helper irqchip for "simple cases" that should
132 - Convert all the GPIOLIB_IRQCHIP users to pass an irqchip template,
150 g->irq.name = "my_gpio_irq";
151 g->irq.irq_ack = my_gpio_ack_irq;
152 g->irq.irq_mask = my_gpio_mask_irq;
153 g->irq.irq_unmask = my_gpio_unmask_irq;
154 g->irq.irq_set_type = my_gpio_set_irq_type;
157 girq = &g->gc.irq;
158 girq->chip = &g->irq;
159 girq->parent_handler = ftgpio_gpio_irq_handler;
160 girq->num_parents = 1;
161 girq->parents = devm_kcalloc(dev, 1, sizeof(*girq->parents),
163 if (!girq->parents)
164 return -ENOMEM;
165 girq->default_type = IRQ_TYPE_NONE;
166 girq->handler = handle_bad_irq;
167 girq->parents[0] = irq;
172 - Look over and identify any remaining easily converted drivers and
173 dry-code conversions to gpiolib irqchip for maintainers to test
175 - Drop gpiochip_set_chained_irqchip() when all the chained irqchips
178 - Add more infrastructure to make it possible to also pass a threaded
181 - Drop gpiochip_irqchip_add_nested() when all the chained irqchips
187 There are already ways to use pin control as back-end for GPIO and
190 use of the global GPIO numbers. Once the above is complete, it may