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
On Thu, Mar 23, 2023 at 12:29:13PM +1100, Stephen Rothwell wrote:
> 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
Commit 473b79057bbd shouldn't be merged until all of the IDIO-16 legacy
interface is first removed.
Bart, would you revert all of the "Migrate IDIO-16 GPIO drivers to
regmap API" patches [0]? That patchset needs to be revised anyway to
prevent conflicts with the handle_mask_sync() API change [1]; I'll
submit a v3 later this week that resolves the incompatibilies and
rebase on the latest gpio/for-next.
William Breathitt Gray
[0] https://lore.kernel.org/all/[email protected]/
[1] https://lore.kernel.org/all/[email protected]/
On Thu, 23 Mar 2023 at 02:47, William Breathitt Gray
<[email protected]> wrote:
>
> On Thu, Mar 23, 2023 at 12:29:13PM +1100, Stephen Rothwell wrote:
> > 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
>
> Commit 473b79057bbd shouldn't be merged until all of the IDIO-16 legacy
> interface is first removed.
>
> Bart, would you revert all of the "Migrate IDIO-16 GPIO drivers to
> regmap API" patches [0]? That patchset needs to be revised anyway to
> prevent conflicts with the handle_mask_sync() API change [1]; I'll
> submit a v3 later this week that resolves the incompatibilies and
> rebase on the latest gpio/for-next.
>
> William Breathitt Gray
>
> [0] https://lore.kernel.org/all/[email protected]/
> [1] https://lore.kernel.org/all/[email protected]/
Done, thanks!
Bart