瀏覽代碼

[ARM] pxa: fix the corgi_ssp.c dependency issue in {corgi,spitz}_defconfig

Separate building of corgi_ssp.c, and introduce a new hidden config option
CONFIG_CORGI_SSP_DEPRECATED for this. Aslo mark corgi_ts.c and corgi_bl.c
as deprecated.

This unbreaks the legacy configs in {corgi,spitz}_defconfig, however, SPI
based ADS7846 touchscreen driver and a new SPI-based corgi_lcd.c driver
with integrated backlight support are recommended.

Signed-off-by: Eric Miao <eric.miao@marvell.com>
Eric Miao 16 年之前
父節點
當前提交
45e2a9b485

+ 8 - 0
arch/arm/mach-pxa/Kconfig

@@ -71,6 +71,14 @@ config PXA_SHARPSL
 	  SL-C3000 (Spitz), SL-C3100 (Borzoi) or SL-C6000x (Tosa)
 	  handheld computer.
 
+config CORGI_SSP_DEPRECATED
+	bool
+	select PXA_SSP
+	help
+	  This option will include corgi_ssp.c and corgi_lcd.c
+	  that corgi_ts.c and other legacy drivers (corgi_bl.c
+	  and sharpsl_pm.c) may depend on.
+
 config MACH_POODLE
 	bool "Enable Sharp SL-5600 (Poodle) Support"
 	depends on PXA_SHARPSL

+ 1 - 0
arch/arm/mach-pxa/Makefile

@@ -37,6 +37,7 @@ obj-$(CONFIG_MACH_TRIZEPS4)	+= trizeps4.o
 obj-$(CONFIG_MACH_COLIBRI)	+= colibri.o
 obj-$(CONFIG_PXA_SHARP_C7xx)	+= corgi.o sharpsl_pm.o corgi_pm.o
 obj-$(CONFIG_PXA_SHARP_Cxx00)	+= spitz.o sharpsl_pm.o spitz_pm.o
+obj-$(CONFIG_CORGI_SSP_DEPRECATED)	+= corgi_ssp.o corgi_lcd.o
 obj-$(CONFIG_MACH_POODLE)	+= poodle.o
 obj-$(CONFIG_MACH_PCM027)	+= pcm027.o
 obj-$(CONFIG_MACH_PCM990_BASEBOARD)	+= pcm990-baseboard.o

+ 0 - 1
arch/arm/mach-pxa/corgi_lcd.c

@@ -20,7 +20,6 @@
 #include <linux/platform_device.h>
 #include <linux/module.h>
 #include <linux/string.h>
-#include <mach/akita.h>
 #include <mach/corgi.h>
 #include <mach/hardware.h>
 #include <mach/pxa-regs.h>

+ 4 - 4
arch/arm/mach-pxa/sharpsl_pm.c

@@ -132,16 +132,16 @@ int sharpsl_pm_pxa_read_max1111(int channel)
 	if (machine_is_tosa()) // Ugly, better move this function into another module
 	    return 0;
 
-#ifdef CONFIG_SENSORS_MAX1111
+#ifdef CONFIG_CORGI_SSP_DEPRECATED
+	return corgi_ssp_max1111_get((channel << MAXCTRL_SEL_SH) | MAXCTRL_PD0 | MAXCTRL_PD1
+			| MAXCTRL_SGL | MAXCTRL_UNI | MAXCTRL_STR);
+#else
 	extern int max1111_read_channel(int);
 
 	/* max1111 accepts channels from 0-3, however,
 	 * it is encoded from 0-7 here in the code.
 	 */
 	return max1111_read_channel(channel >> 1);
-#else
-	return corgi_ssp_max1111_get((channel << MAXCTRL_SEL_SH) | MAXCTRL_PD0 | MAXCTRL_PD1
-			| MAXCTRL_SGL | MAXCTRL_UNI | MAXCTRL_STR);
 #endif
 }
 

+ 5 - 1
drivers/input/touchscreen/Kconfig

@@ -42,8 +42,9 @@ config TOUCHSCREEN_BITSY
 	  module will be called h3600_ts_input.
 
 config TOUCHSCREEN_CORGI
-	tristate "SharpSL (Corgi and Spitz series) touchscreen driver"
+	tristate "SharpSL (Corgi and Spitz series) touchscreen driver (DEPRECATED)"
 	depends on PXA_SHARPSL
+	select CORGI_SSP_DEPRECATED
 	default y
 	help
 	  Say Y here to enable the driver for the touchscreen on the
@@ -54,6 +55,9 @@ config TOUCHSCREEN_CORGI
 	  To compile this driver as a module, choose M here: the
 	  module will be called corgi_ts.
 
+	  NOTE: this driver is deprecated, try enable SPI and generic
+	  ADS7846-based touchscreen driver.
+
 config TOUCHSCREEN_FUJITSU
 	tristate "Fujitsu serial touchscreen"
 	select SERIO

+ 5 - 1
drivers/video/backlight/Kconfig

@@ -115,14 +115,18 @@ config BACKLIGHT_ATMEL_PWM
 	  called atmel-pwm-bl.
 
 config BACKLIGHT_CORGI
-	tristate "Generic (aka Sharp Corgi) Backlight Driver"
+	tristate "Generic (aka Sharp Corgi) Backlight Driver (DEPRECATED)"
 	depends on BACKLIGHT_CLASS_DEVICE
+	select CORGI_SSP_DEPRECATED
 	default n
 	help
 	  Say y to enable the generic platform backlight driver previously
 	  known as the Corgi backlight driver. If you have a Sharp Zaurus
 	  SL-C7xx, SL-Cxx00 or SL-6000x say y. Most users can say n.
 
+	  Note: this driver is marked as deprecated, try enable SPI and
+	  use the new corgi_lcd driver with integrated backlight control
+
 config BACKLIGHT_LOCOMO
 	tristate "Sharp LOCOMO LCD/Backlight Driver"
 	depends on BACKLIGHT_CLASS_DEVICE && SHARP_LOCOMO