On Sun, Aug 08, 2021 at 07:18:08PM +0200, Heiner Kallweit wrote: > This series includes a number of further improvements to VPD handling. > > Heiner Kallweit (6): > PCI/VPD: Move pci_read/write_vpd in the code > PCI/VPD: Remove struct pci_vpd_ops > PCI/VPD: Remove member valid from struct pci_vpd > PCI/VPD: Embed struct pci_vpd member in struct pci_dev > PCI/VPD: Determine VPD size in pci_vpd_init already > PCI/VPD: Treat invalid VPD like no VPD capability > > drivers/pci/probe.c | 1 - > drivers/pci/vpd.c | 253 ++++++++++++++++---------------------------- > include/linux/pci.h | 9 +- > 3 files changed, 97 insertions(+), 166 deletions(-) This looks great! Applied to pci/vpd for v5.15, thanks! I tweaked 2/6 to test for func0_dev being NULL in pci_read_vpd() instead of pci_vpd_read(). Could go either way, but it's really only relevant for the PCI_DEV_FLAGS_VPD_REF_F0 case, which is now all in pci_read_vpd(). For the non-PCI_DEV_FLAGS_VPD_REF_F0 case, we've already dereference dev->dev_flags, so "dev" can never be NULL in pci_vpd_read().