From 569fd5097c4853136728f5a43b1706a8c4a253e5 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Tue, 2 Jan 2018 11:56:36 +0100 Subject: sparc: Remove BSP specifics from Update #3254. Update #3260. Update #3269. --- c/src/lib/libbsp/sparc/erc32/include/bsp.h | 7 ------- c/src/lib/libbsp/sparc/leon2/include/bsp.h | 7 ------- c/src/lib/libbsp/sparc/leon3/include/bsp.h | 7 ------- cpukit/libpci/pci/irq.h | 22 ++++++++++++++++------ 4 files changed, 16 insertions(+), 27 deletions(-) diff --git a/c/src/lib/libbsp/sparc/erc32/include/bsp.h b/c/src/lib/libbsp/sparc/erc32/include/bsp.h index ec2f72352a..71719f9cf3 100644 --- a/c/src/lib/libbsp/sparc/erc32/include/bsp.h +++ b/c/src/lib/libbsp/sparc/erc32/include/bsp.h @@ -177,13 +177,6 @@ void rtems_bsp_delay(int usecs); void console_outbyte_polled(int port, unsigned char ch); int console_inbyte_nonblocking(int port); -/* BSP PCI Interrupt support - to avoid warnings by libpci */ -#define BSP_PCI_shared_interrupt_register BSP_shared_interrupt_register -#define BSP_PCI_shared_interrupt_unregister BSP_shared_interrupt_unregister -#define BSP_PCI_shared_interrupt_unmask BSP_shared_interrupt_unmask -#define BSP_PCI_shared_interrupt_mask BSP_shared_interrupt_mask -#define BSP_PCI_shared_interrupt_clear BSP_shared_interrupt_clear - #ifdef __cplusplus } #endif diff --git a/c/src/lib/libbsp/sparc/leon2/include/bsp.h b/c/src/lib/libbsp/sparc/leon2/include/bsp.h index 77d7d78e13..2028ba0db3 100644 --- a/c/src/lib/libbsp/sparc/leon2/include/bsp.h +++ b/c/src/lib/libbsp/sparc/leon2/include/bsp.h @@ -201,13 +201,6 @@ void rtems_bsp_delay(int usecs); */ int cchip1_register(void); -/* BSP PCI Interrupt support */ -#define BSP_PCI_shared_interrupt_register BSP_shared_interrupt_register -#define BSP_PCI_shared_interrupt_unregister BSP_shared_interrupt_unregister -#define BSP_PCI_shared_interrupt_unmask BSP_shared_interrupt_unmask -#define BSP_PCI_shared_interrupt_mask BSP_shared_interrupt_mask -#define BSP_PCI_shared_interrupt_clear BSP_shared_interrupt_clear - /* AT697 has PCI defined as big endian */ #define BSP_PCI_BIG_ENDIAN diff --git a/c/src/lib/libbsp/sparc/leon3/include/bsp.h b/c/src/lib/libbsp/sparc/leon3/include/bsp.h index ef597cb704..3fda4edc66 100644 --- a/c/src/lib/libbsp/sparc/leon3/include/bsp.h +++ b/c/src/lib/libbsp/sparc/leon3/include/bsp.h @@ -233,13 +233,6 @@ extern const unsigned char LEON3_mp_irq; extern const unsigned char LEON3_irq_to_cpu[32]; #endif -/* BSP PCI Interrupt support */ -#define BSP_PCI_shared_interrupt_register BSP_shared_interrupt_register -#define BSP_PCI_shared_interrupt_unregister BSP_shared_interrupt_unregister -#define BSP_PCI_shared_interrupt_unmask BSP_shared_interrupt_unmask -#define BSP_PCI_shared_interrupt_mask BSP_shared_interrupt_mask -#define BSP_PCI_shared_interrupt_clear BSP_shared_interrupt_clear - /* Common driver build-time configurations. On small systems undefine * [DRIVER]_INFO_AVAIL to avoid info routines get dragged in. It is good * for debugging and printing information about the system, but makes the diff --git a/cpukit/libpci/pci/irq.h b/cpukit/libpci/pci/irq.h index 6c84977d45..7622201fd6 100644 --- a/cpukit/libpci/pci/irq.h +++ b/cpukit/libpci/pci/irq.h @@ -14,10 +14,18 @@ #ifndef __PCI_IRQ_H__ #define __PCI_IRQ_H__ -#include #include #include +/* + * FIXME: This should be available via the IRQ extensions API. + * + * https://devel.rtems.org/ticket/3269 + */ +void BSP_shared_interrupt_clear(int irq); +void BSP_shared_interrupt_unmask(int irq); +void BSP_shared_interrupt_mask(int irq); + /* PCI Handler (ISR) called when IRQ is generated by any of the PCI devices * connected to the same PCI IRQ Pin. This has been defined the same way as * rtems_interrupt_handler in order for BSPs to "direct-map" the register @@ -43,7 +51,9 @@ extern int pci_dev_irq(pci_dev_t dev); RTEMS_INLINE_ROUTINE int pci_interrupt_register(int irq, const char *info, pci_isr isr, void *arg) { - return BSP_PCI_shared_interrupt_register(irq, info, isr, arg); + return rtems_interrupt_handler_install(irq, info, + RTEMS_INTERRUPT_SHARED, isr, + arg); } /* Unregister previously registered shared PCI IRQ handler @@ -56,7 +66,7 @@ RTEMS_INLINE_ROUTINE int pci_interrupt_register(int irq, const char *info, RTEMS_INLINE_ROUTINE int pci_interrupt_unregister(int irq, pci_isr isr, void *arg) { - return BSP_PCI_shared_interrupt_unregister(irq, isr, arg); + return rtems_interrupt_handler_remove(irq, isr, arg); } /* Enable shared PCI IRQ handler. This function will unmask the interrupt @@ -72,7 +82,7 @@ RTEMS_INLINE_ROUTINE int pci_interrupt_unregister(int irq, pci_isr isr, */ RTEMS_INLINE_ROUTINE void pci_interrupt_unmask(int irq) { - BSP_PCI_shared_interrupt_unmask(irq); + BSP_shared_interrupt_unmask(irq); } /* Disable shared PCI IRQ handler. This function will mask the interrupt @@ -88,7 +98,7 @@ RTEMS_INLINE_ROUTINE void pci_interrupt_unmask(int irq) */ RTEMS_INLINE_ROUTINE void pci_interrupt_mask(int irq) { - BSP_PCI_shared_interrupt_mask(irq); + BSP_shared_interrupt_mask(irq); } /* Acknowledge the interrupt controller by writing to the interrupt controller. @@ -102,7 +112,7 @@ RTEMS_INLINE_ROUTINE void pci_interrupt_mask(int irq) */ RTEMS_INLINE_ROUTINE void pci_interrupt_clear(int irq) { - BSP_PCI_shared_interrupt_clear(irq); + BSP_shared_interrupt_clear(irq); } #endif /* !__PCI_IRQ_H__ */ -- cgit v1.2.3