diff options
| author | Len Brown <len.brown@intel.com> | 2011-01-12 05:03:13 -0500 |
|---|---|---|
| committer | Len Brown <len.brown@intel.com> | 2011-01-12 05:03:13 -0500 |
| commit | 4b63bd35eb4e7959b0f7be17634689d34311524b (patch) | |
| tree | 2dad174e4ef8cbe5ef86541a8496b5f97dcf35d1 /include | |
| parent | 03b6e6e58d9dd5f3068288653810db3c15fde929 (diff) | |
| parent | e92b297cc72ade7a58eaec7e01c906d856f8ab6e (diff) | |
Merge branch 'ipmi' into release
Diffstat (limited to 'include')
| -rw-r--r-- | include/linux/ipmi.h | 38 | ||||
| -rw-r--r-- | include/linux/ipmi_smi.h | 8 |
2 files changed, 46 insertions, 0 deletions
diff --git a/include/linux/ipmi.h b/include/linux/ipmi.h index 65aae34759de..045f2f275cd0 100644 --- a/include/linux/ipmi.h +++ b/include/linux/ipmi.h | |||
| @@ -454,6 +454,44 @@ unsigned int ipmi_addr_length(int addr_type); | |||
| 454 | /* Validate that the given IPMI address is valid. */ | 454 | /* Validate that the given IPMI address is valid. */ |
| 455 | int ipmi_validate_addr(struct ipmi_addr *addr, int len); | 455 | int ipmi_validate_addr(struct ipmi_addr *addr, int len); |
| 456 | 456 | ||
| 457 | /* | ||
| 458 | * How did the IPMI driver find out about the device? | ||
| 459 | */ | ||
| 460 | enum ipmi_addr_src { | ||
| 461 | SI_INVALID = 0, SI_HOTMOD, SI_HARDCODED, SI_SPMI, SI_ACPI, SI_SMBIOS, | ||
| 462 | SI_PCI, SI_DEVICETREE, SI_DEFAULT | ||
| 463 | }; | ||
| 464 | |||
| 465 | union ipmi_smi_info_union { | ||
| 466 | /* | ||
| 467 | * the acpi_info element is defined for the SI_ACPI | ||
| 468 | * address type | ||
| 469 | */ | ||
| 470 | struct { | ||
| 471 | void *acpi_handle; | ||
| 472 | } acpi_info; | ||
| 473 | }; | ||
| 474 | |||
| 475 | struct ipmi_smi_info { | ||
| 476 | enum ipmi_addr_src addr_src; | ||
| 477 | |||
| 478 | /* | ||
| 479 | * Base device for the interface. Don't forget to put this when | ||
| 480 | * you are done. | ||
| 481 | */ | ||
| 482 | struct device *dev; | ||
| 483 | |||
| 484 | /* | ||
| 485 | * The addr_info provides more detailed info for some IPMI | ||
| 486 | * devices, depending on the addr_src. Currently only SI_ACPI | ||
| 487 | * info is provided. | ||
| 488 | */ | ||
| 489 | union ipmi_smi_info_union addr_info; | ||
| 490 | }; | ||
| 491 | |||
| 492 | /* This is to get the private info of ipmi_smi_t */ | ||
| 493 | extern int ipmi_get_smi_info(int if_num, struct ipmi_smi_info *data); | ||
| 494 | |||
| 457 | #endif /* __KERNEL__ */ | 495 | #endif /* __KERNEL__ */ |
| 458 | 496 | ||
| 459 | 497 | ||
diff --git a/include/linux/ipmi_smi.h b/include/linux/ipmi_smi.h index 4b48318ac542..906590aa6907 100644 --- a/include/linux/ipmi_smi.h +++ b/include/linux/ipmi_smi.h | |||
| @@ -39,6 +39,7 @@ | |||
| 39 | #include <linux/module.h> | 39 | #include <linux/module.h> |
| 40 | #include <linux/device.h> | 40 | #include <linux/device.h> |
| 41 | #include <linux/platform_device.h> | 41 | #include <linux/platform_device.h> |
| 42 | #include <linux/ipmi.h> | ||
| 42 | 43 | ||
| 43 | /* This files describes the interface for IPMI system management interface | 44 | /* This files describes the interface for IPMI system management interface |
| 44 | drivers to bind into the IPMI message handler. */ | 45 | drivers to bind into the IPMI message handler. */ |
| @@ -86,6 +87,13 @@ struct ipmi_smi_handlers { | |||
| 86 | int (*start_processing)(void *send_info, | 87 | int (*start_processing)(void *send_info, |
| 87 | ipmi_smi_t new_intf); | 88 | ipmi_smi_t new_intf); |
| 88 | 89 | ||
| 90 | /* | ||
| 91 | * Get the detailed private info of the low level interface and store | ||
| 92 | * it into the structure of ipmi_smi_data. For example: the | ||
| 93 | * ACPI device handle will be returned for the pnp_acpi IPMI device. | ||
| 94 | */ | ||
| 95 | int (*get_smi_info)(void *send_info, struct ipmi_smi_info *data); | ||
| 96 | |||
| 89 | /* Called to enqueue an SMI message to be sent. This | 97 | /* Called to enqueue an SMI message to be sent. This |
| 90 | operation is not allowed to fail. If an error occurs, it | 98 | operation is not allowed to fail. If an error occurs, it |
| 91 | should report back the error in a received message. It may | 99 | should report back the error in a received message. It may |
