aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/misc/intel_menlow.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/misc/intel_menlow.c')
-rw-r--r--drivers/misc/intel_menlow.c30
1 files changed, 10 insertions, 20 deletions
diff --git a/drivers/misc/intel_menlow.c b/drivers/misc/intel_menlow.c
index de16e88eb8d3..5bb8816c9126 100644
--- a/drivers/misc/intel_menlow.c
+++ b/drivers/misc/intel_menlow.c
@@ -175,28 +175,18 @@ static int intel_menlow_memory_add(struct acpi_device *device)
175 goto end; 175 goto end;
176 } 176 }
177 177
178 if (cdev) { 178 acpi_driver_data(device) = cdev;
179 acpi_driver_data(device) = cdev; 179 result = sysfs_create_link(&device->dev.kobj,
180 result = sysfs_create_link(&device->dev.kobj, 180 &cdev->device.kobj, "thermal_cooling");
181 &cdev->device.kobj, "thermal_cooling"); 181 if (result)
182 if (result) 182 printk(KERN_ERR PREFIX "Create sysfs link\n");
183 goto unregister; 183 result = sysfs_create_link(&cdev->device.kobj,
184 184 &device->dev.kobj, "device");
185 result = sysfs_create_link(&cdev->device.kobj, 185 if (result)
186 &device->dev.kobj, "device"); 186 printk(KERN_ERR PREFIX "Create sysfs link\n");
187 if (result) {
188 sysfs_remove_link(&device->dev.kobj, "thermal_cooling");
189 goto unregister;
190 }
191 }
192 187
193 end: 188 end:
194 return result; 189 return result;
195
196 unregister:
197 thermal_cooling_device_unregister(cdev);
198 return result;
199
200} 190}
201 191
202static int intel_menlow_memory_remove(struct acpi_device *device, int type) 192static int intel_menlow_memory_remove(struct acpi_device *device, int type)
@@ -213,7 +203,7 @@ static int intel_menlow_memory_remove(struct acpi_device *device, int type)
213 return 0; 203 return 0;
214} 204}
215 205
216const static struct acpi_device_id intel_menlow_memory_ids[] = { 206static const struct acpi_device_id intel_menlow_memory_ids[] = {
217 {"INT0002", 0}, 207 {"INT0002", 0},
218 {"", 0}, 208 {"", 0},
219}; 209};