ARM: omap1: fix build with no SoC selected

In a multiplatform randconfig kernel, one can have
CONFIG_ARCH_OMAP1 enabled, but none of the specific SoCs.
This leads to some build issues as the code is not
meant to deal with this configuration at the moment:

arch/arm/mach-omap1/io.c:86:20: error: unused function 'omap1_map_common_io' [-Werror,-Wunused-function]
arch/arm/mach-omap1/pm.h:113:2: error: "Power management for this processor not implemented yet" [-Werror,-W#warnings]

Use the same trick as on OMAP2 and guard the actual compilation
of platform code with another Makefile ifdef check based
on an option that depends on having at least one SoC enabled.

The io.c file still needs to get compiled to allow building
device drivers with a dependency on CONFIG_ARCH_OMAP1.

Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
Arnd Bergmann 2019-09-12 10:11:24 +02:00
parent 7e0a9e622d
commit 615dce5bf7
4 changed files with 10 additions and 3 deletions

View File

@ -485,7 +485,6 @@ config ARCH_S3C24XX
config ARCH_OMAP1 config ARCH_OMAP1
bool "TI OMAP1" bool "TI OMAP1"
select ARCH_OMAP
select CLKSRC_MMIO select CLKSRC_MMIO
select FORCE_PCI if PCCARD select FORCE_PCI if PCCARD
select GENERIC_IRQ_CHIP select GENERIC_IRQ_CHIP

View File

@ -28,6 +28,10 @@ config ARCH_OMAP16XX
select CPU_ARM926T select CPU_ARM926T
select OMAP_DM_TIMER select OMAP_DM_TIMER
config ARCH_OMAP1_ANY
select ARCH_OMAP
def_bool ARCH_OMAP730 || ARCH_OMAP850 || ARCH_OMAP15XX || ARCH_OMAP16XX
config ARCH_OMAP config ARCH_OMAP
bool bool

View File

@ -3,6 +3,8 @@
# Makefile for the linux kernel. # Makefile for the linux kernel.
# #
ifdef CONFIG_ARCH_OMAP1_ANY
# Common support # Common support
obj-y := io.o id.o sram-init.o sram.o time.o irq.o mux.o flash.o \ obj-y := io.o id.o sram-init.o sram.o time.o irq.o mux.o flash.o \
serial.o devices.o dma.o omap-dma.o fb.o serial.o devices.o dma.o omap-dma.o fb.o
@ -57,3 +59,5 @@ obj-$(CONFIG_ARCH_OMAP730) += gpio7xx.o
obj-$(CONFIG_ARCH_OMAP850) += gpio7xx.o obj-$(CONFIG_ARCH_OMAP850) += gpio7xx.o
obj-$(CONFIG_ARCH_OMAP15XX) += gpio15xx.o obj-$(CONFIG_ARCH_OMAP15XX) += gpio15xx.o
obj-$(CONFIG_ARCH_OMAP16XX) += gpio16xx.o obj-$(CONFIG_ARCH_OMAP16XX) += gpio16xx.o
endif

View File

@ -5,7 +5,7 @@
#ifndef __ASSEMBLER__ #ifndef __ASSEMBLER__
#include <linux/types.h> #include <linux/types.h>
#if defined(CONFIG_ARCH_OMAP) && defined(CONFIG_ARCH_OMAP1) #ifdef CONFIG_ARCH_OMAP1_ANY
/* /*
* NOTE: Please use ioremap + __raw_read/write where possible instead of these * NOTE: Please use ioremap + __raw_read/write where possible instead of these
*/ */
@ -15,7 +15,7 @@ extern u32 omap_readl(u32 pa);
extern void omap_writeb(u8 v, u32 pa); extern void omap_writeb(u8 v, u32 pa);
extern void omap_writew(u16 v, u32 pa); extern void omap_writew(u16 v, u32 pa);
extern void omap_writel(u32 v, u32 pa); extern void omap_writel(u32 v, u32 pa);
#elif defined(CONFIG_COMPILE_TEST) #else
static inline u8 omap_readb(u32 pa) { return 0; } static inline u8 omap_readb(u32 pa) { return 0; }
static inline u16 omap_readw(u32 pa) { return 0; } static inline u16 omap_readw(u32 pa) { return 0; }
static inline u32 omap_readl(u32 pa) { return 0; } static inline u32 omap_readl(u32 pa) { return 0; }