diff options
author | Michael Sevakis <jethead71@rockbox.org> | 2011-03-02 08:49:38 +0000 |
---|---|---|
committer | Michael Sevakis <jethead71@rockbox.org> | 2011-03-02 08:49:38 +0000 |
commit | 12375d1d3aa41f7d277a9af584c7b810b636ec95 (patch) | |
tree | fc9ce8029a6910a8dac71b3bf60c71155a01eea4 /firmware/target/arm/imx31/gigabeat-s/adc-gigabeat-s.c | |
parent | 05e180a1308a095d51d51d0e047fcd44425ea88f (diff) | |
download | rockbox-12375d1d3aa41f7d277a9af584c7b810b636ec95.tar.gz rockbox-12375d1d3aa41f7d277a9af584c7b810b636ec95.zip |
Merge functionality of wakeups and semaphores-- fewer APIs and object types. semaphore_wait takes a timeout now so codecs and plugins have to be made incompatible. Don't make semaphores for targets not using them.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29492 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/target/arm/imx31/gigabeat-s/adc-gigabeat-s.c')
-rw-r--r-- | firmware/target/arm/imx31/gigabeat-s/adc-gigabeat-s.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/firmware/target/arm/imx31/gigabeat-s/adc-gigabeat-s.c b/firmware/target/arm/imx31/gigabeat-s/adc-gigabeat-s.c index f7bc0ed37c..eb30919077 100644 --- a/firmware/target/arm/imx31/gigabeat-s/adc-gigabeat-s.c +++ b/firmware/target/arm/imx31/gigabeat-s/adc-gigabeat-s.c | |||
@@ -35,7 +35,7 @@ static const unsigned char reg_array[4] = | |||
35 | }; | 35 | }; |
36 | 36 | ||
37 | static uint32_t channels[2][4]; | 37 | static uint32_t channels[2][4]; |
38 | static struct wakeup adc_wake; | 38 | static struct semaphore adc_done_signal; |
39 | static struct mutex adc_mtx; | 39 | static struct mutex adc_mtx; |
40 | static long last_adc_read[2]; /* One for each input group */ | 40 | static long last_adc_read[2]; /* One for each input group */ |
41 | 41 | ||
@@ -67,7 +67,7 @@ unsigned short adc_read(int channel) | |||
67 | mc13783_write(MC13783_ADC1, adc1); | 67 | mc13783_write(MC13783_ADC1, adc1); |
68 | 68 | ||
69 | /* Wait for done signal */ | 69 | /* Wait for done signal */ |
70 | wakeup_wait(&adc_wake, TIMEOUT_BLOCK); | 70 | semaphore_wait(&adc_done_signal, TIMEOUT_BLOCK); |
71 | 71 | ||
72 | /* Read all 8 channels that are converted - two channels in each | 72 | /* Read all 8 channels that are converted - two channels in each |
73 | * word. */ | 73 | * word. */ |
@@ -113,12 +113,12 @@ bool adc_enable_channel(int channel, bool enable) | |||
113 | /* Called by mc13783 interrupt thread when conversion is complete */ | 113 | /* Called by mc13783 interrupt thread when conversion is complete */ |
114 | void adc_done(void) | 114 | void adc_done(void) |
115 | { | 115 | { |
116 | wakeup_signal(&adc_wake); | 116 | semaphore_release(&adc_done_signal); |
117 | } | 117 | } |
118 | 118 | ||
119 | void adc_init(void) | 119 | void adc_init(void) |
120 | { | 120 | { |
121 | wakeup_init(&adc_wake); | 121 | semaphore_init(&adc_done_signal, 1, 0); |
122 | mutex_init(&adc_mtx); | 122 | mutex_init(&adc_mtx); |
123 | 123 | ||
124 | /* Init so first reads get data */ | 124 | /* Init so first reads get data */ |