]> git.proxmox.com Git - mirror_ubuntu-kernels.git/blame - drivers/char/ipmi/ipmi_si.h
Merge branches 'for-5.1/upstream-fixes', 'for-5.2/core', 'for-5.2/ish', 'for-5.2...
[mirror_ubuntu-kernels.git] / drivers / char / ipmi / ipmi_si.h
CommitLineData
243ac210 1/* SPDX-License-Identifier: GPL-2.0+ */
1e89a499
CM
2/*
3 * ipmi_si.h
4 *
5 * Interface from the device-specific interfaces (OF, DMI, ACPI, PCI,
6 * etc) to the base ipmi system interface code.
7 */
8
4f3e8199 9#include <linux/interrupt.h>
3cd83bac 10#include <linux/platform_device.h>
1e89a499
CM
11#include "ipmi_si_sm.h"
12
1e89a499
CM
13#define DEFAULT_REGSPACING 1
14#define DEFAULT_REGSIZE 1
15
9d70029e
CM
16#define DEVICE_NAME "ipmi_si"
17
bb398a4c 18int ipmi_si_add_smi(struct si_sm_io *io);
4f3e8199
CM
19irqreturn_t ipmi_si_irq_handler(int irq, void *data);
20void ipmi_irq_start_cleanup(struct si_sm_io *io);
21int ipmi_std_irq_setup(struct si_sm_io *io);
22void ipmi_irq_finish_setup(struct si_sm_io *io);
bb398a4c 23int ipmi_si_remove_by_dev(struct device *dev);
bdb57b7b
CM
24struct device *ipmi_si_remove_by_data(int addr_space, enum si_type si_type,
25 unsigned long addr);
41b766d6
CM
26void ipmi_hardcode_init(void);
27void ipmi_si_hardcode_exit(void);
bdb57b7b 28void ipmi_si_hotmod_exit(void);
f6296bdc 29int ipmi_si_hardcode_match(int addr_space, unsigned long addr);
9d70029e
CM
30void ipmi_si_platform_init(void);
31void ipmi_si_platform_shutdown(void);
e17c6571 32void ipmi_remove_platform_device_by_name(char *name);
9d70029e
CM
33
34extern struct platform_driver ipmi_platform_driver;
13d0b35c
CM
35
36#ifdef CONFIG_PCI
37void ipmi_si_pci_init(void);
38void ipmi_si_pci_shutdown(void);
39#else
40static inline void ipmi_si_pci_init(void) { }
41static inline void ipmi_si_pci_shutdown(void) { }
42#endif
c6f85a75
CM
43#ifdef CONFIG_PARISC
44void ipmi_si_parisc_init(void);
45void ipmi_si_parisc_shutdown(void);
46#else
47static inline void ipmi_si_parisc_init(void) { }
48static inline void ipmi_si_parisc_shutdown(void) { }
49#endif
58e27635
CM
50
51int ipmi_si_port_setup(struct si_sm_io *io);
52int ipmi_si_mem_setup(struct si_sm_io *io);