diff options
author | Alex Chiang <achiang@hp.com> | 2009-12-20 14:19:39 -0500 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2009-12-22 03:24:14 -0500 |
commit | 3b407aef573b82139c3bc4dcaad2731fad56c054 (patch) | |
tree | 607a23308ee315ef60c23bd1e2d36acc95d2195b /drivers/acpi/processor_pdc.c | |
parent | 47817254b8637b56730aec26eed2c337d3938bb5 (diff) |
ACPI: processor: introduce acpi_processor_alloc_pdc()
acpi_processor_init_pdc() isn't really doing anything interesting
with the struct acpi_processor * parameter. Its real job is to allocate
the buffer for the _PDC bits.
So rename the function to acpi_processor_alloc_pdc(), and just return
the struct acpi_object_list * it's supposed to allocate.
Signed-off-by: Alex Chiang <achiang@hp.com>
Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'drivers/acpi/processor_pdc.c')
-rw-r--r-- | drivers/acpi/processor_pdc.c | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/drivers/acpi/processor_pdc.c b/drivers/acpi/processor_pdc.c index e786e2ce1882..23d2828157e0 100644 --- a/drivers/acpi/processor_pdc.c +++ b/drivers/acpi/processor_pdc.c | |||
@@ -54,26 +54,24 @@ static void acpi_set_pdc_bits(u32 *buf) | |||
54 | arch_acpi_set_pdc_bits(buf); | 54 | arch_acpi_set_pdc_bits(buf); |
55 | } | 55 | } |
56 | 56 | ||
57 | static void acpi_processor_init_pdc(struct acpi_processor *pr) | 57 | static struct acpi_object_list *acpi_processor_alloc_pdc(void) |
58 | { | 58 | { |
59 | struct acpi_object_list *obj_list; | 59 | struct acpi_object_list *obj_list; |
60 | union acpi_object *obj; | 60 | union acpi_object *obj; |
61 | u32 *buf; | 61 | u32 *buf; |
62 | 62 | ||
63 | pr->pdc = NULL; | ||
64 | |||
65 | /* allocate and initialize pdc. It will be used later. */ | 63 | /* allocate and initialize pdc. It will be used later. */ |
66 | obj_list = kmalloc(sizeof(struct acpi_object_list), GFP_KERNEL); | 64 | obj_list = kmalloc(sizeof(struct acpi_object_list), GFP_KERNEL); |
67 | if (!obj_list) { | 65 | if (!obj_list) { |
68 | printk(KERN_ERR "Memory allocation error\n"); | 66 | printk(KERN_ERR "Memory allocation error\n"); |
69 | return; | 67 | return NULL; |
70 | } | 68 | } |
71 | 69 | ||
72 | obj = kmalloc(sizeof(union acpi_object), GFP_KERNEL); | 70 | obj = kmalloc(sizeof(union acpi_object), GFP_KERNEL); |
73 | if (!obj) { | 71 | if (!obj) { |
74 | printk(KERN_ERR "Memory allocation error\n"); | 72 | printk(KERN_ERR "Memory allocation error\n"); |
75 | kfree(obj_list); | 73 | kfree(obj_list); |
76 | return; | 74 | return NULL; |
77 | } | 75 | } |
78 | 76 | ||
79 | buf = kmalloc(12, GFP_KERNEL); | 77 | buf = kmalloc(12, GFP_KERNEL); |
@@ -81,7 +79,7 @@ static void acpi_processor_init_pdc(struct acpi_processor *pr) | |||
81 | printk(KERN_ERR "Memory allocation error\n"); | 79 | printk(KERN_ERR "Memory allocation error\n"); |
82 | kfree(obj); | 80 | kfree(obj); |
83 | kfree(obj_list); | 81 | kfree(obj_list); |
84 | return; | 82 | return NULL; |
85 | } | 83 | } |
86 | 84 | ||
87 | acpi_set_pdc_bits(buf); | 85 | acpi_set_pdc_bits(buf); |
@@ -91,9 +89,8 @@ static void acpi_processor_init_pdc(struct acpi_processor *pr) | |||
91 | obj->buffer.pointer = (u8 *) buf; | 89 | obj->buffer.pointer = (u8 *) buf; |
92 | obj_list->count = 1; | 90 | obj_list->count = 1; |
93 | obj_list->pointer = obj; | 91 | obj_list->pointer = obj; |
94 | pr->pdc = obj_list; | ||
95 | 92 | ||
96 | return; | 93 | return obj_list; |
97 | } | 94 | } |
98 | 95 | ||
99 | /* | 96 | /* |
@@ -142,10 +139,17 @@ static void acpi_processor_cleanup_pdc(struct acpi_processor *pr) | |||
142 | 139 | ||
143 | void acpi_processor_set_pdc(struct acpi_processor *pr) | 140 | void acpi_processor_set_pdc(struct acpi_processor *pr) |
144 | { | 141 | { |
142 | struct acpi_object_list *obj_list; | ||
143 | |||
145 | if (arch_has_acpi_pdc() == false) | 144 | if (arch_has_acpi_pdc() == false) |
146 | return; | 145 | return; |
147 | 146 | ||
148 | acpi_processor_init_pdc(pr); | 147 | obj_list = acpi_processor_alloc_pdc(); |
148 | if (!obj_list) | ||
149 | return; | ||
150 | |||
151 | pr->pdc = obj_list; | ||
152 | |||
149 | acpi_processor_eval_pdc(pr); | 153 | acpi_processor_eval_pdc(pr); |
150 | acpi_processor_cleanup_pdc(pr); | 154 | acpi_processor_cleanup_pdc(pr); |
151 | } | 155 | } |