Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1699714 > unrolled thread

[PATCH v2] bus: uniphier-system-bus: set up registers when resuming

Started byMasahiro Yamada <yamada.masahiro@socionext.com>
First post2017-07-31 08:00 +0200
Last post2017-08-04 13:00 +0200
Articles 2 — 2 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH v2] bus: uniphier-system-bus: set up registers when resuming Masahiro Yamada <yamada.masahiro@socionext.com> - 2017-07-31 08:00 +0200
    Re: [PATCH v2] bus: uniphier-system-bus: set up registers when resuming Arnd Bergmann <arnd@arndb.de> - 2017-08-04 13:00 +0200

#1699714 — [PATCH v2] bus: uniphier-system-bus: set up registers when resuming

FromMasahiro Yamada <yamada.masahiro@socionext.com>
Date2017-07-31 08:00 +0200
Subject[PATCH v2] bus: uniphier-system-bus: set up registers when resuming
Message-ID<u9bUe-2kb-9@gated-at.bofh.it>
When resuming, set up registers that have been lost in the sleep state.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
---

Changes in v2:
  - Fix define but not used warning

 drivers/bus/uniphier-system-bus.c | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/drivers/bus/uniphier-system-bus.c b/drivers/bus/uniphier-system-bus.c
index 1e6e0269edcc..f76be6bd6eb3 100644
--- a/drivers/bus/uniphier-system-bus.c
+++ b/drivers/bus/uniphier-system-bus.c
@@ -256,10 +256,23 @@ static int uniphier_system_bus_probe(struct platform_device *pdev)
 
 	uniphier_system_bus_set_reg(priv);
 
+	platform_set_drvdata(pdev, priv);
+
 	/* Now, the bus is configured.  Populate platform_devices below it */
 	return of_platform_default_populate(dev->of_node, NULL, dev);
 }
 
+static int __maybe_unused uniphier_system_bus_resume(struct device *dev)
+{
+	uniphier_system_bus_set_reg(dev_get_drvdata(dev));
+
+	return 0;
+}
+
+static const struct dev_pm_ops uniphier_system_bus_pm_ops = {
+	SET_SYSTEM_SLEEP_PM_OPS(NULL, uniphier_system_bus_resume)
+};
+
 static const struct of_device_id uniphier_system_bus_match[] = {
 	{ .compatible = "socionext,uniphier-system-bus" },
 	{ /* sentinel */ }
@@ -271,6 +284,7 @@ static struct platform_driver uniphier_system_bus_driver = {
 	.driver = {
 		.name	= "uniphier-system-bus",
 		.of_match_table = uniphier_system_bus_match,
+		.pm = &uniphier_system_bus_pm_ops,
 	},
 };
 module_platform_driver(uniphier_system_bus_driver);
-- 
2.7.4

[toc] | [next] | [standalone]


#1703868

FromArnd Bergmann <arnd@arndb.de>
Date2017-08-04 13:00 +0200
Message-ID<uaIuK-5VL-11@gated-at.bofh.it>
In reply to#1699714
On Mon, Jul 31, 2017 at 7:49 AM, Masahiro Yamada
<yamada.masahiro@socionext.com> wrote:
> When resuming, set up registers that have been lost in the sleep state.
>
> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>

Applied to fixes. I assume you want this in 4.13, but not backported
to stable kernels.
If that is incorrect, please let me know. Ideally that information
should be in the email
though, after the --- line.

Thanks,

       Arnd

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web