diff options
Diffstat (limited to 'firmware/drivers/rds.c')
-rw-r--r-- | firmware/drivers/rds.c | 21 |
1 files changed, 0 insertions, 21 deletions
diff --git a/firmware/drivers/rds.c b/firmware/drivers/rds.c index 0b9b227563..2d8466ae36 100644 --- a/firmware/drivers/rds.c +++ b/firmware/drivers/rds.c | |||
@@ -72,15 +72,6 @@ static int rt_data_idx; /* rt_data[0 or 1] */ | |||
72 | #define RT_DATA_INC(x) rt_data[rt_data_idx ^= (x)] | 72 | #define RT_DATA_INC(x) rt_data[rt_data_idx ^= (x)] |
73 | #endif /* (CONFIG_RDS & RDS_CFG_PROCESS) */ | 73 | #endif /* (CONFIG_RDS & RDS_CFG_PROCESS) */ |
74 | 74 | ||
75 | #if (CONFIG_RDS & RDS_CFG_ISR) | ||
76 | /* Functions are called in ISR context */ | ||
77 | #define rds_disable_irq_save() disable_irq_save() | ||
78 | #define rds_restore_irq(old) restore_irq(old) | ||
79 | #else /* !(CONFIG_RDS & RDS_CFG_ISR) */ | ||
80 | #define rds_disable_irq_save() 0 | ||
81 | #define rds_restore_irq(old) ((void)(old)) | ||
82 | #endif /* (CONFIG_RDS & RDS_CFG_ISR) */ | ||
83 | |||
84 | /* RDS code table G0 to UTF-8 translation */ | 75 | /* RDS code table G0 to UTF-8 translation */ |
85 | static const uint16_t rds_tbl_g0[0x100-0x20] = | 76 | static const uint16_t rds_tbl_g0[0x100-0x20] = |
86 | { | 77 | { |
@@ -195,8 +186,6 @@ static void register_activity(void) | |||
195 | /* resets the rds parser */ | 186 | /* resets the rds parser */ |
196 | void rds_reset(void) | 187 | void rds_reset(void) |
197 | { | 188 | { |
198 | int oldlevel = rds_disable_irq_save(); | ||
199 | |||
200 | /* reset general info */ | 189 | /* reset general info */ |
201 | pi_code = 0; | 190 | pi_code = 0; |
202 | ct_data = 0; | 191 | ct_data = 0; |
@@ -210,8 +199,6 @@ void rds_reset(void) | |||
210 | ps_segment = 0; | 199 | ps_segment = 0; |
211 | rt_segment = 0; | 200 | rt_segment = 0; |
212 | #endif /* (CONFIG_RDS & RDS_CFG_PROCESS) */ | 201 | #endif /* (CONFIG_RDS & RDS_CFG_PROCESS) */ |
213 | |||
214 | rds_restore_irq(oldlevel); | ||
215 | } | 202 | } |
216 | 203 | ||
217 | /* initialises the rds parser */ | 204 | /* initialises the rds parser */ |
@@ -223,8 +210,6 @@ void rds_init(void) | |||
223 | /* sync RDS state */ | 210 | /* sync RDS state */ |
224 | void rds_sync(void) | 211 | void rds_sync(void) |
225 | { | 212 | { |
226 | int oldlevel = rds_disable_irq_save(); | ||
227 | |||
228 | if (rds_active) { | 213 | if (rds_active) { |
229 | if (TIMED_OUT(rds_timeout)) { | 214 | if (TIMED_OUT(rds_timeout)) { |
230 | rds_reset(); | 215 | rds_reset(); |
@@ -238,8 +223,6 @@ void rds_sync(void) | |||
238 | } | 223 | } |
239 | } | 224 | } |
240 | } | 225 | } |
241 | |||
242 | rds_restore_irq(oldlevel); | ||
243 | } | 226 | } |
244 | 227 | ||
245 | #if (CONFIG_RDS & RDS_CFG_PROCESS) | 228 | #if (CONFIG_RDS & RDS_CFG_PROCESS) |
@@ -458,8 +441,6 @@ void rds_push_info(enum rds_info_id info_id, uintptr_t data, size_t size) | |||
458 | /* read fully-processed RDS data */ | 441 | /* read fully-processed RDS data */ |
459 | size_t rds_pull_info(enum rds_info_id info_id, uintptr_t data, size_t size) | 442 | size_t rds_pull_info(enum rds_info_id info_id, uintptr_t data, size_t size) |
460 | { | 443 | { |
461 | int oldlevel = rds_disable_irq_save(); | ||
462 | |||
463 | rds_sync(); | 444 | rds_sync(); |
464 | 445 | ||
465 | switch (info_id) { | 446 | switch (info_id) { |
@@ -490,7 +471,5 @@ size_t rds_pull_info(enum rds_info_id info_id, uintptr_t data, size_t size) | |||
490 | default: | 471 | default: |
491 | size = 0; | 472 | size = 0; |
492 | } | 473 | } |
493 | |||
494 | rds_restore_irq(oldlevel); | ||
495 | return size; | 474 | return size; |
496 | } | 475 | } |