This series adds three functions to the PCI VPD API that help to simplify driver code. First users are sfc and tg3 drivers because I have test hw. The other users of the VPD API will benefit from a migration as well. I'd propose to apply this series via the PCI tree. Added API calls: pci_vpd_alloc() Dynamically allocates a properly sized buffer and reads the VPD into it. pci_vpd_find_ro_info_keyword() Locates an info field keyword in the VPD RO section. pci_vpd_find_info_keyword() can be removed once all users have been migrated. pci_vpd_check_csum() Check VPD checksum based on algorithm defined in the PCI specification. Tested on a SFN6122F and a BCM95719 card. Heiner Kallweit (8): PCI/VPD: Add pci_vpd_alloc PCI/VPD: Add pci_vpd_find_ro_info_keyword and pci_vpd_check_csum PCI/VPD: Add missing VPD RO field keywords sfc: Use new function pci_vpd_alloc sfc: Use new VPD API function pci_vpd_find_ro_info_keyword tg3: Use new function pci_vpd_alloc tg3: Use new function pci_vpd_check_csum tg3: Use new function pci_vpd_find_ro_info_keyword drivers/net/ethernet/broadcom/tg3.c | 115 +++++++--------------------- drivers/net/ethernet/broadcom/tg3.h | 1 - drivers/net/ethernet/sfc/efx.c | 78 +++++-------------- drivers/pci/vpd.c | 82 ++++++++++++++++++++ include/linux/pci.h | 32 ++++++++ 5 files changed, 163 insertions(+), 145 deletions(-) -- 2.32.0