Loading drivers/acpi/battery.c +30 −17 Original line number Diff line number Diff line Loading @@ -129,14 +129,13 @@ struct acpi_battery_flags { }; struct acpi_battery { struct mutex mutex; struct acpi_device *device; struct acpi_battery_flags flags; struct acpi_buffer bif_data; struct acpi_buffer bst_data; struct mutex lock; unsigned long alarm; unsigned long update_time[ACPI_BATTERY_NUMFILES]; }; inline int acpi_battery_present(struct acpi_battery *battery) Loading Loading @@ -236,10 +235,10 @@ static int acpi_battery_get_info(struct acpi_battery *battery) return 0; /* Evaluate _BIF */ mutex_lock(&battery->lock); status = acpi_evaluate_object(acpi_battery_handle(battery), "_BIF", NULL, &buffer); mutex_unlock(&battery->lock); status = acpi_evaluate_object(acpi_battery_handle(battery), "_BIF", NULL, &buffer); if (ACPI_FAILURE(status)) { ACPI_EXCEPTION((AE_INFO, status, "Evaluating _BIF")); return -ENODEV; Loading Loading @@ -286,10 +285,10 @@ static int acpi_battery_get_state(struct acpi_battery *battery) return 0; /* Evaluate _BST */ mutex_lock(&battery->lock); status = acpi_evaluate_object(acpi_battery_handle(battery), "_BST", NULL, &buffer); mutex_unlock(&battery->lock); status = acpi_evaluate_object(acpi_battery_handle(battery), "_BST", NULL, &buffer); if (ACPI_FAILURE(status)) { ACPI_EXCEPTION((AE_INFO, status, "Evaluating _BST")); return -ENODEV; Loading Loading @@ -337,10 +336,9 @@ static int acpi_battery_set_alarm(struct acpi_battery *battery, arg0.integer.value = alarm; mutex_lock(&battery->lock); status = acpi_evaluate_object(acpi_battery_handle(battery), "_BTP", status = acpi_evaluate_object(acpi_battery_handle(battery), "_BTP", &arg_list, NULL); mutex_unlock(&battery->lock); if (ACPI_FAILURE(status)) return -ENODEV; Loading Loading @@ -660,6 +658,8 @@ acpi_battery_write_alarm(struct file *file, if (!battery || (count > sizeof(alarm_string) - 1)) return -EINVAL; mutex_lock(&battery->mutex); result = acpi_battery_update(battery, 1, &update_result); if (result) { result = -ENODEV; Loading Loading @@ -688,7 +688,9 @@ acpi_battery_write_alarm(struct file *file, acpi_battery_check_result(battery, result); if (!result) return count; result = count; mutex_unlock(&battery->mutex); return result; } Loading @@ -712,6 +714,8 @@ static int acpi_battery_read(int fid, struct seq_file *seq) int update_result = ACPI_BATTERY_NONE_UPDATE; int update = 0; mutex_lock(&battery->mutex); update = (get_seconds() - battery->update_time[fid] >= update_time); update = (update | battery->flags.update[fid]); Loading @@ -729,6 +733,7 @@ static int acpi_battery_read(int fid, struct seq_file *seq) result = acpi_read_funcs[fid].print(seq, result); acpi_battery_check_result(battery, result); battery->flags.update[fid] = result; mutex_unlock(&battery->mutex); return result; } Loading Loading @@ -892,7 +897,10 @@ static int acpi_battery_add(struct acpi_device *device) if (!battery) return -ENOMEM; mutex_init(&battery->lock); mutex_init(&battery->mutex); mutex_lock(&battery->mutex); battery->device = device; strcpy(acpi_device_name(device), ACPI_BATTERY_DEVICE_NAME); strcpy(acpi_device_class(device), ACPI_BATTERY_CLASS); Loading Loading @@ -928,6 +936,7 @@ static int acpi_battery_add(struct acpi_device *device) kfree(battery); } mutex_unlock(&battery->mutex); return result; } Loading @@ -942,6 +951,8 @@ static int acpi_battery_remove(struct acpi_device *device, int type) battery = acpi_driver_data(device); mutex_lock(&battery->mutex); status = acpi_remove_notify_handler(device->handle, ACPI_ALL_NOTIFY, acpi_battery_notify); Loading @@ -952,7 +963,9 @@ static int acpi_battery_remove(struct acpi_device *device, int type) kfree(battery->bst_data.pointer); mutex_destroy(&battery->lock); mutex_unlock(&battery->mutex); mutex_destroy(&battery->mutex); kfree(battery); Loading Loading
drivers/acpi/battery.c +30 −17 Original line number Diff line number Diff line Loading @@ -129,14 +129,13 @@ struct acpi_battery_flags { }; struct acpi_battery { struct mutex mutex; struct acpi_device *device; struct acpi_battery_flags flags; struct acpi_buffer bif_data; struct acpi_buffer bst_data; struct mutex lock; unsigned long alarm; unsigned long update_time[ACPI_BATTERY_NUMFILES]; }; inline int acpi_battery_present(struct acpi_battery *battery) Loading Loading @@ -236,10 +235,10 @@ static int acpi_battery_get_info(struct acpi_battery *battery) return 0; /* Evaluate _BIF */ mutex_lock(&battery->lock); status = acpi_evaluate_object(acpi_battery_handle(battery), "_BIF", NULL, &buffer); mutex_unlock(&battery->lock); status = acpi_evaluate_object(acpi_battery_handle(battery), "_BIF", NULL, &buffer); if (ACPI_FAILURE(status)) { ACPI_EXCEPTION((AE_INFO, status, "Evaluating _BIF")); return -ENODEV; Loading Loading @@ -286,10 +285,10 @@ static int acpi_battery_get_state(struct acpi_battery *battery) return 0; /* Evaluate _BST */ mutex_lock(&battery->lock); status = acpi_evaluate_object(acpi_battery_handle(battery), "_BST", NULL, &buffer); mutex_unlock(&battery->lock); status = acpi_evaluate_object(acpi_battery_handle(battery), "_BST", NULL, &buffer); if (ACPI_FAILURE(status)) { ACPI_EXCEPTION((AE_INFO, status, "Evaluating _BST")); return -ENODEV; Loading Loading @@ -337,10 +336,9 @@ static int acpi_battery_set_alarm(struct acpi_battery *battery, arg0.integer.value = alarm; mutex_lock(&battery->lock); status = acpi_evaluate_object(acpi_battery_handle(battery), "_BTP", status = acpi_evaluate_object(acpi_battery_handle(battery), "_BTP", &arg_list, NULL); mutex_unlock(&battery->lock); if (ACPI_FAILURE(status)) return -ENODEV; Loading Loading @@ -660,6 +658,8 @@ acpi_battery_write_alarm(struct file *file, if (!battery || (count > sizeof(alarm_string) - 1)) return -EINVAL; mutex_lock(&battery->mutex); result = acpi_battery_update(battery, 1, &update_result); if (result) { result = -ENODEV; Loading Loading @@ -688,7 +688,9 @@ acpi_battery_write_alarm(struct file *file, acpi_battery_check_result(battery, result); if (!result) return count; result = count; mutex_unlock(&battery->mutex); return result; } Loading @@ -712,6 +714,8 @@ static int acpi_battery_read(int fid, struct seq_file *seq) int update_result = ACPI_BATTERY_NONE_UPDATE; int update = 0; mutex_lock(&battery->mutex); update = (get_seconds() - battery->update_time[fid] >= update_time); update = (update | battery->flags.update[fid]); Loading @@ -729,6 +733,7 @@ static int acpi_battery_read(int fid, struct seq_file *seq) result = acpi_read_funcs[fid].print(seq, result); acpi_battery_check_result(battery, result); battery->flags.update[fid] = result; mutex_unlock(&battery->mutex); return result; } Loading Loading @@ -892,7 +897,10 @@ static int acpi_battery_add(struct acpi_device *device) if (!battery) return -ENOMEM; mutex_init(&battery->lock); mutex_init(&battery->mutex); mutex_lock(&battery->mutex); battery->device = device; strcpy(acpi_device_name(device), ACPI_BATTERY_DEVICE_NAME); strcpy(acpi_device_class(device), ACPI_BATTERY_CLASS); Loading Loading @@ -928,6 +936,7 @@ static int acpi_battery_add(struct acpi_device *device) kfree(battery); } mutex_unlock(&battery->mutex); return result; } Loading @@ -942,6 +951,8 @@ static int acpi_battery_remove(struct acpi_device *device, int type) battery = acpi_driver_data(device); mutex_lock(&battery->mutex); status = acpi_remove_notify_handler(device->handle, ACPI_ALL_NOTIFY, acpi_battery_notify); Loading @@ -952,7 +963,9 @@ static int acpi_battery_remove(struct acpi_device *device, int type) kfree(battery->bst_data.pointer); mutex_destroy(&battery->lock); mutex_unlock(&battery->mutex); mutex_destroy(&battery->mutex); kfree(battery); Loading