History

PCI: Introduce pci_get_dsn

Several device drivers read their Device Serial Number from the PCIe extended config space. Introduce a new helper function, pci_get_dsn(). This function reads the eight bytes of the DSN and returns them as a u64. If the capability does not exist for the device, the function returns 0.

Jacob Keller committed 6 years ago

Commit 70c09231 parent 367ab292 files · +39 −0Browse files

Showing the changes to include/linux (1 of 2 files). Show all

Unified · Split

include/linux/pci.h+5−0
@@ -1052,6 +1052,8 @@ int pci_find_ht_capability(struct pci_dev *dev, int ht_cap); · 1051 unmodified lines
1052int pci_find_next_ht_capability(struct pci_dev *dev, int pos, int ht_cap);1052int pci_find_next_ht_capability(struct pci_dev *dev, int pos, int ht_cap);
1053struct pci_bus *pci_find_next_bus(const struct pci_bus *from);1053struct pci_bus *pci_find_next_bus(const struct pci_bus *from);
1054 1054
1055u64 pci_get_dsn(struct pci_dev *dev);
1056
1055struct pci_dev *pci_get_device(unsigned int vendor, unsigned int device,1057struct pci_dev *pci_get_device(unsigned int vendor, unsigned int device,
1056 struct pci_dev *from);1058 struct pci_dev *from);
1057struct pci_dev *pci_get_subsys(unsigned int vendor, unsigned int device,1059struct pci_dev *pci_get_subsys(unsigned int vendor, unsigned int device,
@@ -1707,6 +1709,9 @@ static inline int pci_find_next_capability(struct pci_dev *dev, u8 post, · 649 unmodified lines
1707static inline int pci_find_ext_capability(struct pci_dev *dev, int cap)1709static inline int pci_find_ext_capability(struct pci_dev *dev, int cap)
1708{ return 0; }1710{ return 0; }
1709 1711
1712static inline u64 pci_get_dsn(struct pci_dev *dev)
1713{ return 0; }
1714
1710/* Power management related routines */1715/* Power management related routines */
1711static inline int pci_save_state(struct pci_dev *dev) { return 0; }1716static inline int pci_save_state(struct pci_dev *dev) { return 0; }
1712static inline void pci_restore_state(struct pci_dev *dev) { }1717static inline void pci_restore_state(struct pci_dev *dev) { }