Loading drivers/acpi/fan.c +7 −25 Original line number Diff line number Diff line Loading @@ -68,10 +68,6 @@ static struct acpi_driver acpi_fan_driver = { }, }; struct acpi_fan { struct acpi_device * device; }; /* -------------------------------------------------------------------------- FS Interface (/proc) -------------------------------------------------------------------------- */ Loading @@ -80,12 +76,12 @@ static struct proc_dir_entry *acpi_fan_dir; static int acpi_fan_read_state(struct seq_file *seq, void *offset) { struct acpi_fan *fan = seq->private; struct acpi_device *device = seq->private; int state = 0; if (fan) { if (acpi_bus_get_power(fan->device->handle, &state)) if (device) { if (acpi_bus_get_power(device->handle, &state)) seq_printf(seq, "status: ERROR\n"); else seq_printf(seq, "status: %s\n", Loading @@ -105,11 +101,10 @@ acpi_fan_write_state(struct file *file, const char __user * buffer, { int result = 0; struct seq_file *m = file->private_data; struct acpi_fan *fan = m->private; struct acpi_device *device = m->private; char state_string[12] = { '\0' }; if (!fan || (count > sizeof(state_string) - 1)) if (count > sizeof(state_string) - 1) return -EINVAL; if (copy_from_user(state_string, buffer, count)) Loading @@ -117,7 +112,7 @@ acpi_fan_write_state(struct file *file, const char __user * buffer, state_string[count] = '\0'; result = acpi_bus_set_power(fan->device->handle, result = acpi_bus_set_power(device->handle, simple_strtoul(state_string, NULL, 0)); if (result) return result; Loading Loading @@ -158,7 +153,7 @@ static int acpi_fan_add_fs(struct acpi_device *device) return -ENODEV; else { entry->proc_fops = &acpi_fan_state_ops; entry->data = acpi_driver_data(device); entry->data = device; entry->owner = THIS_MODULE; } Loading Loading @@ -191,14 +186,8 @@ static int acpi_fan_add(struct acpi_device *device) if (!device) return -EINVAL; fan = kzalloc(sizeof(struct acpi_fan), GFP_KERNEL); if (!fan) return -ENOMEM; fan->device = device; strcpy(acpi_device_name(device), "Fan"); strcpy(acpi_device_class(device), ACPI_FAN_CLASS); acpi_driver_data(device) = fan; result = acpi_bus_get_power(device->handle, &state); if (result) { Loading Loading @@ -227,18 +216,11 @@ static int acpi_fan_add(struct acpi_device *device) static int acpi_fan_remove(struct acpi_device *device, int type) { struct acpi_fan *fan = NULL; if (!device || !acpi_driver_data(device)) return -EINVAL; fan = acpi_driver_data(device); acpi_fan_remove_fs(device); kfree(fan); return 0; } Loading Loading
drivers/acpi/fan.c +7 −25 Original line number Diff line number Diff line Loading @@ -68,10 +68,6 @@ static struct acpi_driver acpi_fan_driver = { }, }; struct acpi_fan { struct acpi_device * device; }; /* -------------------------------------------------------------------------- FS Interface (/proc) -------------------------------------------------------------------------- */ Loading @@ -80,12 +76,12 @@ static struct proc_dir_entry *acpi_fan_dir; static int acpi_fan_read_state(struct seq_file *seq, void *offset) { struct acpi_fan *fan = seq->private; struct acpi_device *device = seq->private; int state = 0; if (fan) { if (acpi_bus_get_power(fan->device->handle, &state)) if (device) { if (acpi_bus_get_power(device->handle, &state)) seq_printf(seq, "status: ERROR\n"); else seq_printf(seq, "status: %s\n", Loading @@ -105,11 +101,10 @@ acpi_fan_write_state(struct file *file, const char __user * buffer, { int result = 0; struct seq_file *m = file->private_data; struct acpi_fan *fan = m->private; struct acpi_device *device = m->private; char state_string[12] = { '\0' }; if (!fan || (count > sizeof(state_string) - 1)) if (count > sizeof(state_string) - 1) return -EINVAL; if (copy_from_user(state_string, buffer, count)) Loading @@ -117,7 +112,7 @@ acpi_fan_write_state(struct file *file, const char __user * buffer, state_string[count] = '\0'; result = acpi_bus_set_power(fan->device->handle, result = acpi_bus_set_power(device->handle, simple_strtoul(state_string, NULL, 0)); if (result) return result; Loading Loading @@ -158,7 +153,7 @@ static int acpi_fan_add_fs(struct acpi_device *device) return -ENODEV; else { entry->proc_fops = &acpi_fan_state_ops; entry->data = acpi_driver_data(device); entry->data = device; entry->owner = THIS_MODULE; } Loading Loading @@ -191,14 +186,8 @@ static int acpi_fan_add(struct acpi_device *device) if (!device) return -EINVAL; fan = kzalloc(sizeof(struct acpi_fan), GFP_KERNEL); if (!fan) return -ENOMEM; fan->device = device; strcpy(acpi_device_name(device), "Fan"); strcpy(acpi_device_class(device), ACPI_FAN_CLASS); acpi_driver_data(device) = fan; result = acpi_bus_get_power(device->handle, &state); if (result) { Loading Loading @@ -227,18 +216,11 @@ static int acpi_fan_add(struct acpi_device *device) static int acpi_fan_remove(struct acpi_device *device, int type) { struct acpi_fan *fan = NULL; if (!device || !acpi_driver_data(device)) return -EINVAL; fan = acpi_driver_data(device); acpi_fan_remove_fs(device); kfree(fan); return 0; } Loading