diff --git a/arch/arm/src/stm32f7/stm32_exti_pwr.c b/arch/arm/src/stm32f7/stm32_exti_pwr.c index 0dafb120ba2..54239c777ad 100644 --- a/arch/arm/src/stm32f7/stm32_exti_pwr.c +++ b/arch/arm/src/stm32f7/stm32_exti_pwr.c @@ -89,7 +89,7 @@ static void *g_callback_arg; * ****************************************************************************/ -static int stm32_exti_pvd_isr(int irq, void *context, FAR void *arg) +static int stm32_exti_pvd_isr(int irq, void *context, void *arg) { int ret = OK; @@ -130,7 +130,7 @@ static int stm32_exti_pvd_isr(int irq, void *context, FAR void *arg) ****************************************************************************/ xcpt_t stm32_exti_pvd(bool risingedge, bool fallingedge, bool event, - xcpt_t func) + xcpt_t func, void *arg) { xcpt_t oldhandler; diff --git a/arch/arm/src/stm32f7/stm32_sdmmc.c b/arch/arm/src/stm32f7/stm32_sdmmc.c index 34a8bdb3d8a..e08a08cc207 100644 --- a/arch/arm/src/stm32f7/stm32_sdmmc.c +++ b/arch/arm/src/stm32f7/stm32_sdmmc.c @@ -481,10 +481,10 @@ static int stm32_sdmmc2_interrupt(int irq, void *context, void *arg); #ifdef CONFIG_MMCSD_SDIOWAIT_WRCOMPLETE #ifdef CONFIG_STM32F7_SDMMC1 -static int stm32_sdmmc1_rdyinterrupt(int irq, void *context); +static int stm32_sdmmc1_rdyinterrupt(int irq, void *context, void *arg); #endif #ifdef CONFIG_STM32F7_SDMMC2 -static int stm32_sdmmc2_rdyinterrupt(int irq, void *context); +static int stm32_sdmmc2_rdyinterrupt(int irq, void *context, void *arg); #endif #endif @@ -846,14 +846,14 @@ static void stm32_configwaitints(struct stm32_dev_s *priv, uint32_t waitmask, /* Arm the SDMMC_D Ready and install Isr */ - stm32_gpiosetevent(pinset, true, false, false, priv->wrchandler); + stm32_gpiosetevent(pinset, true, false, false, priv->wrchandler, priv); } /* Disarm SDMMC_D ready */ if ((wkupevent & SDIOWAIT_WRCOMPLETE) != 0) { - stm32_gpiosetevent(priv->d0_gpio, false, false, false , NULL); + stm32_gpiosetevent(priv->d0_gpio, false, false, false , NULL, NULL); stm32_configgpio(priv->d0_gpio); } #endif @@ -1506,18 +1506,18 @@ static void stm32_endtransfer(struct stm32_dev_s *priv, #ifdef CONFIG_MMCSD_SDIOWAIT_WRCOMPLETE # if defined(CONFIG_STM32F7_SDMMC1) -static int stm32_sdmmc1_rdyinterrupt(int irq, void *context) +static int stm32_sdmmc1_rdyinterrupt(int irq, void *context, void *arg) { - struct stm32_dev_s *priv = &g_sdmmcdev1; + struct stm32_dev_s *priv = (struct stm32_dev_s *)arg; stm32_endwait(priv, SDIOWAIT_WRCOMPLETE); return OK; } # endif # if defined(CONFIG_STM32F7_SDMMC2) -static int stm32_sdmmc2_rdyinterrupt(int irq, void *context) +static int stm32_sdmmc2_rdyinterrupt(int irq, void *context, void *arg) { - struct stm32_dev_s *priv = &g_sdmmcdev2; + struct stm32_dev_s *priv = struct stm32_dev_s *)arg; stm32_endwait(priv, SDIOWAIT_WRCOMPLETE); return OK; } diff --git a/arch/arm/src/stm32f7/stm32_tim.c b/arch/arm/src/stm32f7/stm32_tim.c index 7ded94ee339..86ea856be22 100644 --- a/arch/arm/src/stm32f7/stm32_tim.c +++ b/arch/arm/src/stm32f7/stm32_tim.c @@ -488,7 +488,7 @@ static void stm32_tim_setperiod(FAR struct stm32_tim_dev_s *dev, } static int stm32_tim_setisr(FAR struct stm32_tim_dev_s *dev, - int (*handler)(int irq, void *context), + xcpt_t handler, int source) { int vectorno; diff --git a/arch/arm/src/stm32f7/stm32_tim.h b/arch/arm/src/stm32f7/stm32_tim.h index 1e661f2c666..24a6db8984b 100644 --- a/arch/arm/src/stm32f7/stm32_tim.h +++ b/arch/arm/src/stm32f7/stm32_tim.h @@ -167,7 +167,8 @@ struct stm32_tim_ops_s /* Timer interrupts */ - int (*setisr)(FAR struct stm32_tim_dev_s *dev, int (*handler)(int irq, void *context), int source); + int (*setisr)(FAR struct stm32_tim_dev_s *dev, xcpt_t handler, + int source); void (*enableint)(FAR struct stm32_tim_dev_s *dev, int source); void (*disableint)(FAR struct stm32_tim_dev_s *dev, int source); void (*ackint)(FAR struct stm32_tim_dev_s *dev, int source);