rendered paste bodyIndex: drivers/misc/adc/ads7846_adc_ssp.c===================================================================RCS file: /cvs/linux/kernel26/drivers/misc/adc/ads7846_adc_ssp.c,vretrieving revision 1.11diff -u -r1.11 ads7846_adc_ssp.c--- drivers/misc/adc/ads7846_adc_ssp.c 13 Feb 2007 12:01:10 -0000 1.11+++ drivers/misc/adc/ads7846_adc_ssp.c 13 Feb 2007 13:29:39 -0000@@ -22,6 +22,12 @@ #include <asm/arch/pxa-regs.h> #include <asm/arch/ssp.h> +#if defined (CONFIG_PXA27x) || defined (CONFIG_PXA26x)+#define CKEN_SSP(x) (((x) == 1) ? CKEN23_SSP1 : ((x) == 2) ? CKEN3_SSP2 : ((x) == 3) ? CKEN4_SSP3 : 0)+#else+#define CKEN_SSP(x) (((x) == 1) ? CKEN3_SSP : ((x) == 2) ? CKEN9_NSSP : 0)+#endif+ static int initialized = 0; static int port; static spinlock_t ads7846_ssp_lock = SPIN_LOCK_UNLOCKED;@@ -80,6 +86,7 @@ SSCR0_P(port) |= 0x11 << 8; /* ~100 KHz */ SSCR1_P(port) = 0;+ SSPSP_P(port) = 0; SSCR0_P(port) |= SSCR0_SSE; }@@ -94,6 +101,7 @@ return -EINVAL; } + pxa_set_cken(CKEN_SSP(port), 1); ads7846_init_chip(); initialized = 1; return 0;@@ -102,6 +110,7 @@ static int __devexit ads7846_ssp_remove(struct platform_device *dev) { SSCR0_P(port) &= ~SSCR0_SSE;+ pxa_set_cken(CKEN_SSP(port), 0); return 0; }