gpiolib: let gpio_chip reference its descriptors
Add a pointer to the gpio_chip structure that references the array of GPIO descriptors belonging to the chip, and update gpiolib code to use this pointer instead of the global gpio_desc[] array. This is another step towards the removal of the gpio_desc[] global array. Signed-off-by: Alexandre Courbot <acourbot@nvidia.com> Reviewed-by: Linus Walleij <linus.walleij@linaro.orh> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
This commit is contained in:
committed by
Grant Likely
parent
372e722ea4
commit
6c0b4e6c85
@@ -47,6 +47,7 @@ struct gpio;
|
||||
struct seq_file;
|
||||
struct module;
|
||||
struct device_node;
|
||||
struct gpio_desc;
|
||||
|
||||
/**
|
||||
* struct gpio_chip - abstract a GPIO controller
|
||||
@@ -76,6 +77,7 @@ struct device_node;
|
||||
* negative during registration, requests dynamic ID allocation.
|
||||
* @ngpio: the number of GPIOs handled by this controller; the last GPIO
|
||||
* handled is (base + ngpio - 1).
|
||||
* @desc: array of ngpio descriptors. Private.
|
||||
* @can_sleep: flag must be set iff get()/set() methods sleep, as they
|
||||
* must while accessing GPIO expander chips over I2C or SPI
|
||||
* @names: if set, must be an array of strings to use as alternative
|
||||
@@ -126,6 +128,7 @@ struct gpio_chip {
|
||||
struct gpio_chip *chip);
|
||||
int base;
|
||||
u16 ngpio;
|
||||
struct gpio_desc *desc;
|
||||
const char *const *names;
|
||||
unsigned can_sleep:1;
|
||||
unsigned exported:1;
|
||||
|
Reference in New Issue
Block a user