Subject: linux-next: build failure after merge of the gpio-brgl tree

From: Stephen Rothwell <[email-masked]>
Date: Thu, 23 Mar 2023 12:29:13 +1100

Hi all,

After merging the gpio-brgl tree, today's linux-next build (x86_64
allmodconfig) failed like this:

drivers/gpio/gpio-pci-idio-16.c:32:30: error: field 'state' has incomplete type
   32 |         struct idio_16_state state;
      |                              ^~~~~
drivers/gpio/gpio-pci-idio-16.c: In function 'idio_16_gpio_get_direction':
drivers/gpio/gpio-pci-idio-16.c:39:13: error: implicit declaration of function 'idio_16_get_direction'; did you mean 'idio_16_gpio_get_direction'? [-Werror=implicit-function-declaration]
   39 |         if (idio_16_get_direction(offset))
      |             ^~~~~~~~~~~~~~~~~~~~~
      |             idio_16_gpio_get_direction
drivers/gpio/gpio-pci-idio-16.c: In function 'idio_16_gpio_get':
drivers/gpio/gpio-pci-idio-16.c:62:16: error: implicit declaration of function 'idio_16_get'; did you mean 'idio_16_gpio_get'? [-Werror=implicit-function-declaration]
   62 |         return idio_16_get(idio16gpio->reg, &idio16gpio->state, offset);
      |                ^~~~~~~~~~~
      |                idio_16_gpio_get
drivers/gpio/gpio-pci-idio-16.c: In function 'idio_16_gpio_get_multiple':
drivers/gpio/gpio-pci-idio-16.c:70:9: error: implicit declaration of function 'idio_16_get_multiple'; did you mean 'idio_16_gpio_get_multiple'? [-Werror=implicit-function-declaration]
   70 |         idio_16_get_multiple(idio16gpio->reg, &idio16gpio->state, mask, bits);
      |         ^~~~~~~~~~~~~~~~~~~~
      |         idio_16_gpio_get_multiple
drivers/gpio/gpio-pci-idio-16.c: In function 'idio_16_gpio_set':
drivers/gpio/gpio-pci-idio-16.c:79:9: error: implicit declaration of function 'idio_16_set'; did you mean 'idio_16_gpio_set'? [-Werror=implicit-function-declaration]
   79 |         idio_16_set(idio16gpio->reg, &idio16gpio->state, offset, value);
      |         ^~~~~~~~~~~
      |         idio_16_gpio_set
drivers/gpio/gpio-pci-idio-16.c: In function 'idio_16_gpio_set_multiple':
drivers/gpio/gpio-pci-idio-16.c:87:9: error: implicit declaration of function 'idio_16_set_multiple'; did you mean 'idio_16_gpio_set_multiple'? [-Werror=implicit-function-declaration]
   87 |         idio_16_set_multiple(idio16gpio->reg, &idio16gpio->state, mask, bits);
      |         ^~~~~~~~~~~~~~~~~~~~
      |         idio_16_gpio_set_multiple
drivers/gpio/gpio-pci-idio-16.c: In function 'idio_16_irq_mask':
drivers/gpio/gpio-pci-idio-16.c:106:45: error: invalid use of undefined type 'struct idio_16'
  106 |                 iowrite8(0, &idio16gpio->reg->irq_ctl);
      |                                             ^~
drivers/gpio/gpio-pci-idio-16.c: In function 'idio_16_irq_unmask':
drivers/gpio/gpio-pci-idio-16.c:129:41: error: invalid use of undefined type 'struct idio_16'
  129 |                 ioread8(&idio16gpio->reg->irq_ctl);
      |                                         ^~
drivers/gpio/gpio-pci-idio-16.c: In function 'idio_16_irq_handler':
drivers/gpio/gpio-pci-idio-16.c:164:46: error: invalid use of undefined type 'struct idio_16'
  164 |         irq_status = ioread8(&idio16gpio->reg->irq_status);
      |                                              ^~
drivers/gpio/gpio-pci-idio-16.c:178:37: error: invalid use of undefined type 'struct idio_16'
  178 |         iowrite8(0, &idio16gpio->reg->in0_7);
      |                                     ^~
drivers/gpio/gpio-pci-idio-16.c: In function 'idio_16_irq_init_hw':
drivers/gpio/gpio-pci-idio-16.c:198:37: error: invalid use of undefined type 'struct idio_16'
  198 |         iowrite8(0, &idio16gpio->reg->irq_ctl);
      |                                     ^~
drivers/gpio/gpio-pci-idio-16.c:199:37: error: invalid use of undefined type 'struct idio_16'
  199 |         iowrite8(0, &idio16gpio->reg->in0_7);
      |                                     ^~
drivers/gpio/gpio-pci-idio-16.c: In function 'idio_16_probe':
drivers/gpio/gpio-pci-idio-16.c:232:37: error: invalid use of undefined type 'struct idio_16'
  232 |         iowrite8(0, &idio16gpio->reg->filter_ctl);
      |                                     ^~
drivers/gpio/gpio-pci-idio-16.c:248:9: error: implicit declaration of function 'idio_16_state_init'; did you mean 'file_ra_state_init'? [-Werror=implicit-function-declaration]
  248 |         idio_16_state_init(&idio16gpio->state);
      |         ^~~~~~~~~~~~~~~~~~
      |         file_ra_state_init
drivers/gpio/gpio-pci-idio-16.c: In function 'idio_16_gpio_get':
drivers/gpio/gpio-pci-idio-16.c:63:1: error: control reaches end of non-void function [-Werror=return-type]
   63 | }
      | ^

Caused by commit

  473b79057bbd ("gpio: idio-16: Remove unused legacy interface")

I have used the gpio-brgl tree from next-20230322 for today.

-- 
Cheers,
Stephen Rothwell