lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Wed, 22 Mar 2023 15:50:00 -0400
From:   William Breathitt Gray <william.gray@...aro.org>
To:     Stephen Rothwell <sfr@...b.auug.org.au>,
        Bartosz Golaszewski <brgl@...ev.pl>,
        Bartosz Golaszewski <bartosz.golaszewski@...aro.org>
Cc:     Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
        Linux Next Mailing List <linux-next@...r.kernel.org>
Subject: Re: linux-next: build failure after merge of the gpio-brgl tree

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/cover.1677515341.git.william.gray@linaro.org/
[1] https://lore.kernel.org/all/cover.1679323449.git.william.gray@linaro.org/

Download attachment "signature.asc" of type "application/pgp-signature" (229 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ