diff mbox

[5/5] gpio: ws16c48: Add support for GPIO names

Message ID edb689aac0bd4bb2b119dc8216da7cfb6af5243b.1485795642.git.vilhelm.gray@gmail.com
State New
Headers show

Commit Message

William Breathitt Gray Jan. 30, 2017, 5:05 p.m. UTC
This patch sets the gpio_chip names option with an array of GPIO line
names that match the manual documentation for the WinSystems WS16C48.
This should make it easier for users to identify which GPIO line
corresponds to a respective GPIO pin on the device.

Signed-off-by: William Breathitt Gray <vilhelm.gray@gmail.com>
---
 drivers/gpio/gpio-ws16c48.c | 19 ++++++++++++++++++-
 1 file changed, 18 insertions(+), 1 deletion(-)

Comments

kernel test robot Jan. 30, 2017, 5:59 p.m. UTC | #1
Hi William,

[auto build test ERROR on gpio/for-next]
[also build test ERROR on next-20170130]
[cannot apply to v4.10-rc6]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/William-Breathitt-Gray/gpio-Add-support-for-GPIO-names-for-several-ISA_BUS_API-drivers/20170131-013038
base:   https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio.git for-next
config: i386-randconfig-x003-201705 (attached as .config)
compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
reproduce:
        # save the attached .config to linux build tree
        make ARCH=i386 

All errors (new ones prefixed by >>):

   drivers/gpio/gpio-ws16c48.c: In function 'ws16c48_probe':
>> drivers/gpio/gpio-ws16c48.c:381:28: error: 'ws16c48_names' undeclared (first use in this function)
     ws16c48gpio->chip.names = ws16c48_names;
                               ^~~~~~~~~~~~~
   drivers/gpio/gpio-ws16c48.c:381:28: note: each undeclared identifier is reported only once for each function it appears in
   At top level:
   drivers/gpio/gpio-ws16c48.c:345:20: warning: 'ws14c48_names' defined but not used [-Wunused-variable]
    static const char *ws14c48_names[WS16C48_NGPIO] = {
                       ^~~~~~~~~~~~~

vim +/ws16c48_names +381 drivers/gpio/gpio-ws16c48.c

   375	
   376		ws16c48gpio->chip.label = name;
   377		ws16c48gpio->chip.parent = dev;
   378		ws16c48gpio->chip.owner = THIS_MODULE;
   379		ws16c48gpio->chip.base = -1;
   380		ws16c48gpio->chip.ngpio = WS16C48_NGPIO;
 > 381		ws16c48gpio->chip.names = ws16c48_names;
   382		ws16c48gpio->chip.get_direction = ws16c48_gpio_get_direction;
   383		ws16c48gpio->chip.direction_input = ws16c48_gpio_direction_input;
   384		ws16c48gpio->chip.direction_output = ws16c48_gpio_direction_output;

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
diff mbox

Patch

diff --git a/drivers/gpio/gpio-ws16c48.c b/drivers/gpio/gpio-ws16c48.c
index 65de20dfbe7a..a49377cf36fd 100644
--- a/drivers/gpio/gpio-ws16c48.c
+++ b/drivers/gpio/gpio-ws16c48.c
@@ -341,6 +341,22 @@  static irqreturn_t ws16c48_irq_handler(int irq, void *dev_id)
 	return IRQ_HANDLED;
 }
 
+#define WS16C48_NGPIO 48
+static const char *ws14c48_names[WS16C48_NGPIO] = {
+	"Port 0 Bit 0", "Port 0 Bit 1", "Port 0 Bit 2", "Port 0 Bit 3",
+	"Port 0 Bit 4", "Port 0 Bit 5", "Port 0 Bit 6", "Port 0 Bit 7",
+	"Port 1 Bit 0", "Port 1 Bit 1", "Port 1 Bit 2", "Port 1 Bit 3",
+	"Port 1 Bit 4", "Port 1 Bit 5", "Port 1 Bit 6", "Port 1 Bit 7",
+	"Port 2 Bit 0", "Port 2 Bit 1", "Port 2 Bit 2", "Port 2 Bit 3",
+	"Port 2 Bit 4", "Port 2 Bit 5", "Port 2 Bit 6", "Port 2 Bit 7",
+	"Port 3 Bit 0", "Port 3 Bit 1", "Port 3 Bit 2", "Port 3 Bit 3",
+	"Port 3 Bit 4", "Port 3 Bit 5", "Port 3 Bit 6", "Port 3 Bit 7",
+	"Port 4 Bit 0", "Port 4 Bit 1", "Port 4 Bit 2", "Port 4 Bit 3",
+	"Port 4 Bit 4", "Port 4 Bit 5", "Port 4 Bit 6", "Port 4 Bit 7",
+	"Port 5 Bit 0", "Port 5 Bit 1", "Port 5 Bit 2", "Port 5 Bit 3",
+	"Port 5 Bit 4", "Port 5 Bit 5", "Port 5 Bit 6", "Port 5 Bit 7"
+};
+
 static int ws16c48_probe(struct device *dev, unsigned int id)
 {
 	struct ws16c48_gpio *ws16c48gpio;
@@ -361,7 +377,8 @@  static int ws16c48_probe(struct device *dev, unsigned int id)
 	ws16c48gpio->chip.parent = dev;
 	ws16c48gpio->chip.owner = THIS_MODULE;
 	ws16c48gpio->chip.base = -1;
-	ws16c48gpio->chip.ngpio = 48;
+	ws16c48gpio->chip.ngpio = WS16C48_NGPIO;
+	ws16c48gpio->chip.names = ws16c48_names;
 	ws16c48gpio->chip.get_direction = ws16c48_gpio_get_direction;
 	ws16c48gpio->chip.direction_input = ws16c48_gpio_direction_input;
 	ws16c48gpio->chip.direction_output = ws16c48_gpio_direction_output;