We use the new struct device inside gpio_chip to related debug
prints and warnings, and we also add it to the debugfs dump.

Cc: Johan Hovold <jo...@kernel.org>
Cc: Michael Welling <mwell...@ieee.org>
Cc: Markus Pargmann <m...@pengutronix.de>
Signed-off-by: Linus Walleij <linus.wall...@linaro.org>
---
 drivers/gpio/gpiolib.c | 25 ++++++++++++++-----------
 drivers/gpio/gpiolib.h | 12 ++++++------
 2 files changed, 20 insertions(+), 17 deletions(-)

diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c
index 0ab4f75b7f8e..7861791657b5 100644
--- a/drivers/gpio/gpiolib.c
+++ b/drivers/gpio/gpiolib.c
@@ -208,7 +208,7 @@ static int gpiochip_add_to_list(struct gpio_chip *chip)
        if (pos != &gpio_chips && pos->prev != &gpio_chips) {
                _chip = list_entry(pos->prev, struct gpio_chip, list);
                if (_chip->base + _chip->ngpio > chip->base) {
-                       dev_err(chip->dev,
+                       dev_err(&chip->device,
                               "GPIO integer space overlap, cannot add chip\n");
                        err = -EBUSY;
                }
@@ -270,7 +270,7 @@ static int gpiochip_set_desc_names(struct gpio_chip *gc)
 
                gpio = gpio_name_to_desc(gc->names[i]);
                if (gpio)
-                       dev_warn(gc->dev, "Detected name collision for "
+                       dev_warn(&gc->device, "Detected name collision for "
                                 "GPIO name '%s'\n",
                                 gc->names[i]);
        }
@@ -456,7 +456,8 @@ void gpiochip_remove(struct gpio_chip *chip)
        spin_unlock_irqrestore(&gpio_lock, flags);
 
        if (requested)
-               dev_crit(chip->dev, "REMOVING GPIOCHIP WITH GPIOS STILL 
REQUESTED\n");
+               dev_crit(&chip->device,
+                        "REMOVING GPIOCHIP WITH GPIOS STILL REQUESTED\n");
 
        device_del(&chip->device);
        ida_simple_remove(&gpio_ida, chip->id);
@@ -2534,14 +2535,16 @@ static void gpiolib_seq_stop(struct seq_file *s, void 
*v)
 static int gpiolib_seq_show(struct seq_file *s, void *v)
 {
        struct gpio_chip *chip = v;
-       struct device *dev;
-
-       seq_printf(s, "%sGPIOs %d-%d", (char *)s->private,
-                       chip->base, chip->base + chip->ngpio - 1);
-       dev = chip->dev;
-       if (dev)
-               seq_printf(s, ", %s/%s", dev->bus ? dev->bus->name : "no-bus",
-                       dev_name(dev));
+       struct device *parent;
+
+       seq_printf(s, "%s%s: GPIOs %d-%d", (char *)s->private,
+                  dev_name(&chip->device),
+                  chip->base, chip->base + chip->ngpio - 1);
+       parent = chip->dev;
+       if (parent)
+               seq_printf(s, ", parent: %s/%s",
+                          parent->bus ? parent->bus->name : "no-bus",
+                          dev_name(parent));
        if (chip->label)
                seq_printf(s, ", %s", chip->label);
        if (chip->can_sleep)
diff --git a/drivers/gpio/gpiolib.h b/drivers/gpio/gpiolib.h
index 78e634d1c719..be29037e56b9 100644
--- a/drivers/gpio/gpiolib.h
+++ b/drivers/gpio/gpiolib.h
@@ -132,17 +132,17 @@ static int __maybe_unused gpio_chip_hwgpio(const struct 
gpio_desc *desc)
 /* With chip prefix */
 
 #define chip_emerg(chip, fmt, ...)                                     \
-       pr_emerg("GPIO chip %s: " fmt, chip->label, ##__VA_ARGS__)
+       dev_emerg(&chip->device, "(%s): " fmt, chip->label, ##__VA_ARGS__)
 #define chip_crit(chip, fmt, ...)                                      \
-       pr_crit("GPIO chip %s: " fmt, chip->label, ##__VA_ARGS__)
+       dev_crit(&chip->device, "(%s): " fmt, chip->label, ##__VA_ARGS__)
 #define chip_err(chip, fmt, ...)                                       \
-       pr_err("GPIO chip %s: " fmt, chip->label, ##__VA_ARGS__)
+       dev_err(&chip->device, "(%s): " fmt, chip->label, ##__VA_ARGS__)
 #define chip_warn(chip, fmt, ...)                                      \
-       pr_warn("GPIO chip %s: " fmt, chip->label, ##__VA_ARGS__)
+       dev_warn(&chip->device, "(%s): " fmt, chip->label, ##__VA_ARGS__)
 #define chip_info(chip, fmt, ...)                                      \
-       pr_info("GPIO chip %s: " fmt, chip->label, ##__VA_ARGS__)
+       dev_info(&chip->device, "(%s): " fmt, chip->label, ##__VA_ARGS__)
 #define chip_dbg(chip, fmt, ...)                                       \
-       pr_debug("GPIO chip %s: " fmt, chip->label, ##__VA_ARGS__)
+       dev_dbg(&chip->device, "(%s): " fmt, chip->label, ##__VA_ARGS__)
 
 #ifdef CONFIG_GPIO_SYSFS
 
-- 
2.4.3

--
To unsubscribe from this list: send the line "unsubscribe linux-gpio" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to