diff options
Diffstat (limited to 'drivers/misc/intel_menlow.c')
-rw-r--r-- | drivers/misc/intel_menlow.c | 28 |
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 | ||
202 | static int intel_menlow_memory_remove(struct acpi_device *device, int type) | 192 | static int intel_menlow_memory_remove(struct acpi_device *device, int type) |