summaryrefslogtreecommitdiff
path: root/firmware/drivers/tuner/si4700.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/drivers/tuner/si4700.c')
-rw-r--r--firmware/drivers/tuner/si4700.c27
1 files changed, 0 insertions, 27 deletions
diff --git a/firmware/drivers/tuner/si4700.c b/firmware/drivers/tuner/si4700.c
index cce203fde9..7b54526f61 100644
--- a/firmware/drivers/tuner/si4700.c
+++ b/firmware/drivers/tuner/si4700.c
@@ -553,32 +553,6 @@ void si4700_dbg_info(struct si4700_dbg_info *nfo)
553} 553}
554 554
555#ifdef HAVE_RDS_CAP 555#ifdef HAVE_RDS_CAP
556
557#if (CONFIG_RDS & RDS_CFG_ISR)
558static unsigned char isr_regbuf[(RDSD - STATUSRSSI + 1) * 2];
559
560/* Called by RDS interrupt on target */
561void si4700_rds_interrupt(void)
562{
563 si4700_rds_read_raw_async(isr_regbuf, sizeof (isr_regbuf));
564}
565
566/* Handle RDS event from ISR */
567void si4700_rds_process(void)
568{
569 uint16_t rds_data[4];
570 int index = (RDSA - STATUSRSSI) * 2;
571
572 for (int i = 0; i < 4; i++) {
573 rds_data[i] = isr_regbuf[index] << 8 | isr_regbuf[index + 1];
574 index += 2;
575 }
576
577 rds_process(rds_data);
578}
579
580#else /* !(CONFIG_RDS & RDS_CFG_ISR) */
581
582/* Handle RDS event from thread */ 556/* Handle RDS event from thread */
583void si4700_rds_process(void) 557void si4700_rds_process(void)
584{ 558{
@@ -603,7 +577,6 @@ void si4700_rds_process(void)
603 577
604 mutex_unlock(&fmr_mutex); 578 mutex_unlock(&fmr_mutex);
605} 579}
606#endif /* (CONFIG_RDS & RDS_CFG_ISR) */
607 580
608#if (CONFIG_RDS & RDS_CFG_POLL) 581#if (CONFIG_RDS & RDS_CFG_POLL)
609static struct event_queue rds_queue; 582static struct event_queue rds_queue;