Message ID | 20220224040136.1595119-1-davidgow@google.com |
---|---|
State | Not Applicable |
Headers | show |
Series | firmware: google: Properly state IOMEM dependency | expand |
On 24/02/2022 04:01, David Gow wrote: > The Google Coreboot implementation requires IOMEM functions > (memmremap, memunmap, devm_memremap), but does not specify this is its > Kconfig. This results in build errors when IOMEM is not enabled, such as > on some UML configurations: > > /usr/bin/ld: drivers/firmware/google/coreboot_table.o: in function `coreboot_table_probe': > coreboot_table.c:(.text+0x311): undefined reference to `memremap' > /usr/bin/ld: coreboot_table.c:(.text+0x34e): undefined reference to `memunmap' > /usr/bin/ld: drivers/firmware/google/memconsole-coreboot.o: in function `memconsole_probe': > memconsole-coreboot.c:(.text+0x12d): undefined reference to `memremap' > /usr/bin/ld: memconsole-coreboot.c:(.text+0x17e): undefined reference to `devm_memremap' > /usr/bin/ld: memconsole-coreboot.c:(.text+0x191): undefined reference to `memunmap' > /usr/bin/ld: drivers/firmware/google/vpd.o: in function `vpd_section_destroy.isra.0': > vpd.c:(.text+0x300): undefined reference to `memunmap' > /usr/bin/ld: drivers/firmware/google/vpd.o: in function `vpd_section_init': > vpd.c:(.text+0x382): undefined reference to `memremap' > /usr/bin/ld: vpd.c:(.text+0x459): undefined reference to `memunmap' > /usr/bin/ld: drivers/firmware/google/vpd.o: in function `vpd_probe': > vpd.c:(.text+0x59d): undefined reference to `memremap' > /usr/bin/ld: vpd.c:(.text+0x5d3): undefined reference to `memunmap' > collect2: error: ld returned 1 exit status > > Signed-off-by: David Gow <davidgow@google.com> > --- > drivers/firmware/google/Kconfig | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/firmware/google/Kconfig b/drivers/firmware/google/Kconfig > index 931544c9f63d..7ac866a985c6 100644 > --- a/drivers/firmware/google/Kconfig > +++ b/drivers/firmware/google/Kconfig > @@ -21,7 +21,7 @@ config GOOGLE_SMI > > config GOOGLE_COREBOOT_TABLE > tristate "Coreboot Table Access" > - depends on ACPI || OF > + depends on IOMEM && (ACPI || OF) > help > This option enables the coreboot_table module, which provides other > firmware modules access to the coreboot table. The coreboot table > Acked-By: anton ivanov <anton.ivanov@cambridgegreys.com>
Acked-By: Julius Werner <jwerner@chromium.org> On Thu, Feb 24, 2022 at 12:02 AM Anton Ivanov <anton.ivanov@cambridgegreys.com> wrote: > > > > On 24/02/2022 04:01, David Gow wrote: > > The Google Coreboot implementation requires IOMEM functions > > (memmremap, memunmap, devm_memremap), but does not specify this is its > > Kconfig. This results in build errors when IOMEM is not enabled, such as > > on some UML configurations: > > > > /usr/bin/ld: drivers/firmware/google/coreboot_table.o: in function `coreboot_table_probe': > > coreboot_table.c:(.text+0x311): undefined reference to `memremap' > > /usr/bin/ld: coreboot_table.c:(.text+0x34e): undefined reference to `memunmap' > > /usr/bin/ld: drivers/firmware/google/memconsole-coreboot.o: in function `memconsole_probe': > > memconsole-coreboot.c:(.text+0x12d): undefined reference to `memremap' > > /usr/bin/ld: memconsole-coreboot.c:(.text+0x17e): undefined reference to `devm_memremap' > > /usr/bin/ld: memconsole-coreboot.c:(.text+0x191): undefined reference to `memunmap' > > /usr/bin/ld: drivers/firmware/google/vpd.o: in function `vpd_section_destroy.isra.0': > > vpd.c:(.text+0x300): undefined reference to `memunmap' > > /usr/bin/ld: drivers/firmware/google/vpd.o: in function `vpd_section_init': > > vpd.c:(.text+0x382): undefined reference to `memremap' > > /usr/bin/ld: vpd.c:(.text+0x459): undefined reference to `memunmap' > > /usr/bin/ld: drivers/firmware/google/vpd.o: in function `vpd_probe': > > vpd.c:(.text+0x59d): undefined reference to `memremap' > > /usr/bin/ld: vpd.c:(.text+0x5d3): undefined reference to `memunmap' > > collect2: error: ld returned 1 exit status > > > > Signed-off-by: David Gow <davidgow@google.com> > > --- > > drivers/firmware/google/Kconfig | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/drivers/firmware/google/Kconfig b/drivers/firmware/google/Kconfig > > index 931544c9f63d..7ac866a985c6 100644 > > --- a/drivers/firmware/google/Kconfig > > +++ b/drivers/firmware/google/Kconfig > > @@ -21,7 +21,7 @@ config GOOGLE_SMI > > > > config GOOGLE_COREBOOT_TABLE > > tristate "Coreboot Table Access" > > - depends on ACPI || OF > > + depends on IOMEM && (ACPI || OF) > > help > > This option enables the coreboot_table module, which provides other > > firmware modules access to the coreboot table. The coreboot table > > > Acked-By: anton ivanov <anton.ivanov@cambridgegreys.com> > > -- > Anton R. Ivanov > Cambridgegreys Limited. Registered in England. Company Number 10273661 > https://www.cambridgegreys.com/
diff --git a/drivers/firmware/google/Kconfig b/drivers/firmware/google/Kconfig index 931544c9f63d..7ac866a985c6 100644 --- a/drivers/firmware/google/Kconfig +++ b/drivers/firmware/google/Kconfig @@ -21,7 +21,7 @@ config GOOGLE_SMI config GOOGLE_COREBOOT_TABLE tristate "Coreboot Table Access" - depends on ACPI || OF + depends on IOMEM && (ACPI || OF) help This option enables the coreboot_table module, which provides other firmware modules access to the coreboot table. The coreboot table
The Google Coreboot implementation requires IOMEM functions (memmremap, memunmap, devm_memremap), but does not specify this is its Kconfig. This results in build errors when IOMEM is not enabled, such as on some UML configurations: /usr/bin/ld: drivers/firmware/google/coreboot_table.o: in function `coreboot_table_probe': coreboot_table.c:(.text+0x311): undefined reference to `memremap' /usr/bin/ld: coreboot_table.c:(.text+0x34e): undefined reference to `memunmap' /usr/bin/ld: drivers/firmware/google/memconsole-coreboot.o: in function `memconsole_probe': memconsole-coreboot.c:(.text+0x12d): undefined reference to `memremap' /usr/bin/ld: memconsole-coreboot.c:(.text+0x17e): undefined reference to `devm_memremap' /usr/bin/ld: memconsole-coreboot.c:(.text+0x191): undefined reference to `memunmap' /usr/bin/ld: drivers/firmware/google/vpd.o: in function `vpd_section_destroy.isra.0': vpd.c:(.text+0x300): undefined reference to `memunmap' /usr/bin/ld: drivers/firmware/google/vpd.o: in function `vpd_section_init': vpd.c:(.text+0x382): undefined reference to `memremap' /usr/bin/ld: vpd.c:(.text+0x459): undefined reference to `memunmap' /usr/bin/ld: drivers/firmware/google/vpd.o: in function `vpd_probe': vpd.c:(.text+0x59d): undefined reference to `memremap' /usr/bin/ld: vpd.c:(.text+0x5d3): undefined reference to `memunmap' collect2: error: ld returned 1 exit status Signed-off-by: David Gow <davidgow@google.com> --- drivers/firmware/google/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)