x86/PCI: embed name into pci_root_info struct
authorYinghai Lu <yinghai@kernel.org>
Tue, 3 Apr 2012 01:31:53 +0000 (18:31 -0700)
committerBjorn Helgaas <bhelgaas@google.com>
Mon, 30 Apr 2012 20:52:43 +0000 (14:52 -0600)
We now keep the pci_root_info struct for the entire lifetime of the
host bridge, so just embed the name in the struct rather than
allocating it separately.

Signed-off-by: Yinghai Lu <yinghai@kernel.org>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
arch/x86/pci/acpi.c

index 2b74a161d215dd71c598c51872cd5549d8502f0a..23e7361b17478cfab66a22a581a6c61edb358323 100644 (file)
@@ -9,7 +9,7 @@
 
 struct pci_root_info {
        struct acpi_device *bridge;
-       char *name;
+       char name[16];
        unsigned int res_num;
        struct resource *res;
        int busnum;
@@ -317,7 +317,6 @@ static void add_resources(struct pci_root_info *info,
 
 static void free_pci_root_info_res(struct pci_root_info *info)
 {
-       kfree(info->name);
        kfree(info->res);
        info->res = NULL;
        info->res_num = 0;
@@ -370,9 +369,7 @@ probe_pci_root_info(struct pci_root_info *info, struct acpi_device *device,
        if (!info->res)
                return;
 
-       info->name = kasprintf(GFP_KERNEL, "PCI Bus %04x:%02x", domain, busnum);
-       if (!info->name)
-               return;
+       sprintf(info->name, "PCI Bus %04x:%02x", domain, busnum);
 
        acpi_walk_resources(device->handle, METHOD_NAME__CRS, setup_resource,
                                info);