summaryrefslogtreecommitdiff
path: root/firmware/target/arm
diff options
context:
space:
mode:
authorSolomon Peachy <pizza@shaftnet.org>2020-10-13 15:47:26 -0400
committerSolomon Peachy <pizza@shaftnet.org>2020-10-13 15:48:31 -0400
commit431caa4311c13a0937ae60ac225e780c0a0670b9 (patch)
tree319db80e0ce77663b70d04391ee81ccae2012c0b /firmware/target/arm
parentf8bd54d5759c78d0777f25cad287a6dbeb0b45ea (diff)
downloadrockbox-431caa4311c13a0937ae60ac225e780c0a0670b9.tar.gz
rockbox-431caa4311c13a0937ae60ac225e780c0a0670b9.zip
imx31: Work around an apparently not-quite-kosher abuse of CPP
(we were trying to foward-declare functions from within static initializer context. GCC no longer accepts this) Change-Id: I58f316ecc84c8ab45fffc054955727a55714b0a3
Diffstat (limited to 'firmware/target/arm')
-rw-r--r--firmware/target/arm/imx31/gigabeat-s/gpio-target.h5
-rw-r--r--firmware/target/arm/imx31/gigabeat-s/mc13783-target.h9
-rw-r--r--firmware/target/arm/imx31/gpio-imx31.h9
3 files changed, 19 insertions, 4 deletions
diff --git a/firmware/target/arm/imx31/gigabeat-s/gpio-target.h b/firmware/target/arm/imx31/gigabeat-s/gpio-target.h
index 543b25f244..9204e6cd9d 100644
--- a/firmware/target/arm/imx31/gigabeat-s/gpio-target.h
+++ b/firmware/target/arm/imx31/gigabeat-s/gpio-target.h
@@ -28,6 +28,11 @@
28 28
29#ifdef DEFINE_GPIO_VECTOR_TABLE 29#ifdef DEFINE_GPIO_VECTOR_TABLE
30 30
31GPIO_EVENT_VECTOR_CB(GPIO1_31);
32#if CONFIG_TUNER
33GPIO_EVENT_VECTOR_CB(GPIO1_27);
34#endif
35
31GPIO_VECTOR_TBL_START() 36GPIO_VECTOR_TBL_START()
32 /* mc13783 keeps the PRIINT high (no low pulse) if other unmasked 37 /* mc13783 keeps the PRIINT high (no low pulse) if other unmasked
33 * interrupts become active when clearing them or if a source being 38 * interrupts become active when clearing them or if a source being
diff --git a/firmware/target/arm/imx31/gigabeat-s/mc13783-target.h b/firmware/target/arm/imx31/gigabeat-s/mc13783-target.h
index 4bb148e36c..e656e4e08f 100644
--- a/firmware/target/arm/imx31/gigabeat-s/mc13783-target.h
+++ b/firmware/target/arm/imx31/gigabeat-s/mc13783-target.h
@@ -42,6 +42,15 @@ static struct spi_node mc13783_spi =
42 0, /* SPI clock - no wait states */ 42 0, /* SPI clock - no wait states */
43}; 43};
44 44
45MC13783_EVENT_VECTOR_CB(ADCDONE);
46#if CONFIG_RTC
47MC13783_EVENT_VECTOR_CB(1HZ);
48#endif
49MC13783_EVENT_VECTOR_CB(ONOFD1);
50MC13783_EVENT_VECTOR_CB(SE1);
51MC13783_EVENT_VECTOR_CB(USB);
52MC13783_EVENT_VECTOR_CB(ONOFD2);
53
45/* Gigabeat S definitions for static MC13783 event registration */ 54/* Gigabeat S definitions for static MC13783 event registration */
46MC13783_EVENT_VECTOR_TBL_START() 55MC13783_EVENT_VECTOR_TBL_START()
47 /* ADC conversion complete */ 56 /* ADC conversion complete */
diff --git a/firmware/target/arm/imx31/gpio-imx31.h b/firmware/target/arm/imx31/gpio-imx31.h
index 86ca964f94..e02896f4c3 100644
--- a/firmware/target/arm/imx31/gpio-imx31.h
+++ b/firmware/target/arm/imx31/gpio-imx31.h
@@ -166,11 +166,12 @@ struct gpio_event
166 { \ 166 { \
167 static const struct gpio_event __tbl[] = { 167 static const struct gpio_event __tbl[] = {
168 168
169#define GPIO_EVENT_VECTOR_CB(__name) void __name##_EVENT_CB(void)
170
169#define GPIO_EVENT_VECTOR(__name, __sense) \ 171#define GPIO_EVENT_VECTOR(__name, __sense) \
170 { .id = (__name##_ID), \ 172 { .id = (__name##_ID), \
171 .sense = (__sense), \ 173 .sense = (__sense), \
172 .callback = ({ void __name##_EVENT_CB(void); \ 174 .callback = (__name##_EVENT_CB) },
173 __name##_EVENT_CB; }) },
174 175
175#define GPIO_VECTOR_TBL_END() \ 176#define GPIO_VECTOR_TBL_END() \
176 }; \ 177 }; \