lkml.org 
[lkml]   [2022]   [Nov]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[PATCH v1 1/2] gpiolib: Provide to_gpio_device() helper
Date
Provide to_gpio_device() helper which can be utilized in the existing
and future code.

While at it, make sure it becomes no-op at compilation time.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
drivers/gpio/gpiolib.c | 2 +-
drivers/gpio/gpiolib.h | 6 ++++--
2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c
index 119c9c3a2a50..9b935288db9d 100644
--- a/drivers/gpio/gpiolib.c
+++ b/drivers/gpio/gpiolib.c
@@ -547,7 +547,7 @@ EXPORT_SYMBOL_GPL(gpiochip_line_is_valid);

static void gpiodevice_release(struct device *dev)
{
- struct gpio_device *gdev = container_of(dev, struct gpio_device, dev);
+ struct gpio_device *gdev = to_gpio_device(dev);
unsigned long flags;

spin_lock_irqsave(&gpio_lock, flags);
diff --git a/drivers/gpio/gpiolib.h b/drivers/gpio/gpiolib.h
index d900ecdbac46..027674025561 100644
--- a/drivers/gpio/gpiolib.h
+++ b/drivers/gpio/gpiolib.h
@@ -20,9 +20,9 @@

/**
* struct gpio_device - internal state container for GPIO devices
- * @id: numerical ID number for the GPIO chip
* @dev: the GPIO device struct
* @chrdev: character device for the GPIO device
+ * @id: numerical ID number for the GPIO chip
* @mockdev: class device used by the deprecated sysfs interface (may be
* NULL)
* @owner: helps prevent removal of modules exporting active GPIOs
@@ -47,9 +47,9 @@
* userspace.
*/
struct gpio_device {
- int id;
struct device dev;
struct cdev chrdev;
+ int id;
struct device *mockdev;
struct module *owner;
struct gpio_chip *chip;
@@ -72,6 +72,8 @@ struct gpio_device {
#endif
};

+#define to_gpio_device(_dev_) container_of(_dev_, struct gpio_device, dev)
+
/* gpio suffixes used for ACPI and device tree lookup */
static __maybe_unused const char * const gpio_suffixes[] = { "gpios", "gpio" };

--
2.35.1
\
 
 \ /
  Last update: 2022-11-25 19:12    [W:0.127 / U:0.380 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site