Re: [PATCH] gpio: xgs-iproc: Fix crash when driver is built as a module

From: Linus Walleij
Date: Thu Nov 07 2019 - 10:01:52 EST


On Thu, Nov 7, 2019 at 11:35 AM Jon Hunter <jonathanh@xxxxxxxxxx> wrote:

> Commit 6a41b6c5fc20 ("gpio: Add xgs-iproc driver") introduced a new
> GPIO driver for the Broadcom GPIO controller. When this driver is built
> as a module the following warning is observed because the
> bcm_iproc_gpio_of_match structure is defined with the __initconst
> attribute ...
>
> MODPOST vmlinux.o
> WARNING: vmlinux.o(.data+0x834d0): Section mismatch in reference from
> the variable bcm_iproc_gpio_driver to the variable
> .init.rodata:bcm_iproc_gpio_of_match
> The variable bcm_iproc_gpio_driver references
> the variable __initconst bcm_iproc_gpio_of_match
>
> This then causes a translation fault on boot which and results in a
> system crash. Fix this by dropping the __initconst attribute from the
> bcm_iproc_gpio_of_match structure.
>
> Signed-off-by: Jon Hunter <jonathanh@xxxxxxxxxx>

Incidentally Mark Brown already sent an identical patch.

Thanks anyway!

Yours,
Linus Walleij