PCI: Move pci_[get|set]_resource_alignment_param() into their callers
authorLogan Gunthorpe <logang@deltatee.com>
Thu, 22 Aug 2019 16:10:12 +0000 (10:10 -0600)
committerBjorn Helgaas <bhelgaas@google.com>
Thu, 5 Sep 2019 21:47:22 +0000 (16:47 -0500)
Both the functions pci_get_resource_alignment_param() and
pci_set_resource_alignment_param() are now only called in one place:
resource_alignment_show() and resource_alignment_store() respectively.

There is no value in this extra set of functions so move both into their
callers respectively.

[bhelgaas: fold in "GFP_KERNEL while atomic" fix from Christoph Hellwig
<hch@infradead.org>
https://lore.kernel.org/r/20190902075006.GB754@infradead.org]
Link: https://lore.kernel.org/r/20190822161013.5481-3-logang@deltatee.com
Signed-off-by: Logan Gunthorpe <logang@deltatee.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
drivers/pci/pci.c

index fbfb64ba447d70170a57eaafb5bc6912b3aeb1a7..ff3abc577a25b8baea9f456c0942dbe25665495e 100644 (file)
@@ -6117,39 +6117,31 @@ void pci_reassigndev_resource_alignment(struct pci_dev *dev)
        }
 }
 
-static ssize_t pci_set_resource_alignment_param(const char *buf, size_t count)
-{
-       spin_lock(&resource_alignment_lock);
-
-       kfree(resource_alignment_param);
-       resource_alignment_param = kstrndup(buf, count, GFP_KERNEL);
-
-       spin_unlock(&resource_alignment_lock);
-
-       return resource_alignment_param ? count : -ENOMEM;
-}
-
-static ssize_t pci_get_resource_alignment_param(char *buf, size_t size)
+static ssize_t resource_alignment_show(struct bus_type *bus, char *buf)
 {
        size_t count = 0;
 
        spin_lock(&resource_alignment_lock);
        if (resource_alignment_param)
-               count = snprintf(buf, size, "%s", resource_alignment_param);
+               count = snprintf(buf, PAGE_SIZE, "%s", resource_alignment_param);
        spin_unlock(&resource_alignment_lock);
 
        return count;
 }
 
-static ssize_t resource_alignment_show(struct bus_type *bus, char *buf)
-{
-       return pci_get_resource_alignment_param(buf, PAGE_SIZE);
-}
-
 static ssize_t resource_alignment_store(struct bus_type *bus,
                                        const char *buf, size_t count)
 {
-       return pci_set_resource_alignment_param(buf, count);
+       char *param = kstrndup(buf, count, GFP_KERNEL);
+
+       if (!param)
+               return -ENOMEM;
+
+       spin_lock(&resource_alignment_lock);
+       kfree(resource_alignment_param);
+       resource_alignment_param = param;
+       spin_unlock(&resource_alignment_lock);
+       return count;
 }
 
 static BUS_ATTR_RW(resource_alignment);