diff options
Diffstat (limited to 'misc/sigrok-firmware-fx2lafw/patches/02-fx2lafw__Update___interrupt_syntax_for_sdcc_4.2.3.patch')
-rw-r--r-- | misc/sigrok-firmware-fx2lafw/patches/02-fx2lafw__Update___interrupt_syntax_for_sdcc_4.2.3.patch | 108 |
1 files changed, 108 insertions, 0 deletions
diff --git a/misc/sigrok-firmware-fx2lafw/patches/02-fx2lafw__Update___interrupt_syntax_for_sdcc_4.2.3.patch b/misc/sigrok-firmware-fx2lafw/patches/02-fx2lafw__Update___interrupt_syntax_for_sdcc_4.2.3.patch new file mode 100644 index 0000000000..402ec85b64 --- /dev/null +++ b/misc/sigrok-firmware-fx2lafw/patches/02-fx2lafw__Update___interrupt_syntax_for_sdcc_4.2.3.patch @@ -0,0 +1,108 @@ +From: Matthew Cengia <redacted> +Date: Tue, 15 Aug 2023 00:39:32 +0000 (+1000) +Subject: fx2lafw: Update __interrupt syntax for sdcc>=4.2.3 +X-Git-Url: http://sigrok.org/gitweb/?p=sigrok-firmware-fx2lafw.git;a=commitdiff_plain;h=3e08500d22f87f69941b65cf8b8c1b85f9b41173 + +fx2lafw: Update __interrupt syntax for sdcc>=4.2.3 + +The SDCC user manual https://sdcc.sourceforge.net/doc/sdccman.pdf +section 1.5 "Compatibility with previous versions" on page 11 states: + +> In 4.2.3, support for non-parenthesized arguments to __using and +> __interrupt was dropped. + +Adjust the sigrok fx2lafw application source to unbreak compilation with +more recent SDCC versions. +--- + +diff --git a/fx2lafw.c b/fx2lafw.c +index 1035713d..42129219 100644 +--- a/fx2lafw.c ++++ b/fx2lafw.c +@@ -191,14 +191,14 @@ BOOL handle_set_configuration(BYTE cfg) + return (cfg == 1) ? TRUE : FALSE; + } + +-void sudav_isr(void) __interrupt SUDAV_ISR ++void sudav_isr(void) __interrupt(SUDAV_ISR) + { + got_sud = TRUE; + CLEAR_SUDAV(); + } + + /* IN BULK NAK - the host started requesting data. */ +-void ibn_isr(void) __interrupt IBN_ISR ++void ibn_isr(void) __interrupt(IBN_ISR) + { + /* + * If the IBN interrupt is not disabled, clearing +@@ -229,19 +229,19 @@ void ibn_isr(void) __interrupt IBN_ISR + SYNCDELAY(); + } + +-void usbreset_isr(void) __interrupt USBRESET_ISR ++void usbreset_isr(void) __interrupt(USBRESET_ISR) + { + handle_hispeed(FALSE); + CLEAR_USBRESET(); + } + +-void hispeed_isr(void) __interrupt HISPEED_ISR ++void hispeed_isr(void) __interrupt(HISPEED_ISR) + { + handle_hispeed(TRUE); + CLEAR_HISPEED(); + } + +-void timer2_isr(void) __interrupt TF2_ISR ++void timer2_isr(void) __interrupt(TF2_ISR) + { + /* Blink LED during acquisition, keep it on otherwise. */ + if (gpif_acquiring == RUNNING) { +diff --git a/include/scope.inc b/include/scope.inc +index 96422f1b..c6990853 100644 +--- a/include/scope.inc ++++ b/include/scope.inc +@@ -43,36 +43,36 @@ static volatile __bit dosuspend = FALSE; + extern __code BYTE highspd_dscr; + extern __code BYTE fullspd_dscr; + +-void resume_isr(void) __interrupt RESUME_ISR ++void resume_isr(void) __interrupt(RESUME_ISR) + { + CLEAR_RESUME(); + } + +-void sudav_isr(void) __interrupt SUDAV_ISR ++void sudav_isr(void) __interrupt(SUDAV_ISR) + { + dosud = TRUE; + CLEAR_SUDAV(); + } + +-void usbreset_isr(void) __interrupt USBRESET_ISR ++void usbreset_isr(void) __interrupt(USBRESET_ISR) + { + handle_hispeed(FALSE); + CLEAR_USBRESET(); + } + +-void hispeed_isr(void) __interrupt HISPEED_ISR ++void hispeed_isr(void) __interrupt(HISPEED_ISR) + { + handle_hispeed(TRUE); + CLEAR_HISPEED(); + } + +-void suspend_isr(void) __interrupt SUSPEND_ISR ++void suspend_isr(void) __interrupt(SUSPEND_ISR) + { + dosuspend = TRUE; + CLEAR_SUSPEND(); + } + +-void timer2_isr(void) __interrupt TF2_ISR ++void timer2_isr(void) __interrupt(TF2_ISR) + { + /* Toggle the probe calibration pin, only accurate up to ca. 8MHz. */ + TOGGLE_CALIBRATION_PIN(); |