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.c28
1 files changed, 9 insertions, 19 deletions
diff --git a/drivers/misc/intel_menlow.c b/drivers/misc/intel_menlow.c
index 0c0bb3093e07..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)