summaryrefslogtreecommitdiffstats
path: root/drivers/pci
diff options
context:
space:
mode:
authorKenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>2006-01-26 10:04:56 +0900
committerGreg Kroah-Hartman <gregkh@suse.de>2006-03-23 14:35:12 -0800
commitbbe779db9f97e1c99b3c7ce1ebb26bbaecbdb2a9 (patch)
treec24d816da4873b62a4a0f29f6c39e213e5890841 /drivers/pci
parent8abebe13f9df5b93be521eeefbf349236ddcd4eb (diff)
downloadop-kernel-dev-bbe779db9f97e1c99b3c7ce1ebb26bbaecbdb2a9.zip
op-kernel-dev-bbe779db9f97e1c99b3c7ce1ebb26bbaecbdb2a9.tar.gz
[PATCH] shpchp - move slot name into struct slot
This patch moves slot name area into struct slot. Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/pci')
-rw-r--r--drivers/pci/hotplug/shpchp.h2
-rw-r--r--drivers/pci/hotplug/shpchp_core.c14
2 files changed, 5 insertions, 11 deletions
diff --git a/drivers/pci/hotplug/shpchp.h b/drivers/pci/hotplug/shpchp.h
index 1e6d354..dc12b0d 100644
--- a/drivers/pci/hotplug/shpchp.h
+++ b/drivers/pci/hotplug/shpchp.h
@@ -53,6 +53,7 @@ extern int shpchp_debug;
#define info(format, arg...) printk(KERN_INFO "%s: " format, MY_NAME , ## arg)
#define warn(format, arg...) printk(KERN_WARNING "%s: " format, MY_NAME , ## arg)
+#define SLOT_NAME_SIZE 10
struct slot {
u8 bus;
u8 device;
@@ -68,6 +69,7 @@ struct slot {
struct hpc_ops *hpc_ops;
struct hotplug_slot *hotplug_slot;
struct list_head slot_list;
+ char name[SLOT_NAME_SIZE];
};
struct event_info {
diff --git a/drivers/pci/hotplug/shpchp_core.c b/drivers/pci/hotplug/shpchp_core.c
index 4161da4..cb4ac43 100644
--- a/drivers/pci/hotplug/shpchp_core.c
+++ b/drivers/pci/hotplug/shpchp_core.c
@@ -94,12 +94,10 @@ static void release_slot(struct hotplug_slot *hotplug_slot)
dbg("%s - physical_slot = %s\n", __FUNCTION__, hotplug_slot->name);
kfree(slot->hotplug_slot->info);
- kfree(slot->hotplug_slot->name);
kfree(slot->hotplug_slot);
kfree(slot);
}
-#define SLOT_NAME_SIZE 10
static void make_slot_name(struct slot *slot)
{
snprintf(slot->hotplug_slot->name, SLOT_NAME_SIZE, "%04d_%04d",
@@ -111,7 +109,6 @@ static int init_slots(struct controller *ctrl)
struct slot *slot;
struct hotplug_slot *hotplug_slot;
struct hotplug_slot_info *info;
- char *name;
int retval = -ENOMEM;
int i;
u32 sun;
@@ -131,10 +128,7 @@ static int init_slots(struct controller *ctrl)
goto error_hpslot;
hotplug_slot->info = info;
- name = kmalloc(SLOT_NAME_SIZE, GFP_KERNEL);
- if (!name)
- goto error_info;
- hotplug_slot->name = name;
+ hotplug_slot->name = slot->name;
slot->hp_slot = i;
slot->ctrl = ctrl;
@@ -144,7 +138,7 @@ static int init_slots(struct controller *ctrl)
if (shpchprm_get_physical_slot_number(ctrl, &sun,
slot->bus, slot->device))
- goto error_name;
+ goto error_info;
slot->number = sun;
@@ -165,15 +159,13 @@ static int init_slots(struct controller *ctrl)
retval = pci_hp_register(slot->hotplug_slot);
if (retval) {
err("pci_hp_register failed with error %d\n", retval);
- goto error_name;
+ goto error_info;
}
list_add(&slot->slot_list, &ctrl->slot_list);
}
return 0;
-error_name:
- kfree(name);
error_info:
kfree(info);
error_hpslot:
OpenPOWER on IntegriCloud