diff options
Diffstat (limited to 'firmware/target/coldfire/iriver/h100/adc-h100.c')
-rw-r--r-- | firmware/target/coldfire/iriver/h100/adc-h100.c | 12 |
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 | ||
39 | unsigned short adc_scan(int channel) | 49 | unsigned short adc_scan(int channel) |
40 | { | 50 | { |