All pastes #353594 Raw Edit

Diff

public text v1 · immutable
·published 2007-02-13 13:30 UTC
rendered paste body
Index: 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; }