This is an automated email from the ASF dual-hosted git repository. raiden00 pushed a commit to branch releases/12.7 in repository https://gitbox.apache.org/repos/asf/nuttx.git
commit c48f158e66bd5baf6c90ecd5a1371043492a1f7e Author: Yongrong Wang <[email protected]> AuthorDate: Thu Aug 15 15:32:17 2024 +0800 arm_gicv2.c: fix armv7a compile error /vela/nuttx/drivers/pci/pci_ecam.c:432:(.text.pci_ecam_get_irq+0x16): undefined reference to `up_get_legacy_irq' Signed-off-by: Yongrong Wang <[email protected]> --- arch/arm/src/armv7-a/arm_gicv2.c | 25 +++++++++++++++++++++++++ arch/arm/src/armv7-a/arm_gicv2m.c | 23 ----------------------- 2 files changed, 25 insertions(+), 23 deletions(-) diff --git a/arch/arm/src/armv7-a/arm_gicv2.c b/arch/arm/src/armv7-a/arm_gicv2.c index f4730ce243..bb4dba3717 100644 --- a/arch/arm/src/armv7-a/arm_gicv2.c +++ b/arch/arm/src/armv7-a/arm_gicv2.c @@ -30,6 +30,7 @@ #include <errno.h> #include <nuttx/arch.h> +#include <nuttx/pci/pci.h> #include <nuttx/spinlock.h> #include <arch/irq.h> @@ -775,4 +776,28 @@ void up_send_smp_call(cpu_set_t cpuset) up_trigger_irq(GIC_SMP_CPUCALL, cpuset); } #endif + +/**************************************************************************** + * Name: up_get_legacy_irq + * + * Description: + * Reserve vector for legacy + * + ****************************************************************************/ + +int up_get_legacy_irq(uint32_t devfn, uint8_t line, uint8_t pin) +{ +#if CONFIG_ARMV7A_GICV2_LEGACY_IRQ0 >= 0 + uint8_t slot; + uint8_t tmp; + + UNUSED(line); + slot = PCI_SLOT(devfn); + tmp = (pin - 1 + slot) % 4; + return CONFIG_ARMV7A_GICV2_LEGACY_IRQ0 + tmp; +#else + return -ENOTSUP; +#endif +} + #endif /* CONFIG_ARMV7A_HAVE_GICv2 */ diff --git a/arch/arm/src/armv7-a/arm_gicv2m.c b/arch/arm/src/armv7-a/arm_gicv2m.c index 8d96a5c2cb..6752862e72 100644 --- a/arch/arm/src/armv7-a/arm_gicv2m.c +++ b/arch/arm/src/armv7-a/arm_gicv2m.c @@ -137,26 +137,3 @@ int up_connect_irq(int *irq, int num, *mdr = *irq; return 0; } - -/**************************************************************************** - * Name: up_get_legacy_irq - * - * Description: - * Reserve vector for legacy - * - ****************************************************************************/ - -int up_get_legacy_irq(uint32_t devfn, uint8_t line, uint8_t pin) -{ -#if CONFIG_ARMV7A_GICV2_LEGACY_IRQ0 >= 0 - uint8_t slot; - uint8_t tmp; - - UNUSED(line); - slot = PCI_SLOT(devfn); - tmp = (pin - 1 + slot) % 4; - return CONFIG_ARMV7A_GICV2_LEGACY_IRQ0 + tmp; -#else - return -ENOTSUP; -#endif -}
