* [PATCH] gpio: xgs-iproc: Fix section mismatch on device tree match table
@ 2019-11-05 12:49 ` Mark Brown
0 siblings, 0 replies; 12+ messages in thread
From: Mark Brown @ 2019-11-05 12:49 UTC (permalink / raw)
To: Linus Walleij, Bartosz Golaszewski, Chris Packham
Cc: bcm-kernel-feedback-list, linux-gpio, linux-arm-kernel, Mark Brown
The table of devicetree identifiers is annotated as __initconst
indicating that it can be discarded after kernel boot but it is
referenced from the driver struct which has no init annotation leading
to a linker warning:
WARNING: vmlinux.o(.data+0x82d58): 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
Since drivers can be probed after init the lack of annotation on the
driver struct is correct so remove the annotation from the match table.
Signed-off-by: Mark Brown <broonie@kernel.org>
---
drivers/gpio/gpio-xgs-iproc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpio/gpio-xgs-iproc.c b/drivers/gpio/gpio-xgs-iproc.c
index a3fdd95cc9e6..bb183f584d92 100644
--- a/drivers/gpio/gpio-xgs-iproc.c
+++ b/drivers/gpio/gpio-xgs-iproc.c
@@ -299,7 +299,7 @@ static int __exit iproc_gpio_remove(struct platform_device *pdev)
return 0;
}
-static const struct of_device_id bcm_iproc_gpio_of_match[] __initconst = {
+static const struct of_device_id bcm_iproc_gpio_of_match[] = {
{ .compatible = "brcm,iproc-gpio-cca" },
{}
};
--
2.20.1
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH] gpio: xgs-iproc: Fix section mismatch on device tree match table
@ 2019-11-05 12:49 ` Mark Brown
0 siblings, 0 replies; 12+ messages in thread
From: Mark Brown @ 2019-11-05 12:49 UTC (permalink / raw)
To: Linus Walleij, Bartosz Golaszewski, Chris Packham
Cc: linux-gpio, Mark Brown, bcm-kernel-feedback-list, linux-arm-kernel
The table of devicetree identifiers is annotated as __initconst
indicating that it can be discarded after kernel boot but it is
referenced from the driver struct which has no init annotation leading
to a linker warning:
WARNING: vmlinux.o(.data+0x82d58): 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
Since drivers can be probed after init the lack of annotation on the
driver struct is correct so remove the annotation from the match table.
Signed-off-by: Mark Brown <broonie@kernel.org>
---
drivers/gpio/gpio-xgs-iproc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpio/gpio-xgs-iproc.c b/drivers/gpio/gpio-xgs-iproc.c
index a3fdd95cc9e6..bb183f584d92 100644
--- a/drivers/gpio/gpio-xgs-iproc.c
+++ b/drivers/gpio/gpio-xgs-iproc.c
@@ -299,7 +299,7 @@ static int __exit iproc_gpio_remove(struct platform_device *pdev)
return 0;
}
-static const struct of_device_id bcm_iproc_gpio_of_match[] __initconst = {
+static const struct of_device_id bcm_iproc_gpio_of_match[] = {
{ .compatible = "brcm,iproc-gpio-cca" },
{}
};
--
2.20.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH] gpio: xgs-iproc: Fix section mismatch on device tree match table
2019-11-05 12:49 ` Mark Brown
@ 2019-11-05 20:07 ` Chris Packham
-1 siblings, 0 replies; 12+ messages in thread
From: Chris Packham @ 2019-11-05 20:07 UTC (permalink / raw)
To: broonie, linus.walleij, bgolaszewski
Cc: linux-arm-kernel, bcm-kernel-feedback-list, linux-gpio
Hi Mark,
On Tue, 2019-11-05 at 12:49 +0000, Mark Brown wrote:
> The table of devicetree identifiers is annotated as __initconst
> indicating that it can be discarded after kernel boot but it is
> referenced from the driver struct which has no init annotation leading
> to a linker warning:
>
> WARNING: vmlinux.o(.data+0x82d58): 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
>
> Since drivers can be probed after init the lack of annotation on the
> driver struct is correct so remove the annotation from the match table.
>
> Signed-off-by: Mark Brown <broonie@kernel.org>
Thanks for picking this up
Reviewed-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
Is it worth including 'Fixes: 6a41b6c5fc20 ("gpio: Add xgs-iproc
driver")'?
> ---
> drivers/gpio/gpio-xgs-iproc.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpio/gpio-xgs-iproc.c b/drivers/gpio/gpio-xgs-iproc.c
> index a3fdd95cc9e6..bb183f584d92 100644
> --- a/drivers/gpio/gpio-xgs-iproc.c
> +++ b/drivers/gpio/gpio-xgs-iproc.c
> @@ -299,7 +299,7 @@ static int __exit iproc_gpio_remove(struct platform_device *pdev)
> return 0;
> }
>
> -static const struct of_device_id bcm_iproc_gpio_of_match[] __initconst = {
> +static const struct of_device_id bcm_iproc_gpio_of_match[] = {
> { .compatible = "brcm,iproc-gpio-cca" },
> {}
> };
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] gpio: xgs-iproc: Fix section mismatch on device tree match table
@ 2019-11-05 20:07 ` Chris Packham
0 siblings, 0 replies; 12+ messages in thread
From: Chris Packham @ 2019-11-05 20:07 UTC (permalink / raw)
To: broonie, linus.walleij, bgolaszewski
Cc: linux-gpio, bcm-kernel-feedback-list, linux-arm-kernel
Hi Mark,
On Tue, 2019-11-05 at 12:49 +0000, Mark Brown wrote:
> The table of devicetree identifiers is annotated as __initconst
> indicating that it can be discarded after kernel boot but it is
> referenced from the driver struct which has no init annotation leading
> to a linker warning:
>
> WARNING: vmlinux.o(.data+0x82d58): 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
>
> Since drivers can be probed after init the lack of annotation on the
> driver struct is correct so remove the annotation from the match table.
>
> Signed-off-by: Mark Brown <broonie@kernel.org>
Thanks for picking this up
Reviewed-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
Is it worth including 'Fixes: 6a41b6c5fc20 ("gpio: Add xgs-iproc
driver")'?
> ---
> drivers/gpio/gpio-xgs-iproc.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpio/gpio-xgs-iproc.c b/drivers/gpio/gpio-xgs-iproc.c
> index a3fdd95cc9e6..bb183f584d92 100644
> --- a/drivers/gpio/gpio-xgs-iproc.c
> +++ b/drivers/gpio/gpio-xgs-iproc.c
> @@ -299,7 +299,7 @@ static int __exit iproc_gpio_remove(struct platform_device *pdev)
> return 0;
> }
>
> -static const struct of_device_id bcm_iproc_gpio_of_match[] __initconst = {
> +static const struct of_device_id bcm_iproc_gpio_of_match[] = {
> { .compatible = "brcm,iproc-gpio-cca" },
> {}
> };
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 12+ messages in thread
* RE: [PATCH] gpio: xgs-iproc: Fix section mismatch on device tree match table
2019-11-05 12:49 ` Mark Brown
@ 2019-11-06 7:08 ` Yoshihiro Shimoda
-1 siblings, 0 replies; 12+ messages in thread
From: Yoshihiro Shimoda @ 2019-11-06 7:08 UTC (permalink / raw)
To: Mark Brown, Linus Walleij, Bartosz Golaszewski, Chris Packham
Cc: bcm-kernel-feedback-list, linux-gpio, linux-arm-kernel
Hi Mark,
> From: Mark Brown, Sent: Tuesday, November 5, 2019 9:49 PM
>
> The table of devicetree identifiers is annotated as __initconst
> indicating that it can be discarded after kernel boot but it is
> referenced from the driver struct which has no init annotation leading
> to a linker warning:
>
> WARNING: vmlinux.o(.data+0x82d58): 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
>
> Since drivers can be probed after init the lack of annotation on the
> driver struct is correct so remove the annotation from the match table.
>
> Signed-off-by: Mark Brown <broonie@kernel.org>
Thank you for the patch! Without this patch, I had encountered another
issue which my environment caused a panic when I tried to install a usb host
driver after booted [1]. But, I could resolved the issue after
I applied this patch. Also, I confirmed this patch could resolved the warning.
So,
Reviewed-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Tested-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Best regards,
Yoshihiro Shimoda
---
[1]
[ 146.541188] Unable to handle kernel paging request at virtual address ffff800011f73540
[ 146.549099] Mem abort info:
[ 146.551885] ESR = 0x96000007
[ 146.554934] EC = 0x25: DABT (current EL), IL = 32 bits
[ 146.560238] SET = 0, FnV = 0
[ 146.563284] EA = 0, S1PTW = 0
[ 146.566416] Data abort info:
[ 146.569289] ISV = 0, ISS = 0x00000007
[ 146.573117] CM = 0, WnR = 0
[ 146.576078] swapper pgtable: 4k pages, 48-bit VAs, pgdp=0000000049e4a000
[ 146.582770] [ffff800011f73540] pgd=000000077ffff003, pud=000000077fffe003, pmd=000000077fffb003, pte=0000000000000000
[ 146.593375] Internal error: Oops: 96000007 [#1] PREEMPT SMP
[ 146.598944] CPU: 0 PID: 106 Comm: kworker/0:1 Not tainted 5.4.0-rc6-next-20191105 #87
[ 146.606766] Hardware name: Renesas Salvator-X 2nd version board based on r8a7795 ES2.0+ (DT)
[ 146.615209] Workqueue: events deferred_probe_work_func
[ 146.620341] pstate: a0000085 (NzCv daIf -PAN -UAO)
[ 146.625132] pc : __of_match_node.part.4+0x3c/0x78
[ 146.629830] lr : of_match_node+0x3c/0x70
...
---
So,
Best regards,
Yoshihiro Shimoda
> ---
> drivers/gpio/gpio-xgs-iproc.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpio/gpio-xgs-iproc.c b/drivers/gpio/gpio-xgs-iproc.c
> index a3fdd95cc9e6..bb183f584d92 100644
> --- a/drivers/gpio/gpio-xgs-iproc.c
> +++ b/drivers/gpio/gpio-xgs-iproc.c
> @@ -299,7 +299,7 @@ static int __exit iproc_gpio_remove(struct platform_device *pdev)
> return 0;
> }
>
> -static const struct of_device_id bcm_iproc_gpio_of_match[] __initconst = {
> +static const struct of_device_id bcm_iproc_gpio_of_match[] = {
> { .compatible = "brcm,iproc-gpio-cca" },
> {}
> };
> --
> 2.20.1
^ permalink raw reply [flat|nested] 12+ messages in thread
* RE: [PATCH] gpio: xgs-iproc: Fix section mismatch on device tree match table
@ 2019-11-06 7:08 ` Yoshihiro Shimoda
0 siblings, 0 replies; 12+ messages in thread
From: Yoshihiro Shimoda @ 2019-11-06 7:08 UTC (permalink / raw)
To: Mark Brown, Linus Walleij, Bartosz Golaszewski, Chris Packham
Cc: linux-gpio, bcm-kernel-feedback-list, linux-arm-kernel
Hi Mark,
> From: Mark Brown, Sent: Tuesday, November 5, 2019 9:49 PM
>
> The table of devicetree identifiers is annotated as __initconst
> indicating that it can be discarded after kernel boot but it is
> referenced from the driver struct which has no init annotation leading
> to a linker warning:
>
> WARNING: vmlinux.o(.data+0x82d58): 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
>
> Since drivers can be probed after init the lack of annotation on the
> driver struct is correct so remove the annotation from the match table.
>
> Signed-off-by: Mark Brown <broonie@kernel.org>
Thank you for the patch! Without this patch, I had encountered another
issue which my environment caused a panic when I tried to install a usb host
driver after booted [1]. But, I could resolved the issue after
I applied this patch. Also, I confirmed this patch could resolved the warning.
So,
Reviewed-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Tested-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Best regards,
Yoshihiro Shimoda
---
[1]
[ 146.541188] Unable to handle kernel paging request at virtual address ffff800011f73540
[ 146.549099] Mem abort info:
[ 146.551885] ESR = 0x96000007
[ 146.554934] EC = 0x25: DABT (current EL), IL = 32 bits
[ 146.560238] SET = 0, FnV = 0
[ 146.563284] EA = 0, S1PTW = 0
[ 146.566416] Data abort info:
[ 146.569289] ISV = 0, ISS = 0x00000007
[ 146.573117] CM = 0, WnR = 0
[ 146.576078] swapper pgtable: 4k pages, 48-bit VAs, pgdp=0000000049e4a000
[ 146.582770] [ffff800011f73540] pgd=000000077ffff003, pud=000000077fffe003, pmd=000000077fffb003, pte=0000000000000000
[ 146.593375] Internal error: Oops: 96000007 [#1] PREEMPT SMP
[ 146.598944] CPU: 0 PID: 106 Comm: kworker/0:1 Not tainted 5.4.0-rc6-next-20191105 #87
[ 146.606766] Hardware name: Renesas Salvator-X 2nd version board based on r8a7795 ES2.0+ (DT)
[ 146.615209] Workqueue: events deferred_probe_work_func
[ 146.620341] pstate: a0000085 (NzCv daIf -PAN -UAO)
[ 146.625132] pc : __of_match_node.part.4+0x3c/0x78
[ 146.629830] lr : of_match_node+0x3c/0x70
...
---
So,
Best regards,
Yoshihiro Shimoda
> ---
> drivers/gpio/gpio-xgs-iproc.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpio/gpio-xgs-iproc.c b/drivers/gpio/gpio-xgs-iproc.c
> index a3fdd95cc9e6..bb183f584d92 100644
> --- a/drivers/gpio/gpio-xgs-iproc.c
> +++ b/drivers/gpio/gpio-xgs-iproc.c
> @@ -299,7 +299,7 @@ static int __exit iproc_gpio_remove(struct platform_device *pdev)
> return 0;
> }
>
> -static const struct of_device_id bcm_iproc_gpio_of_match[] __initconst = {
> +static const struct of_device_id bcm_iproc_gpio_of_match[] = {
> { .compatible = "brcm,iproc-gpio-cca" },
> {}
> };
> --
> 2.20.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] gpio: xgs-iproc: Fix section mismatch on device tree match table
2019-11-06 7:08 ` Yoshihiro Shimoda
@ 2019-11-06 19:49 ` Chris Packham
-1 siblings, 0 replies; 12+ messages in thread
From: Chris Packham @ 2019-11-06 19:49 UTC (permalink / raw)
To: guillaume.tucker, yoshihiro.shimoda.uh, broonie, linus.walleij,
bgolaszewski
Cc: linux-arm-kernel, bcm-kernel-feedback-list, linux-gpio
(adding Guillamume),
On Wed, 2019-11-06 at 07:08 +0000, Yoshihiro Shimoda wrote:
> Hi Mark,
>
> > From: Mark Brown, Sent: Tuesday, November 5, 2019 9:49 PM
> >
> > The table of devicetree identifiers is annotated as __initconst
> > indicating that it can be discarded after kernel boot but it is
> > referenced from the driver struct which has no init annotation leading
> > to a linker warning:
> >
> > WARNING: vmlinux.o(.data+0x82d58): 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
> >
> > Since drivers can be probed after init the lack of annotation on the
> > driver struct is correct so remove the annotation from the match table.
> >
> > Signed-off-by: Mark Brown <broonie@kernel.org>
>
> Thank you for the patch! Without this patch, I had encountered another
> issue which my environment caused a panic when I tried to install a usb host
> driver after booted [1]. But, I could resolved the issue after
> I applied this patch. Also, I confirmed this patch could resolved the warning.
>
> So,
> Reviewed-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
> Tested-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
>
> Best regards,
> Yoshihiro Shimoda
>
> ---
> [1]
> [ 146.541188] Unable to handle kernel paging request at virtual address ffff800011f73540
> [ 146.549099] Mem abort info:
> [ 146.551885] ESR = 0x96000007
> [ 146.554934] EC = 0x25: DABT (current EL), IL = 32 bits
> [ 146.560238] SET = 0, FnV = 0
> [ 146.563284] EA = 0, S1PTW = 0
> [ 146.566416] Data abort info:
> [ 146.569289] ISV = 0, ISS = 0x00000007
> [ 146.573117] CM = 0, WnR = 0
> [ 146.576078] swapper pgtable: 4k pages, 48-bit VAs, pgdp=0000000049e4a000
> [ 146.582770] [ffff800011f73540] pgd=000000077ffff003, pud=000000077fffe003, pmd=000000077fffb003, pte=0000000000000000
> [ 146.593375] Internal error: Oops: 96000007 [#1] PREEMPT SMP
> [ 146.598944] CPU: 0 PID: 106 Comm: kworker/0:1 Not tainted 5.4.0-rc6-next-20191105 #87
> [ 146.606766] Hardware name: Renesas Salvator-X 2nd version board based on r8a7795 ES2.0+ (DT)
> [ 146.615209] Workqueue: events deferred_probe_work_func
> [ 146.620341] pstate: a0000085 (NzCv daIf -PAN -UAO)
> [ 146.625132] pc : __of_match_node.part.4+0x3c/0x78
> [ 146.629830] lr : of_match_node+0x3c/0x70
> ...
> ---
>
>
> So,
I guess that kernelci failure[1] wasn't bogus after all. Sorry again
for the hassle. And Mark, Yoshihiro thanks for the fix and test.
[1] -
https://lore.kernel.org/lkml/5dbb2acf.1c69fb81.54ce2.2f48@mx.google.com/
>
>
> Best regards,
> Yoshihiro Shimoda
>
>
> > ---
> > drivers/gpio/gpio-xgs-iproc.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/gpio/gpio-xgs-iproc.c b/drivers/gpio/gpio-xgs-iproc.c
> > index a3fdd95cc9e6..bb183f584d92 100644
> > --- a/drivers/gpio/gpio-xgs-iproc.c
> > +++ b/drivers/gpio/gpio-xgs-iproc.c
> > @@ -299,7 +299,7 @@ static int __exit iproc_gpio_remove(struct platform_device *pdev)
> > return 0;
> > }
> >
> > -static const struct of_device_id bcm_iproc_gpio_of_match[] __initconst = {
> > +static const struct of_device_id bcm_iproc_gpio_of_match[] = {
> > { .compatible = "brcm,iproc-gpio-cca" },
> > {}
> > };
> > --
> > 2.20.1
>
>
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] gpio: xgs-iproc: Fix section mismatch on device tree match table
@ 2019-11-06 19:49 ` Chris Packham
0 siblings, 0 replies; 12+ messages in thread
From: Chris Packham @ 2019-11-06 19:49 UTC (permalink / raw)
To: guillaume.tucker, yoshihiro.shimoda.uh, broonie, linus.walleij,
bgolaszewski
Cc: linux-gpio, bcm-kernel-feedback-list, linux-arm-kernel
(adding Guillamume),
On Wed, 2019-11-06 at 07:08 +0000, Yoshihiro Shimoda wrote:
> Hi Mark,
>
> > From: Mark Brown, Sent: Tuesday, November 5, 2019 9:49 PM
> >
> > The table of devicetree identifiers is annotated as __initconst
> > indicating that it can be discarded after kernel boot but it is
> > referenced from the driver struct which has no init annotation leading
> > to a linker warning:
> >
> > WARNING: vmlinux.o(.data+0x82d58): 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
> >
> > Since drivers can be probed after init the lack of annotation on the
> > driver struct is correct so remove the annotation from the match table.
> >
> > Signed-off-by: Mark Brown <broonie@kernel.org>
>
> Thank you for the patch! Without this patch, I had encountered another
> issue which my environment caused a panic when I tried to install a usb host
> driver after booted [1]. But, I could resolved the issue after
> I applied this patch. Also, I confirmed this patch could resolved the warning.
>
> So,
> Reviewed-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
> Tested-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
>
> Best regards,
> Yoshihiro Shimoda
>
> ---
> [1]
> [ 146.541188] Unable to handle kernel paging request at virtual address ffff800011f73540
> [ 146.549099] Mem abort info:
> [ 146.551885] ESR = 0x96000007
> [ 146.554934] EC = 0x25: DABT (current EL), IL = 32 bits
> [ 146.560238] SET = 0, FnV = 0
> [ 146.563284] EA = 0, S1PTW = 0
> [ 146.566416] Data abort info:
> [ 146.569289] ISV = 0, ISS = 0x00000007
> [ 146.573117] CM = 0, WnR = 0
> [ 146.576078] swapper pgtable: 4k pages, 48-bit VAs, pgdp=0000000049e4a000
> [ 146.582770] [ffff800011f73540] pgd=000000077ffff003, pud=000000077fffe003, pmd=000000077fffb003, pte=0000000000000000
> [ 146.593375] Internal error: Oops: 96000007 [#1] PREEMPT SMP
> [ 146.598944] CPU: 0 PID: 106 Comm: kworker/0:1 Not tainted 5.4.0-rc6-next-20191105 #87
> [ 146.606766] Hardware name: Renesas Salvator-X 2nd version board based on r8a7795 ES2.0+ (DT)
> [ 146.615209] Workqueue: events deferred_probe_work_func
> [ 146.620341] pstate: a0000085 (NzCv daIf -PAN -UAO)
> [ 146.625132] pc : __of_match_node.part.4+0x3c/0x78
> [ 146.629830] lr : of_match_node+0x3c/0x70
> ...
> ---
>
>
> So,
I guess that kernelci failure[1] wasn't bogus after all. Sorry again
for the hassle. And Mark, Yoshihiro thanks for the fix and test.
[1] -
https://lore.kernel.org/lkml/5dbb2acf.1c69fb81.54ce2.2f48@mx.google.com/
>
>
> Best regards,
> Yoshihiro Shimoda
>
>
> > ---
> > drivers/gpio/gpio-xgs-iproc.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/gpio/gpio-xgs-iproc.c b/drivers/gpio/gpio-xgs-iproc.c
> > index a3fdd95cc9e6..bb183f584d92 100644
> > --- a/drivers/gpio/gpio-xgs-iproc.c
> > +++ b/drivers/gpio/gpio-xgs-iproc.c
> > @@ -299,7 +299,7 @@ static int __exit iproc_gpio_remove(struct platform_device *pdev)
> > return 0;
> > }
> >
> > -static const struct of_device_id bcm_iproc_gpio_of_match[] __initconst = {
> > +static const struct of_device_id bcm_iproc_gpio_of_match[] = {
> > { .compatible = "brcm,iproc-gpio-cca" },
> > {}
> > };
> > --
> > 2.20.1
>
>
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] gpio: xgs-iproc: Fix section mismatch on device tree match table
2019-11-06 19:49 ` Chris Packham
@ 2019-11-06 20:28 ` Guillaume Tucker
-1 siblings, 0 replies; 12+ messages in thread
From: Guillaume Tucker @ 2019-11-06 20:28 UTC (permalink / raw)
To: Chris Packham, yoshihiro.shimoda.uh, broonie, linus.walleij,
bgolaszewski
Cc: linux-gpio, bcm-kernel-feedback-list, linux-arm-kernel
On 06/11/2019 19:49, Chris Packham wrote:
> (adding Guillamume),
>
> On Wed, 2019-11-06 at 07:08 +0000, Yoshihiro Shimoda wrote:
>> Hi Mark,
>>
>>> From: Mark Brown, Sent: Tuesday, November 5, 2019 9:49 PM
>>>
>>> The table of devicetree identifiers is annotated as __initconst
>>> indicating that it can be discarded after kernel boot but it is
>>> referenced from the driver struct which has no init annotation leading
>>> to a linker warning:
>>>
>>> WARNING: vmlinux.o(.data+0x82d58): 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
>>>
>>> Since drivers can be probed after init the lack of annotation on the
>>> driver struct is correct so remove the annotation from the match table.
>>>
>>> Signed-off-by: Mark Brown <broonie@kernel.org>
>>
>> Thank you for the patch! Without this patch, I had encountered another
>> issue which my environment caused a panic when I tried to install a usb host
>> driver after booted [1]. But, I could resolved the issue after
>> I applied this patch. Also, I confirmed this patch could resolved the warning.
>>
>> So,
>> Reviewed-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
>> Tested-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
>>
>> Best regards,
>> Yoshihiro Shimoda
>>
>> ---
>> [1]
>> [ 146.541188] Unable to handle kernel paging request at virtual address ffff800011f73540
>> [ 146.549099] Mem abort info:
>> [ 146.551885] ESR = 0x96000007
>> [ 146.554934] EC = 0x25: DABT (current EL), IL = 32 bits
>> [ 146.560238] SET = 0, FnV = 0
>> [ 146.563284] EA = 0, S1PTW = 0
>> [ 146.566416] Data abort info:
>> [ 146.569289] ISV = 0, ISS = 0x00000007
>> [ 146.573117] CM = 0, WnR = 0
>> [ 146.576078] swapper pgtable: 4k pages, 48-bit VAs, pgdp=0000000049e4a000
>> [ 146.582770] [ffff800011f73540] pgd=000000077ffff003, pud=000000077fffe003, pmd=000000077fffb003, pte=0000000000000000
>> [ 146.593375] Internal error: Oops: 96000007 [#1] PREEMPT SMP
>> [ 146.598944] CPU: 0 PID: 106 Comm: kworker/0:1 Not tainted 5.4.0-rc6-next-20191105 #87
>> [ 146.606766] Hardware name: Renesas Salvator-X 2nd version board based on r8a7795 ES2.0+ (DT)
>> [ 146.615209] Workqueue: events deferred_probe_work_func
>> [ 146.620341] pstate: a0000085 (NzCv daIf -PAN -UAO)
>> [ 146.625132] pc : __of_match_node.part.4+0x3c/0x78
>> [ 146.629830] lr : of_match_node+0x3c/0x70
>> ...
>> ---
>>
>>
>> So,
>
> I guess that kernelci failure[1] wasn't bogus after all. Sorry again
> for the hassle. And Mark, Yoshihiro thanks for the fix and test.
Thanks for the follow-up, I'll re-enable bisections in
lab-theobroma-systems then.
It's actually pretty hard to get false positives from this
automated bisection thanks to some checks run on the commit
found, to verify it does cause a boot failure and also verify
that when reverted the problem goes away. This was a good
example :)
Guillaume
> [1] -
> https://lore.kernel.org/lkml/5dbb2acf.1c69fb81.54ce2.2f48@mx.google.com/
>
>>
>>
>> Best regards,
>> Yoshihiro Shimoda
>>
>>
>>> ---
>>> drivers/gpio/gpio-xgs-iproc.c | 2 +-
>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/gpio/gpio-xgs-iproc.c b/drivers/gpio/gpio-xgs-iproc.c
>>> index a3fdd95cc9e6..bb183f584d92 100644
>>> --- a/drivers/gpio/gpio-xgs-iproc.c
>>> +++ b/drivers/gpio/gpio-xgs-iproc.c
>>> @@ -299,7 +299,7 @@ static int __exit iproc_gpio_remove(struct platform_device *pdev)
>>> return 0;
>>> }
>>>
>>> -static const struct of_device_id bcm_iproc_gpio_of_match[] __initconst = {
>>> +static const struct of_device_id bcm_iproc_gpio_of_match[] = {
>>> { .compatible = "brcm,iproc-gpio-cca" },
>>> {}
>>> };
>>> --
>>> 2.20.1
>>
>>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
>
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] gpio: xgs-iproc: Fix section mismatch on device tree match table
@ 2019-11-06 20:28 ` Guillaume Tucker
0 siblings, 0 replies; 12+ messages in thread
From: Guillaume Tucker @ 2019-11-06 20:28 UTC (permalink / raw)
To: Chris Packham, yoshihiro.shimoda.uh, broonie, linus.walleij,
bgolaszewski
Cc: linux-gpio, bcm-kernel-feedback-list, linux-arm-kernel
On 06/11/2019 19:49, Chris Packham wrote:
> (adding Guillamume),
>
> On Wed, 2019-11-06 at 07:08 +0000, Yoshihiro Shimoda wrote:
>> Hi Mark,
>>
>>> From: Mark Brown, Sent: Tuesday, November 5, 2019 9:49 PM
>>>
>>> The table of devicetree identifiers is annotated as __initconst
>>> indicating that it can be discarded after kernel boot but it is
>>> referenced from the driver struct which has no init annotation leading
>>> to a linker warning:
>>>
>>> WARNING: vmlinux.o(.data+0x82d58): 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
>>>
>>> Since drivers can be probed after init the lack of annotation on the
>>> driver struct is correct so remove the annotation from the match table.
>>>
>>> Signed-off-by: Mark Brown <broonie@kernel.org>
>>
>> Thank you for the patch! Without this patch, I had encountered another
>> issue which my environment caused a panic when I tried to install a usb host
>> driver after booted [1]. But, I could resolved the issue after
>> I applied this patch. Also, I confirmed this patch could resolved the warning.
>>
>> So,
>> Reviewed-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
>> Tested-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
>>
>> Best regards,
>> Yoshihiro Shimoda
>>
>> ---
>> [1]
>> [ 146.541188] Unable to handle kernel paging request at virtual address ffff800011f73540
>> [ 146.549099] Mem abort info:
>> [ 146.551885] ESR = 0x96000007
>> [ 146.554934] EC = 0x25: DABT (current EL), IL = 32 bits
>> [ 146.560238] SET = 0, FnV = 0
>> [ 146.563284] EA = 0, S1PTW = 0
>> [ 146.566416] Data abort info:
>> [ 146.569289] ISV = 0, ISS = 0x00000007
>> [ 146.573117] CM = 0, WnR = 0
>> [ 146.576078] swapper pgtable: 4k pages, 48-bit VAs, pgdp=0000000049e4a000
>> [ 146.582770] [ffff800011f73540] pgd=000000077ffff003, pud=000000077fffe003, pmd=000000077fffb003, pte=0000000000000000
>> [ 146.593375] Internal error: Oops: 96000007 [#1] PREEMPT SMP
>> [ 146.598944] CPU: 0 PID: 106 Comm: kworker/0:1 Not tainted 5.4.0-rc6-next-20191105 #87
>> [ 146.606766] Hardware name: Renesas Salvator-X 2nd version board based on r8a7795 ES2.0+ (DT)
>> [ 146.615209] Workqueue: events deferred_probe_work_func
>> [ 146.620341] pstate: a0000085 (NzCv daIf -PAN -UAO)
>> [ 146.625132] pc : __of_match_node.part.4+0x3c/0x78
>> [ 146.629830] lr : of_match_node+0x3c/0x70
>> ...
>> ---
>>
>>
>> So,
>
> I guess that kernelci failure[1] wasn't bogus after all. Sorry again
> for the hassle. And Mark, Yoshihiro thanks for the fix and test.
Thanks for the follow-up, I'll re-enable bisections in
lab-theobroma-systems then.
It's actually pretty hard to get false positives from this
automated bisection thanks to some checks run on the commit
found, to verify it does cause a boot failure and also verify
that when reverted the problem goes away. This was a good
example :)
Guillaume
> [1] -
> https://lore.kernel.org/lkml/5dbb2acf.1c69fb81.54ce2.2f48@mx.google.com/
>
>>
>>
>> Best regards,
>> Yoshihiro Shimoda
>>
>>
>>> ---
>>> drivers/gpio/gpio-xgs-iproc.c | 2 +-
>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/gpio/gpio-xgs-iproc.c b/drivers/gpio/gpio-xgs-iproc.c
>>> index a3fdd95cc9e6..bb183f584d92 100644
>>> --- a/drivers/gpio/gpio-xgs-iproc.c
>>> +++ b/drivers/gpio/gpio-xgs-iproc.c
>>> @@ -299,7 +299,7 @@ static int __exit iproc_gpio_remove(struct platform_device *pdev)
>>> return 0;
>>> }
>>>
>>> -static const struct of_device_id bcm_iproc_gpio_of_match[] __initconst = {
>>> +static const struct of_device_id bcm_iproc_gpio_of_match[] = {
>>> { .compatible = "brcm,iproc-gpio-cca" },
>>> {}
>>> };
>>> --
>>> 2.20.1
>>
>>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
>
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] gpio: xgs-iproc: Fix section mismatch on device tree match table
2019-11-05 12:49 ` Mark Brown
@ 2019-11-07 7:56 ` Linus Walleij
-1 siblings, 0 replies; 12+ messages in thread
From: Linus Walleij @ 2019-11-07 7:56 UTC (permalink / raw)
To: Mark Brown
Cc: Bartosz Golaszewski, Chris Packham, bcm-kernel-feedback-list,
open list:GPIO SUBSYSTEM, Linux ARM
On Tue, Nov 5, 2019 at 1:49 PM Mark Brown <broonie@kernel.org> wrote:
> The table of devicetree identifiers is annotated as __initconst
> indicating that it can be discarded after kernel boot but it is
> referenced from the driver struct which has no init annotation leading
> to a linker warning:
>
> WARNING: vmlinux.o(.data+0x82d58): 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
>
> Since drivers can be probed after init the lack of annotation on the
> driver struct is correct so remove the annotation from the match table.
>
> Signed-off-by: Mark Brown <broonie@kernel.org>
Oh thanks a LOT Mark!
Hurriedly applied this with the ACKs and pushed out so
linux-next starts working.
Quite interesting bug, I guess I'll comment on it in the other
thread.
Yours,
Linus Walleij
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] gpio: xgs-iproc: Fix section mismatch on device tree match table
@ 2019-11-07 7:56 ` Linus Walleij
0 siblings, 0 replies; 12+ messages in thread
From: Linus Walleij @ 2019-11-07 7:56 UTC (permalink / raw)
To: Mark Brown
Cc: Bartosz Golaszewski, Chris Packham, bcm-kernel-feedback-list,
Linux ARM, open list:GPIO SUBSYSTEM
On Tue, Nov 5, 2019 at 1:49 PM Mark Brown <broonie@kernel.org> wrote:
> The table of devicetree identifiers is annotated as __initconst
> indicating that it can be discarded after kernel boot but it is
> referenced from the driver struct which has no init annotation leading
> to a linker warning:
>
> WARNING: vmlinux.o(.data+0x82d58): 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
>
> Since drivers can be probed after init the lack of annotation on the
> driver struct is correct so remove the annotation from the match table.
>
> Signed-off-by: Mark Brown <broonie@kernel.org>
Oh thanks a LOT Mark!
Hurriedly applied this with the ACKs and pushed out so
linux-next starts working.
Quite interesting bug, I guess I'll comment on it in the other
thread.
Yours,
Linus Walleij
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2019-11-07 7:56 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-11-05 12:49 [PATCH] gpio: xgs-iproc: Fix section mismatch on device tree match table Mark Brown
2019-11-05 12:49 ` Mark Brown
2019-11-05 20:07 ` Chris Packham
2019-11-05 20:07 ` Chris Packham
2019-11-06 7:08 ` Yoshihiro Shimoda
2019-11-06 7:08 ` Yoshihiro Shimoda
2019-11-06 19:49 ` Chris Packham
2019-11-06 19:49 ` Chris Packham
2019-11-06 20:28 ` Guillaume Tucker
2019-11-06 20:28 ` Guillaume Tucker
2019-11-07 7:56 ` Linus Walleij
2019-11-07 7:56 ` Linus Walleij
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.