Commit e8433659 authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman
Browse files

Revert "drivers: bus: simple-pm-bus: Use clocks"

This reverts commit 882cf4c9 as it
breaks the build in linux-next.

Link: https://lore.kernel.org/r/20221114181752.08a850f0@canb.auug.org.au


Reported-by: default avatarStephen Rothwell <sfr@canb.auug.org.au>
Cc: Geert Uytterhoeven <geert+renesas@glider.be>
Cc: Liu Ying <victor.liu@nxp.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 282a4b71
Loading
Loading
Loading
Loading
+0 −48
Original line number Diff line number Diff line
@@ -8,24 +8,17 @@
 * for more details.
 */

#include <linux/clk.h>
#include <linux/module.h>
#include <linux/of_platform.h>
#include <linux/platform_device.h>
#include <linux/pm_runtime.h>

struct simple_pm_bus {
	struct clk_bulk_data *clks;
	int num_clks;
};

static int simple_pm_bus_probe(struct platform_device *pdev)
{
	const struct device *dev = &pdev->dev;
	const struct of_dev_auxdata *lookup = dev_get_platdata(dev);
	struct device_node *np = dev->of_node;
	const struct of_device_id *match;
	struct simple_pm_bus *bus;

	/*
	 * Allow user to use driver_override to bind this driver to a
@@ -51,16 +44,6 @@ static int simple_pm_bus_probe(struct platform_device *pdev)
			return -ENODEV;
	}

	bus = devm_kzalloc(&pdev->dev, sizeof(*bus), GFP_KERNEL);
	if (!bus)
		return -ENOMEM;

	bus->num_clks = devm_clk_bulk_get_all(&pdev->dev, &bus->clks);
	if (bus->num_clks < 0)
		return dev_err_probe(&pdev->dev, bus->num_clks, "failed to get clocks\n");

	dev_set_drvdata(&pdev->dev, bus);

	dev_dbg(&pdev->dev, "%s\n", __func__);

	pm_runtime_enable(&pdev->dev);
@@ -84,36 +67,6 @@ static int simple_pm_bus_remove(struct platform_device *pdev)
	return 0;
}

static int simple_pm_bus_runtime_suspend(struct device *dev)
{
	struct simple_pm_bus *bus = dev_get_drvdata(dev);

	clk_bulk_disable_unprepare(bus->num_clks, bus->clks);

	return 0;
}

static int simple_pm_bus_runtime_resume(struct device *dev)
{
	struct simple_pm_bus *bus = dev_get_drvdata(dev);
	int ret;

	ret = clk_bulk_prepare_enable(bus->num_clks, bus->clks);
	if (ret) {
		dev_err(dev, "failed to enable clocks: %d\n", ret);
		return ret;
	}

	return 0;
}

static const struct dev_pm_ops simple_pm_bus_pm_ops = {
	SET_RUNTIME_PM_OPS(simple_pm_bus_runtime_suspend,
			   simple_pm_bus_runtime_resume, NULL)
	SET_NOIRQ_SYSTEM_SLEEP_PM_OPS(pm_runtime_force_suspend,
				      pm_runtime_force_resume)
};

#define ONLY_BUS	((void *) 1) /* Match if the device is only a bus. */

static const struct of_device_id simple_pm_bus_of_match[] = {
@@ -132,7 +85,6 @@ static struct platform_driver simple_pm_bus_driver = {
	.driver = {
		.name = "simple-pm-bus",
		.of_match_table = simple_pm_bus_of_match,
		.pm = &simple_pm_bus_pm_ops,
	},
};