[1/2] fbdev: geode: don't build on UML

Message ID 20221130215544.28497-1-rdunlap@infradead.org
State New
Headers
Series [1/2] fbdev: geode: don't build on UML |

Commit Message

Randy Dunlap Nov. 30, 2022, 9:55 p.m. UTC
  The geode fbdev driver uses struct cpuinfo fields that are not present
on ARCH=um, so don't allow this driver to be built on UML.

Prevents these build errors:

In file included from ../arch/x86/include/asm/olpc.h:7:0,
                 from ../drivers/mfd/cs5535-mfd.c:17:
../arch/x86/include/asm/geode.h: In function ‘is_geode_gx’:
../arch/x86/include/asm/geode.h:16:24: error: ‘struct cpuinfo_um’ has no member named ‘x86_vendor’
  return ((boot_cpu_data.x86_vendor == X86_VENDOR_NSC) &&
../arch/x86/include/asm/geode.h:16:39: error: ‘X86_VENDOR_NSC’ undeclared (first use in this function); did you mean ‘X86_VENDOR_ANY’?
  return ((boot_cpu_data.x86_vendor == X86_VENDOR_NSC) &&
../arch/x86/include/asm/geode.h:17:17: error: ‘struct cpuinfo_um’ has no member named ‘x86’
   (boot_cpu_data.x86 == 5) &&
../arch/x86/include/asm/geode.h:18:17: error: ‘struct cpuinfo_um’ has no member named ‘x86_model’
   (boot_cpu_data.x86_model == 5));
../arch/x86/include/asm/geode.h: In function ‘is_geode_lx’:
../arch/x86/include/asm/geode.h:23:24: error: ‘struct cpuinfo_um’ has no member named ‘x86_vendor’
  return ((boot_cpu_data.x86_vendor == X86_VENDOR_AMD) &&
../arch/x86/include/asm/geode.h:23:39: error: ‘X86_VENDOR_AMD’ undeclared (first use in this function); did you mean ‘X86_VENDOR_ANY’?
  return ((boot_cpu_data.x86_vendor == X86_VENDOR_AMD) &&
../arch/x86/include/asm/geode.h:24:17: error: ‘struct cpuinfo_um’ has no member named ‘x86’
   (boot_cpu_data.x86 == 5) &&
../arch/x86/include/asm/geode.h:25:17: error: ‘struct cpuinfo_um’ has no member named ‘x86_model’
   (boot_cpu_data.x86_model == 10));

Fixes: 68f5d3f3b654 ("um: add PCI over virtio emulation driver")
Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
Cc: Johannes Berg <johannes@sipsolutions.net>
Cc: Richard Weinberger <richard@nod.at>
Cc: linux-um@lists.infradead.org
Cc: Daniel Vetter <daniel@ffwll.ch>
Cc: Helge Deller <deller@gmx.de>
Cc: linux-fbdev@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org
Cc: Andres Salomon <dilinger@queued.net>
Cc: linux-geode@lists.infradead.org
---
 drivers/video/fbdev/geode/Kconfig |    1 +
 1 file changed, 1 insertion(+)
  

Comments

Helge Deller Dec. 1, 2022, 7:57 a.m. UTC | #1
On 11/30/22 22:55, Randy Dunlap wrote:
> The geode fbdev driver uses struct cpuinfo fields that are not present
> on ARCH=um, so don't allow this driver to be built on UML.
>
> Prevents these build errors:
>
> In file included from ../arch/x86/include/asm/olpc.h:7:0,
>                   from ../drivers/mfd/cs5535-mfd.c:17:
> ../arch/x86/include/asm/geode.h: In function ‘is_geode_gx’:
> ../arch/x86/include/asm/geode.h:16:24: error: ‘struct cpuinfo_um’ has no member named ‘x86_vendor’
>    return ((boot_cpu_data.x86_vendor == X86_VENDOR_NSC) &&
> ../arch/x86/include/asm/geode.h:16:39: error: ‘X86_VENDOR_NSC’ undeclared (first use in this function); did you mean ‘X86_VENDOR_ANY’?
>    return ((boot_cpu_data.x86_vendor == X86_VENDOR_NSC) &&
> ../arch/x86/include/asm/geode.h:17:17: error: ‘struct cpuinfo_um’ has no member named ‘x86’
>     (boot_cpu_data.x86 == 5) &&
> ../arch/x86/include/asm/geode.h:18:17: error: ‘struct cpuinfo_um’ has no member named ‘x86_model’
>     (boot_cpu_data.x86_model == 5));
> ../arch/x86/include/asm/geode.h: In function ‘is_geode_lx’:
> ../arch/x86/include/asm/geode.h:23:24: error: ‘struct cpuinfo_um’ has no member named ‘x86_vendor’
>    return ((boot_cpu_data.x86_vendor == X86_VENDOR_AMD) &&
> ../arch/x86/include/asm/geode.h:23:39: error: ‘X86_VENDOR_AMD’ undeclared (first use in this function); did you mean ‘X86_VENDOR_ANY’?
>    return ((boot_cpu_data.x86_vendor == X86_VENDOR_AMD) &&
> ../arch/x86/include/asm/geode.h:24:17: error: ‘struct cpuinfo_um’ has no member named ‘x86’
>     (boot_cpu_data.x86 == 5) &&
> ../arch/x86/include/asm/geode.h:25:17: error: ‘struct cpuinfo_um’ has no member named ‘x86_model’
>     (boot_cpu_data.x86_model == 10));
>
> Fixes: 68f5d3f3b654 ("um: add PCI over virtio emulation driver")
> Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
> Cc: Johannes Berg <johannes@sipsolutions.net>
> Cc: Richard Weinberger <richard@nod.at>
> Cc: linux-um@lists.infradead.org
> Cc: Daniel Vetter <daniel@ffwll.ch>
> Cc: Helge Deller <deller@gmx.de>
> Cc: linux-fbdev@vger.kernel.org
> Cc: dri-devel@lists.freedesktop.org
> Cc: Andres Salomon <dilinger@queued.net>
> Cc: linux-geode@lists.infradead.org

applied.
Thanks!

Helge


> ---
>   drivers/video/fbdev/geode/Kconfig |    1 +
>   1 file changed, 1 insertion(+)
>
> diff -- a/drivers/video/fbdev/geode/Kconfig b/drivers/video/fbdev/geode/Kconfig
> --- a/drivers/video/fbdev/geode/Kconfig
> +++ b/drivers/video/fbdev/geode/Kconfig
> @@ -5,6 +5,7 @@
>   config FB_GEODE
>   	bool "AMD Geode family framebuffer support"
>   	depends on FB && PCI && (X86_32 || (X86 && COMPILE_TEST))
> +	depends on !UML
>   	help
>   	  Say 'Y' here to allow you to select framebuffer drivers for
>   	  the AMD Geode family of processors.
  

Patch

diff -- a/drivers/video/fbdev/geode/Kconfig b/drivers/video/fbdev/geode/Kconfig
--- a/drivers/video/fbdev/geode/Kconfig
+++ b/drivers/video/fbdev/geode/Kconfig
@@ -5,6 +5,7 @@ 
 config FB_GEODE
 	bool "AMD Geode family framebuffer support"
 	depends on FB && PCI && (X86_32 || (X86 && COMPILE_TEST))
+	depends on !UML
 	help
 	  Say 'Y' here to allow you to select framebuffer drivers for
 	  the AMD Geode family of processors.