Skip to content

Commit

Permalink
Merge branch 'acpi-fixes'
Browse files Browse the repository at this point in the history
* acpi-fixes:
  ACPI / power: add missing newline to debug messages
  ACPI / fan: Initialize acpi_state variable
  ACPI / scan: remove unused LIST_HEAD(acpi_device_list)
  ACPI / dock: Actually define acpi_dock_init() as void
  ACPI / PM: Fix corner case in acpi_bus_update_power()
  • Loading branch information
Rafael J. Wysocki committed Jul 8, 2013
2 parents 85a229f + 10a0b61 commit 37998bb
Show file tree
Hide file tree
Showing 5 changed files with 24 additions and 13 deletions.
23 changes: 18 additions & 5 deletions drivers/acpi/device_pm.c
Original file line number Diff line number Diff line change
Expand Up @@ -324,14 +324,27 @@ int acpi_bus_update_power(acpi_handle handle, int *state_p)
if (result)
return result;

if (state == ACPI_STATE_UNKNOWN)
if (state == ACPI_STATE_UNKNOWN) {
state = ACPI_STATE_D0;

result = acpi_device_set_power(device, state);
if (!result && state_p)
result = acpi_device_set_power(device, state);
if (result)
return result;
} else {
if (device->power.flags.power_resources) {
/*
* We don't need to really switch the state, bu we need
* to update the power resources' reference counters.
*/
result = acpi_power_transition(device, state);
if (result)
return result;
}
device->power.state = state;
}
if (state_p)
*state_p = state;

return result;
return 0;
}
EXPORT_SYMBOL_GPL(acpi_bus_update_power);

Expand Down
7 changes: 3 additions & 4 deletions drivers/acpi/dock.c
Original file line number Diff line number Diff line change
Expand Up @@ -1064,22 +1064,21 @@ find_dock_and_bay(acpi_handle handle, u32 lvl, void *context, void **rv)
return AE_OK;
}

int __init acpi_dock_init(void)
void __init acpi_dock_init(void)
{
if (acpi_disabled)
return 0;
return;

/* look for dock stations and bays */
acpi_walk_namespace(ACPI_TYPE_DEVICE, ACPI_ROOT_OBJECT,
ACPI_UINT32_MAX, find_dock_and_bay, NULL, NULL, NULL);

if (!dock_station_count) {
pr_info(PREFIX "No dock devices found.\n");
return 0;
return;
}

register_acpi_bus_notifier(&dock_acpi_notifier);
pr_info(PREFIX "%s: %d docks/bays found\n",
ACPI_DOCK_DRIVER_DESCRIPTION, dock_station_count);
return 0;
}
2 changes: 1 addition & 1 deletion drivers/acpi/fan.c
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ static int fan_get_cur_state(struct thermal_cooling_device *cdev, unsigned long
{
struct acpi_device *device = cdev->devdata;
int result;
int acpi_state;
int acpi_state = ACPI_STATE_D0;

if (!device)
return -EINVAL;
Expand Down
4 changes: 2 additions & 2 deletions drivers/acpi/power.c
Original file line number Diff line number Diff line change
Expand Up @@ -279,7 +279,7 @@ static int acpi_power_on_unlocked(struct acpi_power_resource *resource)

if (resource->ref_count++) {
ACPI_DEBUG_PRINT((ACPI_DB_INFO,
"Power resource [%s] already on",
"Power resource [%s] already on\n",
resource->name));
} else {
result = __acpi_power_on(resource);
Expand Down Expand Up @@ -325,7 +325,7 @@ static int acpi_power_off_unlocked(struct acpi_power_resource *resource)

if (!resource->ref_count) {
ACPI_DEBUG_PRINT((ACPI_DB_INFO,
"Power resource [%s] already off",
"Power resource [%s] already off\n",
resource->name));
return 0;
}
Expand Down
1 change: 0 additions & 1 deletion drivers/acpi/scan.c
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,6 @@ bool acpi_force_hot_remove;

static const char *dummy_hid = "device";

static LIST_HEAD(acpi_device_list);
static LIST_HEAD(acpi_bus_id_list);
static DEFINE_MUTEX(acpi_scan_lock);
static LIST_HEAD(acpi_scan_handlers_list);
Expand Down

0 comments on commit 37998bb

Please sign in to comment.