diff options
| author | Arnd Bergmann <arnd@arndb.de> | 2012-11-15 17:33:08 +0100 | 
|---|---|---|
| committer | Arnd Bergmann <arnd@arndb.de> | 2012-11-15 17:33:08 +0100 | 
| commit | 5fd4d427eda327b783bf84c885fdde38ac726183 (patch) | |
| tree | 8672d146865f541f0405121b01df0fdfb8457f4f | |
| parent | cb64babf9ebe06984d87c08d241d05e2f6a7eb5b (diff) | |
| parent | 42a1cc9c0ec2a00b53b4f02849dc4377b09b3b05 (diff) | |
| download | olio-linux-3.10-5fd4d427eda327b783bf84c885fdde38ac726183.tar.xz olio-linux-3.10-5fd4d427eda327b783bf84c885fdde38ac726183.zip  | |
Merge tag 'omap-for-v3.8/cleanup-fixes-part2-v2-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/cleanup
From Tony Lindgren <tony@atomide.com>:
One build fix for recent clean up when CONFIG_PM is not set
and clean up related improvment to the SoC detection.
* tag 'omap-for-v3.8/cleanup-fixes-part2-v2-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  ARM: OMAP4: ID: Improve features detection and check
  ARM: OMAP: Fix compile for OMAP_PM_NOOP if PM is not selected
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
| -rw-r--r-- | arch/arm/mach-omap2/Makefile | 3 | ||||
| -rw-r--r-- | arch/arm/mach-omap2/id.c | 25 | ||||
| -rw-r--r-- | arch/arm/mach-omap2/soc.h | 8 | 
3 files changed, 11 insertions, 25 deletions
diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile index 78cbb8c5992..dd76ff77760 100644 --- a/arch/arm/mach-omap2/Makefile +++ b/arch/arm/mach-omap2/Makefile @@ -73,6 +73,8 @@ obj-$(CONFIG_ARCH_OMAP4)		+= opp4xxx_data.o  endif  # Power Management +obj-$(CONFIG_OMAP_PM_NOOP)		+= omap-pm-noop.o +  ifeq ($(CONFIG_PM),y)  obj-$(CONFIG_ARCH_OMAP2)		+= pm24xx.o  obj-$(CONFIG_ARCH_OMAP2)		+= sleep24xx.o @@ -80,7 +82,6 @@ obj-$(CONFIG_ARCH_OMAP3)		+= pm34xx.o sleep34xx.o  obj-$(CONFIG_ARCH_OMAP4)		+= pm44xx.o omap-mpuss-lowpower.o  obj-$(CONFIG_SOC_OMAP5)			+= omap-mpuss-lowpower.o  obj-$(CONFIG_PM_DEBUG)			+= pm-debug.o -obj-$(CONFIG_OMAP_PM_NOOP)		+= omap-pm-noop.o  obj-$(CONFIG_POWER_AVS_OMAP)		+= sr_device.o  obj-$(CONFIG_POWER_AVS_OMAP_CLASS3)    += smartreflex-class3.o diff --git a/arch/arm/mach-omap2/id.c b/arch/arm/mach-omap2/id.c index f1e12150278..45cc7ed4dd5 100644 --- a/arch/arm/mach-omap2/id.c +++ b/arch/arm/mach-omap2/id.c @@ -28,6 +28,9 @@  #include "soc.h"  #include "control.h" +#define OMAP4_SILICON_TYPE_STANDARD		0x01 +#define OMAP4_SILICON_TYPE_PERFORMANCE		0x02 +  static unsigned int omap_revision;  static const char *cpu_rev;  u32 omap_features; @@ -273,25 +276,11 @@ void __init omap4xxx_check_features(void)  {  	u32 si_type; -	if (cpu_is_omap443x()) -		omap_features |= OMAP4_HAS_MPU_1GHZ; - +	si_type = +	(read_tap_reg(OMAP4_CTRL_MODULE_CORE_STD_FUSE_PROD_ID_1) >> 16) & 0x03; -	if (cpu_is_omap446x()) { -		si_type = -			read_tap_reg(OMAP4_CTRL_MODULE_CORE_STD_FUSE_PROD_ID_1); -		switch ((si_type & (3 << 16)) >> 16) { -		case 2: -			/* High performance device */ -			omap_features |= OMAP4_HAS_MPU_1_5GHZ; -			break; -		case 1: -		default: -			/* Standard device */ -			omap_features |= OMAP4_HAS_MPU_1_2GHZ; -			break; -		} -	} +	if (si_type == OMAP4_SILICON_TYPE_PERFORMANCE) +		omap_features = OMAP4_HAS_PERF_SILICON;  }  void __init ti81xx_check_features(void) diff --git a/arch/arm/mach-omap2/soc.h b/arch/arm/mach-omap2/soc.h index 070096496e2..f31d90774de 100644 --- a/arch/arm/mach-omap2/soc.h +++ b/arch/arm/mach-omap2/soc.h @@ -435,9 +435,7 @@ extern u32 omap_features;  #define OMAP3_HAS_IO_WAKEUP		BIT(6)  #define OMAP3_HAS_SDRC			BIT(7)  #define OMAP3_HAS_IO_CHAIN_CTRL		BIT(8) -#define OMAP4_HAS_MPU_1GHZ		BIT(9) -#define OMAP4_HAS_MPU_1_2GHZ		BIT(10) -#define OMAP4_HAS_MPU_1_5GHZ		BIT(11) +#define OMAP4_HAS_PERF_SILICON		BIT(9)  #define OMAP3_HAS_FEATURE(feat,flag)			\ @@ -465,9 +463,7 @@ static inline unsigned int omap4_has_ ##feat(void)	\  	return omap_features & OMAP4_HAS_ ##flag;	\  }							\ -OMAP4_HAS_FEATURE(mpu_1ghz, MPU_1GHZ) -OMAP4_HAS_FEATURE(mpu_1_2ghz, MPU_1_2GHZ) -OMAP4_HAS_FEATURE(mpu_1_5ghz, MPU_1_5GHZ) +OMAP4_HAS_FEATURE(perf_silicon, PERF_SILICON)  #endif	/* __ASSEMBLY__ */  |