diff options
author | Michael Sevakis <jethead71@rockbox.org> | 2007-11-05 07:01:32 +0000 |
---|---|---|
committer | Michael Sevakis <jethead71@rockbox.org> | 2007-11-05 07:01:32 +0000 |
commit | f29c4ccc6a05cd21ba49afca676a3060cd60f913 (patch) | |
tree | 4959579c6a04e2a3c6f45f0d6a4ae382a0991e67 | |
parent | bdfe87c0f11c152e95cb9034d50cd97e94e7be72 (diff) | |
download | rockbox-f29c4ccc6a05cd21ba49afca676a3060cd60f913.tar.gz rockbox-f29c4ccc6a05cd21ba49afca676a3060cd60f913.zip |
e200/c200: Take advantage of mutex recursion for the tuner driver and dump the awkward *_nolock stuff.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15468 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r-- | firmware/drivers/tuner/lv24020lp.c | 4 | ||||
-rw-r--r-- | firmware/export/power.h | 1 | ||||
-rw-r--r-- | firmware/target/arm/sandisk/power-c200_e200.c | 14 |
3 files changed, 6 insertions, 13 deletions
diff --git a/firmware/drivers/tuner/lv24020lp.c b/firmware/drivers/tuner/lv24020lp.c index b28b0ede3f..92ea7ade39 100644 --- a/firmware/drivers/tuner/lv24020lp.c +++ b/firmware/drivers/tuner/lv24020lp.c | |||
@@ -914,12 +914,12 @@ int lv24020lp_get(int setting) | |||
914 | bool fmstatus = true; | 914 | bool fmstatus = true; |
915 | 915 | ||
916 | if (!(tuner_status & TUNER_PRESENCE_CHECKED)) | 916 | if (!(tuner_status & TUNER_PRESENCE_CHECKED)) |
917 | fmstatus = tuner_power_nolock(true); | 917 | fmstatus = tuner_power(true); |
918 | 918 | ||
919 | val = (tuner_status & TUNER_PRESENT) != 0; | 919 | val = (tuner_status & TUNER_PRESENT) != 0; |
920 | 920 | ||
921 | if (!fmstatus) | 921 | if (!fmstatus) |
922 | tuner_power_nolock(false); | 922 | tuner_power(false); |
923 | break; | 923 | break; |
924 | } | 924 | } |
925 | 925 | ||
diff --git a/firmware/export/power.h b/firmware/export/power.h index 7c0ed3df89..a78a1eec78 100644 --- a/firmware/export/power.h +++ b/firmware/export/power.h | |||
@@ -49,7 +49,6 @@ bool spdif_powered(void); | |||
49 | 49 | ||
50 | #if CONFIG_TUNER | 50 | #if CONFIG_TUNER |
51 | bool tuner_power(bool status); | 51 | bool tuner_power(bool status); |
52 | bool tuner_power_nolock(bool status); | ||
53 | #endif | 52 | #endif |
54 | 53 | ||
55 | #endif | 54 | #endif |
diff --git a/firmware/target/arm/sandisk/power-c200_e200.c b/firmware/target/arm/sandisk/power-c200_e200.c index da86d97d26..40aa792dce 100644 --- a/firmware/target/arm/sandisk/power-c200_e200.c +++ b/firmware/target/arm/sandisk/power-c200_e200.c | |||
@@ -69,12 +69,14 @@ void ide_power_enable(bool on) | |||
69 | } | 69 | } |
70 | 70 | ||
71 | #if CONFIG_TUNER | 71 | #if CONFIG_TUNER |
72 | |||
72 | /** Tuner **/ | 73 | /** Tuner **/ |
73 | static bool powered = false; | 74 | static bool powered = false; |
74 | 75 | ||
75 | bool tuner_power_nolock(bool status) | 76 | bool tuner_power(bool status) |
76 | { | 77 | { |
77 | bool old_status; | 78 | bool old_status; |
79 | lv24020lp_lock(); | ||
78 | 80 | ||
79 | old_status = powered; | 81 | old_status = powered; |
80 | 82 | ||
@@ -128,16 +130,8 @@ bool tuner_power_nolock(bool status) | |||
128 | powered = status; | 130 | powered = status; |
129 | } | 131 | } |
130 | 132 | ||
131 | return old_status; | ||
132 | } | ||
133 | |||
134 | bool tuner_power(bool status) | ||
135 | { | ||
136 | bool old_status; | ||
137 | lv24020lp_lock(); | ||
138 | old_status = tuner_power_nolock(status); | ||
139 | lv24020lp_unlock(); | 133 | lv24020lp_unlock(); |
140 | return old_status; | 134 | return old_status; |
141 | } | 135 | } |
142 | 136 | ||
143 | #endif | 137 | #endif /* CONFIG_TUNER */ |