[PATCH v2 0/9] cpuidle: rework device state count handling

From: Bartlomiej Zolnierkiewicz
Date: Fri Dec 20 2013 - 13:48:02 EST


Hi,

Some cpuidle drivers assume that cpuidle core will handle cases where
device->state_count is smaller than driver->state_count, unfortunately
currently this is untrue (device->state_count is used only for handling
cpuidle state sysfs entries and driver->state_count is used for all
other cases) and will not be fixed in the future as device->state_count
is planned to be removed [1].

This patchset fixes such drivers (ARM EXYNOS cpuidle driver and ACPI
cpuidle driver), removes superflous device->state_count initialization
from drivers for which device->state_count equals driver->state_count
(POWERPC pseries cpuidle driver and intel_idle driver) and finally
removes state_count field from struct cpuidle_device.

Additionaly (while at it) this patchset fixes C1E promotion disable
quirk handling (in intel_idle driver) and converts cpuidle drivers code
to use the common cpuidle_[un]register() routines (in POWERPC pseries
cpuidle driver and intel_idle driver).

[1] http://permalink.gmane.org/gmane.linux.power-management.general/36908

Reference to v1:
http://comments.gmane.org/gmane.linux.power-management.general/37390

Changes since v1:
- synced patch series with next-20131220
- added ACKs from Daniel Lezcano

Best regards,
--
Bartlomiej Zolnierkiewicz
Samsung R&D Institute Poland
Samsung Electronics


Bartlomiej Zolnierkiewicz (9):
ARM: EXYNOS: cpuidle: fix AFTR mode check
POWERPC: pseries: cpuidle: remove superfluous dev->state_count
initialization
POWERPC: pseries: cpuidle: use the common cpuidle_[un]register()
routines
ACPI / cpuidle: fix max idle state handling with hotplug CPU support
ACPI / cpuidle: remove dev->state_count setting
intel_idle: do C1E promotion disable quirk for hotplugged CPUs
intel_idle: remove superfluous dev->state_count initialization
intel_idle: use the common cpuidle_[un]register() routines
cpuidle: remove state_count field from struct cpuidle_device

arch/arm/mach-exynos/cpuidle.c | 8 +-
arch/powerpc/platforms/pseries/processor_idle.c | 59 +---------
drivers/acpi/processor_idle.c | 29 +++--
drivers/cpuidle/cpuidle.c | 3 -
drivers/cpuidle/sysfs.c | 5 +-
drivers/idle/intel_idle.c | 140 +++++-------------------
include/linux/cpuidle.h | 1 -
7 files changed, 51 insertions(+), 194 deletions(-)

--
1.8.2.3

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/