mirror of
https://github.com/torvalds/linux
synced 2024-10-11 22:05:39 +00:00
3cd83bac48
It was being done in two different places now that hard-coded devices use platform devices, and it's about to be three with hotmod switching to platform devices. So put the code in one place. This required some rework on some interfaces to make the type space clean. Signed-off-by: Corey Minyard <cminyard@mvista.com>
51 lines
1.4 KiB
C
51 lines
1.4 KiB
C
/* SPDX-License-Identifier: GPL-2.0+ */
|
|
/*
|
|
* ipmi_si.h
|
|
*
|
|
* Interface from the device-specific interfaces (OF, DMI, ACPI, PCI,
|
|
* etc) to the base ipmi system interface code.
|
|
*/
|
|
|
|
#include <linux/interrupt.h>
|
|
#include <linux/platform_device.h>
|
|
#include "ipmi_si_sm.h"
|
|
|
|
#define DEFAULT_REGSPACING 1
|
|
#define DEFAULT_REGSIZE 1
|
|
|
|
#define DEVICE_NAME "ipmi_si"
|
|
|
|
int ipmi_si_add_smi(struct si_sm_io *io);
|
|
irqreturn_t ipmi_si_irq_handler(int irq, void *data);
|
|
void ipmi_irq_start_cleanup(struct si_sm_io *io);
|
|
int ipmi_std_irq_setup(struct si_sm_io *io);
|
|
void ipmi_irq_finish_setup(struct si_sm_io *io);
|
|
int ipmi_si_remove_by_dev(struct device *dev);
|
|
void ipmi_si_remove_by_data(int addr_space, enum si_type si_type,
|
|
unsigned long addr);
|
|
void ipmi_hardcode_init(void);
|
|
void ipmi_si_hardcode_exit(void);
|
|
int ipmi_si_hardcode_match(int addr_space, unsigned long addr);
|
|
void ipmi_si_platform_init(void);
|
|
void ipmi_si_platform_shutdown(void);
|
|
|
|
extern struct platform_driver ipmi_platform_driver;
|
|
|
|
#ifdef CONFIG_PCI
|
|
void ipmi_si_pci_init(void);
|
|
void ipmi_si_pci_shutdown(void);
|
|
#else
|
|
static inline void ipmi_si_pci_init(void) { }
|
|
static inline void ipmi_si_pci_shutdown(void) { }
|
|
#endif
|
|
#ifdef CONFIG_PARISC
|
|
void ipmi_si_parisc_init(void);
|
|
void ipmi_si_parisc_shutdown(void);
|
|
#else
|
|
static inline void ipmi_si_parisc_init(void) { }
|
|
static inline void ipmi_si_parisc_shutdown(void) { }
|
|
#endif
|
|
|
|
int ipmi_si_port_setup(struct si_sm_io *io);
|
|
int ipmi_si_mem_setup(struct si_sm_io *io);
|