gpio: move descriptors into gpio_device

We need gpio_device to hold the descriptors so that they can
be lifecycled with the struct gpio_device held from userspace.
Move the descriptor array into gpio_device. Also rename it from
"desc" (singularis) to "descs" (pluralis) to reflect the fact
that it is an array.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
This commit is contained in:
Linus Walleij
2016-02-09 13:51:59 +01:00
parent afbc4f312b
commit 1c3cdb1861
4 changed files with 26 additions and 35 deletions
+3 -1
View File
@@ -32,6 +32,7 @@ struct acpi_device;
* @owner: helps prevent removal of modules exporting active GPIOs
* @chip: pointer to the corresponding gpiochip, holding static
* data for this device
* @descs: array of ngpio descriptors.
* @list: links gpio_device:s together for traversal
*
* This state container holds most of the runtime variable data
@@ -46,6 +47,7 @@ struct gpio_device {
struct device *mockdev;
struct module *owner;
struct gpio_chip *chip;
struct gpio_desc *descs;
struct list_head list;
};
@@ -152,7 +154,7 @@ int gpiod_hog(struct gpio_desc *desc, const char *name,
*/
static int __maybe_unused gpio_chip_hwgpio(const struct gpio_desc *desc)
{
return desc - &desc->chip->desc[0];
return desc - &desc->chip->gpiodev->descs[0];
}
/* With descriptor prefix */