Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 54c0a8a8 authored by Rafael J. Wysocki's avatar Rafael J. Wysocki
Browse files

Merge branch 'cpuidle/4.4' of http://git.linaro.org/people/daniel.lezcano/linux into pm-cpuidle

Pull ARM cpuidle changes for v4.4 from Daniel Lezcano.

* 'cpuidle/4.4' of http://git.linaro.org/people/daniel.lezcano/linux:
  cpuidle: mvebu: disable the bind/unbind attributes and use builtin_platform_driver
  cpuidle: mvebu: clean up multiple platform drivers
parents 32b88194 ab319939
Loading
Loading
Loading
Loading
+21 −25
Original line number Diff line number Diff line
@@ -99,44 +99,40 @@ static struct cpuidle_driver armada38x_idle_driver = {

static int mvebu_v7_cpuidle_probe(struct platform_device *pdev)
{
	mvebu_v7_cpu_suspend = pdev->dev.platform_data;
	const struct platform_device_id *id = pdev->id_entry;

	if (!strcmp(pdev->dev.driver->name, "cpuidle-armada-xp"))
		return cpuidle_register(&armadaxp_idle_driver, NULL);
	else if (!strcmp(pdev->dev.driver->name, "cpuidle-armada-370"))
		return cpuidle_register(&armada370_idle_driver, NULL);
	else if (!strcmp(pdev->dev.driver->name, "cpuidle-armada-38x"))
		return cpuidle_register(&armada38x_idle_driver, NULL);
	else
	if (!id)
		return -EINVAL;
}

static struct platform_driver armadaxp_cpuidle_plat_driver = {
	.driver = {
		.name = "cpuidle-armada-xp",
	},
	.probe = mvebu_v7_cpuidle_probe,
};
	mvebu_v7_cpu_suspend = pdev->dev.platform_data;

module_platform_driver(armadaxp_cpuidle_plat_driver);
	return cpuidle_register((struct cpuidle_driver *)id->driver_data, NULL);
}

static struct platform_driver armada370_cpuidle_plat_driver = {
	.driver = {
static const struct platform_device_id mvebu_cpuidle_ids[] = {
	{
		.name = "cpuidle-armada-xp",
		.driver_data = (unsigned long)&armadaxp_idle_driver,
	}, {
		.name = "cpuidle-armada-370",
		.driver_data = (unsigned long)&armada370_idle_driver,
	}, {
		.name = "cpuidle-armada-38x",
		.driver_data = (unsigned long)&armada38x_idle_driver,
	},
	.probe = mvebu_v7_cpuidle_probe,
	{}
};

module_platform_driver(armada370_cpuidle_plat_driver);

static struct platform_driver armada38x_cpuidle_plat_driver = {
static struct platform_driver mvebu_cpuidle_driver = {
	.probe = mvebu_v7_cpuidle_probe,
	.driver = {
		.name = "cpuidle-armada-38x",
		.name = "cpuidle-mbevu",
		.suppress_bind_attrs = true,
	},
	.probe = mvebu_v7_cpuidle_probe,
	.id_table = mvebu_cpuidle_ids,
};

module_platform_driver(armada38x_cpuidle_plat_driver);
builtin_platform_driver(mvebu_cpuidle_driver);

MODULE_AUTHOR("Gregory CLEMENT <gregory.clement@free-electrons.com>");
MODULE_DESCRIPTION("Marvell EBU v7 cpuidle driver");