From: Bjorn Helgaas Date: Mon, 22 Feb 2016 19:58:20 +0000 (-0600) Subject: PCI: Remove struct pci_vpd_ops.release function pointer X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=da006847231b2b2ce443b29f1d3df6df7415030d;p=GitHub%2Fmoto-9609%2Fandroid_kernel_motorola_exynos9610.git PCI: Remove struct pci_vpd_ops.release function pointer The struct pci_vpd_ops.release function pointer is always pci_vpd_pci22_release(), so there's no need for the flexibility of a function pointer. Inline the pci_vpd_pci22_release() body into pci_vpd_release() and remove pci_vpd_pci22_release() and the struct pci_vpd_ops.release function pointer. Tested-by: Shane Seymour Tested-by: Babu Moger Signed-off-by: Bjorn Helgaas Reviewed-by: Hannes Reinecke --- diff --git a/drivers/pci/access.c b/drivers/pci/access.c index ca42a33bbb00..68ed22a4b116 100644 --- a/drivers/pci/access.c +++ b/drivers/pci/access.c @@ -508,15 +508,9 @@ out: return ret ? ret : count; } -static void pci_vpd_pci22_release(struct pci_dev *dev) -{ - kfree(container_of(dev->vpd, struct pci_vpd_pci22, base)); -} - static const struct pci_vpd_ops pci_vpd_pci22_ops = { .read = pci_vpd_pci22_read, .write = pci_vpd_pci22_write, - .release = pci_vpd_pci22_release, }; static ssize_t pci_vpd_f0_read(struct pci_dev *dev, loff_t pos, size_t count, @@ -552,7 +546,6 @@ static ssize_t pci_vpd_f0_write(struct pci_dev *dev, loff_t pos, size_t count, static const struct pci_vpd_ops pci_vpd_f0_ops = { .read = pci_vpd_f0_read, .write = pci_vpd_f0_write, - .release = pci_vpd_pci22_release, }; int pci_vpd_pci22_init(struct pci_dev *dev) @@ -584,7 +577,7 @@ int pci_vpd_pci22_init(struct pci_dev *dev) void pci_vpd_release(struct pci_dev *dev) { if (dev->vpd) - dev->vpd->ops->release(dev); + kfree(container_of(dev->vpd, struct pci_vpd_pci22, base)); } /** diff --git a/drivers/pci/pci.h b/drivers/pci/pci.h index 52e86b0d56d2..b3e9daac67d4 100644 --- a/drivers/pci/pci.h +++ b/drivers/pci/pci.h @@ -97,7 +97,6 @@ static inline bool pci_has_subordinate(struct pci_dev *pci_dev) struct pci_vpd_ops { ssize_t (*read)(struct pci_dev *dev, loff_t pos, size_t count, void *buf); ssize_t (*write)(struct pci_dev *dev, loff_t pos, size_t count, const void *buf); - void (*release)(struct pci_dev *dev); }; struct pci_vpd {