summaryrefslogtreecommitdiff
path: root/firmware/target/arm/s5l8700/adc-s5l8700.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/target/arm/s5l8700/adc-s5l8700.c')
-rw-r--r--firmware/target/arm/s5l8700/adc-s5l8700.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/firmware/target/arm/s5l8700/adc-s5l8700.c b/firmware/target/arm/s5l8700/adc-s5l8700.c
index f979a9d54f..270c133e94 100644
--- a/firmware/target/arm/s5l8700/adc-s5l8700.c
+++ b/firmware/target/arm/s5l8700/adc-s5l8700.c
@@ -42,11 +42,11 @@
42 42
43 43
44static struct mutex adc_mtx; 44static struct mutex adc_mtx;
45static struct wakeup adc_wakeup; 45static struct semaphore adc_wakeup;
46 46
47void INT_ADC(void) 47void INT_ADC(void)
48{ 48{
49 wakeup_signal(&adc_wakeup); 49 semaphore_release(&adc_wakeup);
50} 50}
51 51
52unsigned short adc_read(int channel) 52unsigned short adc_read(int channel)
@@ -61,7 +61,7 @@ unsigned short adc_read(int channel)
61 (1 << 0); /* enable start */ 61 (1 << 0); /* enable start */
62 62
63 /* wait for conversion */ 63 /* wait for conversion */
64 wakeup_wait(&adc_wakeup, TIMEOUT_BLOCK); 64 semaphore_wait(&adc_wakeup, TIMEOUT_BLOCK);
65 65
66 /* get the converted data */ 66 /* get the converted data */
67 data = ADCDAT0 & 0x3FF; 67 data = ADCDAT0 & 0x3FF;
@@ -77,7 +77,7 @@ unsigned short adc_read(int channel)
77void adc_init(void) 77void adc_init(void)
78{ 78{
79 mutex_init(&adc_mtx); 79 mutex_init(&adc_mtx);
80 wakeup_init(&adc_wakeup); 80 semaphore_init(&adc_wakeup, 1, 0);
81 81
82 /* enable clock to ADC */ 82 /* enable clock to ADC */
83 PWRCON &= ~(1 << 10); 83 PWRCON &= ~(1 << 10);