diff options
| author | David S. Miller <davem@davemloft.net> | 2017-01-09 15:39:11 -0500 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2017-01-09 15:39:11 -0500 |
| commit | bb1d3034449ed08e2ffbf5813a5ad9fa30475359 (patch) | |
| tree | a48cc17fc4683b5fdc1656ac71639540bd8852e2 /drivers/firmware | |
| parent | 3b647be2bfcd95d6d0feba245ccc3966c73ccc52 (diff) | |
| parent | 811a919135b980bac8009d042acdccf10dc1ef5e (diff) | |
| download | linux-bb1d3034449ed08e2ffbf5813a5ad9fa30475359.tar.bz2 | |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Diffstat (limited to 'drivers/firmware')
| -rw-r--r-- | drivers/firmware/arm_scpi.c | 10 | ||||
| -rw-r--r-- | drivers/firmware/psci_checker.c | 4 |
2 files changed, 10 insertions, 4 deletions
diff --git a/drivers/firmware/arm_scpi.c b/drivers/firmware/arm_scpi.c index 70e13230d8db..9ad0b1934be9 100644 --- a/drivers/firmware/arm_scpi.c +++ b/drivers/firmware/arm_scpi.c @@ -721,11 +721,17 @@ static int scpi_sensor_get_value(u16 sensor, u64 *val) ret = scpi_send_message(CMD_SENSOR_VALUE, &id, sizeof(id), &buf, sizeof(buf)); - if (!ret) + if (ret) + return ret; + + if (scpi_info->is_legacy) + /* only 32-bits supported, hi_val can be junk */ + *val = le32_to_cpu(buf.lo_val); + else *val = (u64)le32_to_cpu(buf.hi_val) << 32 | le32_to_cpu(buf.lo_val); - return ret; + return 0; } static int scpi_device_get_power_state(u16 dev_id) diff --git a/drivers/firmware/psci_checker.c b/drivers/firmware/psci_checker.c index 44bdb78f837b..29d58feaf675 100644 --- a/drivers/firmware/psci_checker.c +++ b/drivers/firmware/psci_checker.c @@ -270,8 +270,7 @@ static int suspend_test_thread(void *arg) struct cpuidle_device *dev; struct cpuidle_driver *drv; /* No need for an actual callback, we just want to wake up the CPU. */ - struct timer_list wakeup_timer = - TIMER_INITIALIZER(dummy_callback, 0, 0); + struct timer_list wakeup_timer; /* Wait for the main thread to give the start signal. */ wait_for_completion(&suspend_threads_started); @@ -287,6 +286,7 @@ static int suspend_test_thread(void *arg) pr_info("CPU %d entering suspend cycles, states 1 through %d\n", cpu, drv->state_count - 1); + setup_timer_on_stack(&wakeup_timer, dummy_callback, 0); for (i = 0; i < NUM_SUSPEND_CYCLE; ++i) { int index; /* |