diff options
author | Alex Williamson <alex.williamson@redhat.com> | 2013-08-08 16:09:31 -0400 |
---|---|---|
committer | Bjorn Helgaas <bhelgaas@google.com> | 2013-08-14 16:55:04 -0400 |
commit | 5c32b35b004f5ef70dcf62bbc42b8bed1e50b471 (patch) | |
tree | b9d3e4959d856b639072364025b9a856de593fc1 /include/linux/pci_hotplug.h | |
parent | 64e8674fbe6bc848333a9b7e19f8cc019dde9eab (diff) |
PCI: Add hotplug_slot_ops.reset_slot()
This optional callback allows hotplug controllers to perform slot
specific resets. These may be necessary in cases where a normal
secondary bus reset can interact with controller logic and expose
spurious hotplugs.
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Diffstat (limited to 'include/linux/pci_hotplug.h')
-rw-r--r-- | include/linux/pci_hotplug.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/include/linux/pci_hotplug.h b/include/linux/pci_hotplug.h index 8db71dcd6337..bd32109e607e 100644 --- a/include/linux/pci_hotplug.h +++ b/include/linux/pci_hotplug.h | |||
@@ -63,6 +63,9 @@ enum pcie_link_width { | |||
63 | * @get_adapter_status: Called to get see if an adapter is present in the slot or not. | 63 | * @get_adapter_status: Called to get see if an adapter is present in the slot or not. |
64 | * If this field is NULL, the value passed in the struct hotplug_slot_info | 64 | * If this field is NULL, the value passed in the struct hotplug_slot_info |
65 | * will be used when this value is requested by a user. | 65 | * will be used when this value is requested by a user. |
66 | * @reset_slot: Optional interface to allow override of a bus reset for the | ||
67 | * slot for cases where a secondary bus reset can result in spurious | ||
68 | * hotplug events or where a slot can be reset independent of the bus. | ||
66 | * | 69 | * |
67 | * The table of function pointers that is passed to the hotplug pci core by a | 70 | * The table of function pointers that is passed to the hotplug pci core by a |
68 | * hotplug pci driver. These functions are called by the hotplug pci core when | 71 | * hotplug pci driver. These functions are called by the hotplug pci core when |
@@ -80,6 +83,7 @@ struct hotplug_slot_ops { | |||
80 | int (*get_attention_status) (struct hotplug_slot *slot, u8 *value); | 83 | int (*get_attention_status) (struct hotplug_slot *slot, u8 *value); |
81 | int (*get_latch_status) (struct hotplug_slot *slot, u8 *value); | 84 | int (*get_latch_status) (struct hotplug_slot *slot, u8 *value); |
82 | int (*get_adapter_status) (struct hotplug_slot *slot, u8 *value); | 85 | int (*get_adapter_status) (struct hotplug_slot *slot, u8 *value); |
86 | int (*reset_slot) (struct hotplug_slot *slot, int probe); | ||
83 | }; | 87 | }; |
84 | 88 | ||
85 | /** | 89 | /** |