Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 53325
b: refs/heads/master
c: f7bdd12
h: refs/heads/master
i:
  53323: b6c5730
v: v3
  • Loading branch information
Brian King authored and Greg Kroah-Hartman committed May 3, 2007
1 parent b50f38b commit efc2285
Show file tree
Hide file tree
Showing 3 changed files with 44 additions and 1 deletion.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 988cbb15e00e6f924d052874b40c6a5447f9fdd7
refs/heads/master: f7bdd12d234d9064bd0aa1b5610508959120a9b4
29 changes: 29 additions & 0 deletions trunk/drivers/pci/pci.c
Original file line number Diff line number Diff line change
Expand Up @@ -891,6 +891,34 @@ pci_disable_device(struct pci_dev *dev)
pcibios_disable_device(dev);
}

/**
* pcibios_set_pcie_reset_state - set reset state for device dev
* @dev: the PCI-E device reset
* @state: Reset state to enter into
*
*
* Sets the PCI-E reset state for the device. This is the default
* implementation. Architecture implementations can override this.
*/
int __attribute__ ((weak)) pcibios_set_pcie_reset_state(struct pci_dev *dev,
enum pcie_reset_state state)
{
return -EINVAL;
}

/**
* pci_set_pcie_reset_state - set reset state for device dev
* @dev: the PCI-E device reset
* @state: Reset state to enter into
*
*
* Sets the PCI reset state for the device.
*/
int pci_set_pcie_reset_state(struct pci_dev *dev, enum pcie_reset_state state)
{
return pcibios_set_pcie_reset_state(dev, state);
}

/**
* pci_enable_wake - enable PCI device as wakeup event source
* @dev: PCI device affected
Expand Down Expand Up @@ -1427,4 +1455,5 @@ EXPORT_SYMBOL(pci_set_power_state);
EXPORT_SYMBOL(pci_save_state);
EXPORT_SYMBOL(pci_restore_state);
EXPORT_SYMBOL(pci_enable_wake);
EXPORT_SYMBOL_GPL(pci_set_pcie_reset_state);

14 changes: 14 additions & 0 deletions trunk/include/linux/pci.h
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,19 @@ enum pci_channel_state {
pci_channel_io_perm_failure = (__force pci_channel_state_t) 3,
};

typedef unsigned int __bitwise pcie_reset_state_t;

enum pcie_reset_state {
/* Reset is NOT asserted (Use to deassert reset) */
pcie_deassert_reset = (__force pcie_reset_state_t) 1,

/* Use #PERST to reset PCI-E device */
pcie_warm_reset = (__force pcie_reset_state_t) 2,

/* Use PCI-E Hot Reset to reset device */
pcie_hot_reset = (__force pcie_reset_state_t) 3
};

typedef unsigned short __bitwise pci_bus_flags_t;
enum pci_bus_flags {
PCI_BUS_FLAGS_NO_MSI = (__force pci_bus_flags_t) 1,
Expand Down Expand Up @@ -532,6 +545,7 @@ static inline int pci_is_managed(struct pci_dev *pdev)

void pci_disable_device(struct pci_dev *dev);
void pci_set_master(struct pci_dev *dev);
int pci_set_pcie_reset_state(struct pci_dev *dev, enum pcie_reset_state state);
#define HAVE_PCI_SET_MWI
int __must_check pci_set_mwi(struct pci_dev *dev);
void pci_clear_mwi(struct pci_dev *dev);
Expand Down

0 comments on commit efc2285

Please sign in to comment.