summaryrefslogtreecommitdiff
path: root/firmware/target/coldfire/iriver/h100/adc-h100.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/target/coldfire/iriver/h100/adc-h100.c')
-rw-r--r--firmware/target/coldfire/iriver/h100/adc-h100.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/firmware/target/coldfire/iriver/h100/adc-h100.c b/firmware/target/coldfire/iriver/h100/adc-h100.c
index a20b1e8d30..fb5afce9f5 100644
--- a/firmware/target/coldfire/iriver/h100/adc-h100.c
+++ b/firmware/target/coldfire/iriver/h100/adc-h100.c
@@ -34,7 +34,17 @@ static unsigned char adcdata[NUM_ADC_CHANNELS];
34#define DI_HI or_l(0x00200000, &GPIO_OUT) 34#define DI_HI or_l(0x00200000, &GPIO_OUT)
35 35
36/* delay loop */ 36/* delay loop */
37#define DELAY do { int _x; for(_x=0;_x<10;_x++) asm volatile ("");} while (0) 37#define DELAY \
38 ({ \
39 int _x_; \
40 asm volatile ( \
41 "move.l #9, %[_x_] \r\n" \
42 "1: \r\n" \
43 "subq.l #1, %[_x_] \r\n" \
44 "bhi.b 1b \r\n" \
45 : [_x_]"=&d"(_x_) \
46 ); \
47 })
38 48
39unsigned short adc_scan(int channel) 49unsigned short adc_scan(int channel)
40{ 50{