ipmi_plat_data.h 669 B

12345678910111213141516171819202122232425
  1. /* SPDX-License-Identifier: GPL-2.0+ */
  2. /*
  3. * Generic code to add IPMI platform devices.
  4. */
  5. #include <linux/ipmi.h>
  6. enum ipmi_plat_interface_type { IPMI_PLAT_IF_SI, IPMI_PLAT_IF_SSIF };
  7. struct ipmi_plat_data {
  8. enum ipmi_plat_interface_type iftype;
  9. unsigned int type; /* si_type for si, SI_INVALID for others */
  10. unsigned int space; /* addr_space for si, intf# for ssif. */
  11. unsigned long addr;
  12. unsigned int regspacing;
  13. unsigned int regsize;
  14. unsigned int regshift;
  15. unsigned int irq;
  16. unsigned int slave_addr;
  17. enum ipmi_addr_src addr_source;
  18. };
  19. struct platform_device *ipmi_platform_add(const char *name, unsigned int inst,
  20. struct ipmi_plat_data *p);