gpiolib: unexport devprop_gpiochip_set_names()
authorBartosz Golaszewski <bgolaszewski@baylibre.com>
Wed, 9 Sep 2020 08:54:26 +0000 (10:54 +0200)
committerBartosz Golaszewski <bgolaszewski@baylibre.com>
Mon, 14 Sep 2020 08:54:42 +0000 (10:54 +0200)
Now that devprop_gpiochip_set_names() is only used in a single place
inside drivers/gpio/gpiolib.c, there's no need anymore for it to be
exported or to even live in its own source file. Pull this function into
the core source file for gpiolib.

Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
drivers/gpio/Makefile
drivers/gpio/gpiolib-devprop.c [deleted file]
drivers/gpio/gpiolib.c
include/linux/gpio/driver.h

index 4f9abff..639275e 100644 (file)
@@ -6,7 +6,6 @@ ccflags-$(CONFIG_DEBUG_GPIO)    += -DDEBUG
 obj-$(CONFIG_GPIOLIB)          += gpiolib.o
 obj-$(CONFIG_GPIOLIB)          += gpiolib-devres.o
 obj-$(CONFIG_GPIOLIB)          += gpiolib-legacy.o
-obj-$(CONFIG_GPIOLIB)          += gpiolib-devprop.o
 obj-$(CONFIG_GPIOLIB)          += gpiolib-cdev.o
 obj-$(CONFIG_OF_GPIO)          += gpiolib-of.o
 obj-$(CONFIG_GPIO_SYSFS)       += gpiolib-sysfs.o
diff --git a/drivers/gpio/gpiolib-devprop.c b/drivers/gpio/gpiolib-devprop.c
deleted file mode 100644 (file)
index 31599d8..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * Device property helpers for GPIO chips.
- *
- * Copyright (C) 2016, Intel Corporation
- * Author: Mika Westerberg <mika.westerberg@linux.intel.com>
- */
-
-#include <linux/property.h>
-#include <linux/slab.h>
-#include <linux/gpio/consumer.h>
-#include <linux/gpio/driver.h>
-#include <linux/export.h>
-
-#include "gpiolib.h"
-
-/**
- * devprop_gpiochip_set_names - Set GPIO line names using device properties
- * @chip: GPIO chip whose lines should be named, if possible
- *
- * Looks for device property "gpio-line-names" and if it exists assigns
- * GPIO line names for the chip. The memory allocated for the assigned
- * names belong to the underlying software node and should not be released
- * by the caller.
- */
-int devprop_gpiochip_set_names(struct gpio_chip *chip)
-{
-       struct gpio_device *gdev = chip->gpiodev;
-       struct device *dev = chip->parent;
-       const char **names;
-       int ret, i;
-       int count;
-
-       count = device_property_string_array_count(dev, "gpio-line-names");
-       if (count < 0)
-               return 0;
-
-       if (count > gdev->ngpio) {
-               dev_warn(&gdev->dev, "gpio-line-names is length %d but should be at most length %d",
-                        count, gdev->ngpio);
-               count = gdev->ngpio;
-       }
-
-       names = kcalloc(count, sizeof(*names), GFP_KERNEL);
-       if (!names)
-               return -ENOMEM;
-
-       ret = device_property_read_string_array(dev, "gpio-line-names",
-                                               names, count);
-       if (ret < 0) {
-               dev_warn(&gdev->dev, "failed to read GPIO line names\n");
-               kfree(names);
-               return ret;
-       }
-
-       for (i = 0; i < count; i++)
-               gdev->descs[i].name = names[i];
-
-       kfree(names);
-
-       return 0;
-}
-EXPORT_SYMBOL_GPL(devprop_gpiochip_set_names);
index d50e111..b7b608e 100644 (file)
@@ -358,6 +358,53 @@ static int gpiochip_set_desc_names(struct gpio_chip *gc)
        return 0;
 }
 
+/*
+ * devprop_gpiochip_set_names - Set GPIO line names using device properties
+ * @chip: GPIO chip whose lines should be named, if possible
+ *
+ * Looks for device property "gpio-line-names" and if it exists assigns
+ * GPIO line names for the chip. The memory allocated for the assigned
+ * names belong to the underlying software node and should not be released
+ * by the caller.
+ */
+static int devprop_gpiochip_set_names(struct gpio_chip *chip)
+{
+       struct gpio_device *gdev = chip->gpiodev;
+       struct device *dev = chip->parent;
+       const char **names;
+       int ret, i;
+       int count;
+
+       count = device_property_string_array_count(dev, "gpio-line-names");
+       if (count < 0)
+               return 0;
+
+       if (count > gdev->ngpio) {
+               dev_warn(&gdev->dev, "gpio-line-names is length %d but should be at most length %d",
+                        count, gdev->ngpio);
+               count = gdev->ngpio;
+       }
+
+       names = kcalloc(count, sizeof(*names), GFP_KERNEL);
+       if (!names)
+               return -ENOMEM;
+
+       ret = device_property_read_string_array(dev, "gpio-line-names",
+                                               names, count);
+       if (ret < 0) {
+               dev_warn(&gdev->dev, "failed to read GPIO line names\n");
+               kfree(names);
+               return ret;
+       }
+
+       for (i = 0; i < count; i++)
+               gdev->descs[i].name = names[i];
+
+       kfree(names);
+
+       return 0;
+}
+
 static unsigned long *gpiochip_allocate_mask(struct gpio_chip *gc)
 {
        unsigned long *p;
index 56485a0..4a7e295 100644 (file)
@@ -756,8 +756,6 @@ struct gpio_desc *gpiochip_request_own_desc(struct gpio_chip *gc,
                                            enum gpiod_flags dflags);
 void gpiochip_free_own_desc(struct gpio_desc *desc);
 
-int devprop_gpiochip_set_names(struct gpio_chip *gc);
-
 #ifdef CONFIG_GPIOLIB
 
 /* lock/unlock as IRQ */