* [PATCH v4 0/2] Handle reboot for Exynos SoC via restart_handler
@ 2014-11-17 11:21 Pankaj Dubey
2014-11-17 11:21 ` [PATCH v4 1/2] clk: samsung: exynos5440: move restart code into clock driver Pankaj Dubey
2014-11-17 11:21 ` [PATCH v4 2/2] ARM: EXYNOS: PMU: move restart code into pmu driver Pankaj Dubey
0 siblings, 2 replies; 6+ messages in thread
From: Pankaj Dubey @ 2014-11-17 11:21 UTC (permalink / raw)
To: linux-arm-kernel
This patch removes restart hook from machine_desc of Exynos, and moves
respective code into restart_notifiers.
Exynos5440 handles reboot via clock register so let's register a
restart_handler in Exynos5440 clock driver.
For rest Exynos SoC, reboot is handled via PMU SWRESET register so
let's register a restart_handler in PMU driver for handling this.
This patch is inspired and dependent on following patch series[1] from
Geunter Roeck.
[1]: kernel: Add support for kernel restart handler call chain
https://lkml.org/lkml/2014/8/19/652
I have tested reboot functionality on Exynos3250 based board, on
kgene/for-next as well as linux-next's next-20141114 tag.
Patch v3 and related discussion can be found here
http://www.spinics.net/lists/linux-samsung-soc/msg37600.html
Changes since v3:
- As v2 is causing conflict after recent changes in kgene/for-next,
rebased on top of kgene/for-next dated 2014-11-13.
- Removed dependency patch list from cover-letter as all dependencies
are merged into kgene/for-next.
Changes since v2:
- Used register_restart_handler instead of register_reboot_notifier.
- Updated notifier names and commit message accordingly.
Changes since v1:
- Addressed review comments from Tomasz Figa. Removed usage of
local variables where ever unnecessary.
- Make reg_base as global in clk-exynos5440.c file, to avoid
iomapping it again in reboot_notifier handler.
Pankaj Dubey (2):
clk: samsung: exynos5440: move restart code into clock driver
ARM: EXYNOS: PMU: move restart code into pmu driver
arch/arm/mach-exynos/common.h | 1 -
arch/arm/mach-exynos/exynos.c | 23 -----------------------
arch/arm/mach-exynos/pmu.c | 23 +++++++++++++++++++++++
drivers/clk/samsung/clk-exynos5440.c | 29 ++++++++++++++++++++++++++++-
4 files changed, 51 insertions(+), 25 deletions(-)
--
1.7.9.5
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH v4 1/2] clk: samsung: exynos5440: move restart code into clock driver
2014-11-17 11:21 [PATCH v4 0/2] Handle reboot for Exynos SoC via restart_handler Pankaj Dubey
@ 2014-11-17 11:21 ` Pankaj Dubey
2014-11-17 16:45 ` Guenter Roeck
2014-11-17 11:21 ` [PATCH v4 2/2] ARM: EXYNOS: PMU: move restart code into pmu driver Pankaj Dubey
1 sibling, 1 reply; 6+ messages in thread
From: Pankaj Dubey @ 2014-11-17 11:21 UTC (permalink / raw)
To: linux-arm-kernel
Let's register restart handler for Exynos5440 from it's clock driver
for reboot functionality. So that we can cleanup restart hooks from
machine specific file.
CC: Sylwester Nawrocki <s.nawrocki@samsung.com>
CC: Tomasz Figa <tomasz.figa@gmail.com>
Signed-off-by: Pankaj Dubey <pankaj.dubey@samsung.com>
---
arch/arm/mach-exynos/exynos.c | 19 +------------------
drivers/clk/samsung/clk-exynos5440.c | 29 ++++++++++++++++++++++++++++-
2 files changed, 29 insertions(+), 19 deletions(-)
diff --git a/arch/arm/mach-exynos/exynos.c b/arch/arm/mach-exynos/exynos.c
index 8f638ad..8f995b7 100644
--- a/arch/arm/mach-exynos/exynos.c
+++ b/arch/arm/mach-exynos/exynos.c
@@ -89,24 +89,7 @@ static struct map_desc exynos5_iodesc[] __initdata = {
static void exynos_restart(enum reboot_mode mode, const char *cmd)
{
- struct device_node *np;
- u32 val = 0x1;
- void __iomem *addr = pmu_base_addr + EXYNOS_SWRESET;
-
- if (of_machine_is_compatible("samsung,exynos5440")) {
- u32 status;
- np = of_find_compatible_node(NULL, NULL, "samsung,exynos5440-clock");
-
- addr = of_iomap(np, 0) + 0xbc;
- status = __raw_readl(addr);
-
- addr = of_iomap(np, 0) + 0xcc;
- val = __raw_readl(addr);
-
- val = (val & 0xffff0000) | (status & 0xffff);
- }
-
- __raw_writel(val, addr);
+ __raw_writel(0x1, pmu_base_addr + EXYNOS_SWRESET);
}
static struct platform_device exynos_cpuidle = {
diff --git a/drivers/clk/samsung/clk-exynos5440.c b/drivers/clk/samsung/clk-exynos5440.c
index 00d1d00..f43b925 100644
--- a/drivers/clk/samsung/clk-exynos5440.c
+++ b/drivers/clk/samsung/clk-exynos5440.c
@@ -15,6 +15,8 @@
#include <linux/clk-provider.h>
#include <linux/of.h>
#include <linux/of_address.h>
+#include <linux/notifier.h>
+#include <linux/reboot.h>
#include "clk.h"
#include "clk-pll.h"
@@ -23,6 +25,8 @@
#define CPU_CLK_STATUS 0xfc
#define MISC_DOUT1 0x558
+static void __iomem *reg_base;
+
/* parent clock name list */
PNAME(mout_armclk_p) = { "cplla", "cpllb" };
PNAME(mout_spi_p) = { "div125", "div200" };
@@ -89,10 +93,30 @@ static const struct of_device_id ext_clk_match[] __initconst = {
{},
};
+static int exynos5440_clk_restart_notify(struct notifier_block *this,
+ unsigned long code, void *unused)
+{
+ u32 val, status;
+
+ status = readl_relaxed(reg_base + 0xbc);
+ val = readl_relaxed(reg_base + 0xcc);
+ val = (val & 0xffff0000) | (status & 0xffff);
+ writel_relaxed(val, reg_base + 0xcc);
+
+ return NOTIFY_DONE;
+}
+
+/*
+ * Exynos5440 Clock reboot notifier, handles reboot functionality
+ */
+static struct notifier_block exynos5440_clk_restart_handler = {
+ .notifier_call = exynos5440_clk_restart_notify,
+ .priority = 128,
+};
+
/* register exynos5440 clocks */
static void __init exynos5440_clk_init(struct device_node *np)
{
- void __iomem *reg_base;
struct samsung_clk_provider *ctx;
reg_base = of_iomap(np, 0);
@@ -125,6 +149,9 @@ static void __init exynos5440_clk_init(struct device_node *np)
samsung_clk_of_add_provider(np, ctx);
+ if (register_restart_handler(&exynos5440_clk_restart_handler))
+ pr_err("exynos5440 clock can't register restart handler\n");
+
pr_info("Exynos5440: arm_clk = %ldHz\n", _get_rate("arm_clk"));
pr_info("exynos5440 clock initialization complete\n");
}
--
1.7.9.5
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH v4 2/2] ARM: EXYNOS: PMU: move restart code into pmu driver
2014-11-17 11:21 [PATCH v4 0/2] Handle reboot for Exynos SoC via restart_handler Pankaj Dubey
2014-11-17 11:21 ` [PATCH v4 1/2] clk: samsung: exynos5440: move restart code into clock driver Pankaj Dubey
@ 2014-11-17 11:21 ` Pankaj Dubey
2014-11-17 16:41 ` Guenter Roeck
1 sibling, 1 reply; 6+ messages in thread
From: Pankaj Dubey @ 2014-11-17 11:21 UTC (permalink / raw)
To: linux-arm-kernel
Let's register restart handler from PMU driver for reboot
functionality. So that we can remove restart hooks from
machine specific file, and thus moving ahead when PMU moved
to driver folder, this functionality can be reused for ARM64
based Exynos SoC's.
Signed-off-by: Pankaj Dubey <pankaj.dubey@samsung.com>
---
arch/arm/mach-exynos/common.h | 1 -
arch/arm/mach-exynos/exynos.c | 6 ------
arch/arm/mach-exynos/pmu.c | 23 +++++++++++++++++++++++
3 files changed, 23 insertions(+), 7 deletions(-)
diff --git a/arch/arm/mach-exynos/common.h b/arch/arm/mach-exynos/common.h
index 431be1b..865f878 100644
--- a/arch/arm/mach-exynos/common.h
+++ b/arch/arm/mach-exynos/common.h
@@ -12,7 +12,6 @@
#ifndef __ARCH_ARM_MACH_EXYNOS_COMMON_H
#define __ARCH_ARM_MACH_EXYNOS_COMMON_H
-#include <linux/reboot.h>
#include <linux/of.h>
#define EXYNOS3250_SOC_ID 0xE3472000
diff --git a/arch/arm/mach-exynos/exynos.c b/arch/arm/mach-exynos/exynos.c
index 8f995b7..c13d083 100644
--- a/arch/arm/mach-exynos/exynos.c
+++ b/arch/arm/mach-exynos/exynos.c
@@ -87,11 +87,6 @@ static struct map_desc exynos5_iodesc[] __initdata = {
},
};
-static void exynos_restart(enum reboot_mode mode, const char *cmd)
-{
- __raw_writel(0x1, pmu_base_addr + EXYNOS_SWRESET);
-}
-
static struct platform_device exynos_cpuidle = {
.name = "exynos_cpuidle",
#ifdef CONFIG_ARM_EXYNOS_CPUIDLE
@@ -316,7 +311,6 @@ DT_MACHINE_START(EXYNOS_DT, "SAMSUNG EXYNOS (Flattened Device Tree)")
.init_machine = exynos_dt_machine_init,
.init_late = exynos_init_late,
.dt_compat = exynos_dt_compat,
- .restart = exynos_restart,
.reserve = exynos_reserve,
.dt_fixup = exynos_dt_fixup,
MACHINE_END
diff --git a/arch/arm/mach-exynos/pmu.c b/arch/arm/mach-exynos/pmu.c
index 6c8a76d..35f4062 100644
--- a/arch/arm/mach-exynos/pmu.c
+++ b/arch/arm/mach-exynos/pmu.c
@@ -11,8 +11,11 @@
#include <linux/io.h>
#include <linux/of.h>
+#include <linux/of_address.h>
#include <linux/platform_device.h>
#include <linux/delay.h>
+#include <linux/notifier.h>
+#include <linux/reboot.h>
#include "exynos-pmu.h"
@@ -716,6 +719,13 @@ static void exynos5420_pmu_init(void)
pr_info("EXYNOS5420 PMU initialized\n");
}
+static int pmu_restart_notify(struct notifier_block *this,
+ unsigned long code, void *unused)
+{
+ pmu_raw_writel(0x1, EXYNOS_SWRESET);
+
+ return NOTIFY_DONE;
+}
static const struct exynos_pmu_data exynos4210_pmu_data = {
.pmu_config = exynos4210_pmu_config,
@@ -765,11 +775,20 @@ static const struct of_device_id exynos_pmu_of_device_ids[] = {
{ /*sentinel*/ },
};
+/*
+ * Exynos PMU reboot notifier, handles reboot functionality
+ */
+static struct notifier_block pmu_restart_handler = {
+ .notifier_call = pmu_restart_notify,
+ .priority = 128,
+};
+
static int exynos_pmu_probe(struct platform_device *pdev)
{
const struct of_device_id *match;
struct device *dev = &pdev->dev;
struct resource *res;
+ int ret;
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
pmu_base_addr = devm_ioremap_resource(dev, res);
@@ -794,6 +813,10 @@ static int exynos_pmu_probe(struct platform_device *pdev)
platform_set_drvdata(pdev, pmu_context);
+ ret = register_restart_handler(&pmu_restart_handler);
+ if (ret)
+ dev_err(dev, "can't register restart handler err=%d\n", ret);
+
dev_dbg(dev, "Exynos PMU Driver probe done\n");
return 0;
}
--
1.7.9.5
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH v4 2/2] ARM: EXYNOS: PMU: move restart code into pmu driver
2014-11-17 11:21 ` [PATCH v4 2/2] ARM: EXYNOS: PMU: move restart code into pmu driver Pankaj Dubey
@ 2014-11-17 16:41 ` Guenter Roeck
2014-11-18 10:50 ` Pankaj Dubey
0 siblings, 1 reply; 6+ messages in thread
From: Guenter Roeck @ 2014-11-17 16:41 UTC (permalink / raw)
To: linux-arm-kernel
On Mon, Nov 17, 2014 at 04:51:13PM +0530, Pankaj Dubey wrote:
> Let's register restart handler from PMU driver for reboot
> functionality. So that we can remove restart hooks from
> machine specific file, and thus moving ahead when PMU moved
> to driver folder, this functionality can be reused for ARM64
> based Exynos SoC's.
>
> Signed-off-by: Pankaj Dubey <pankaj.dubey@samsung.com>
> ---
> arch/arm/mach-exynos/common.h | 1 -
> arch/arm/mach-exynos/exynos.c | 6 ------
> arch/arm/mach-exynos/pmu.c | 23 +++++++++++++++++++++++
> 3 files changed, 23 insertions(+), 7 deletions(-)
>
> diff --git a/arch/arm/mach-exynos/common.h b/arch/arm/mach-exynos/common.h
> index 431be1b..865f878 100644
> --- a/arch/arm/mach-exynos/common.h
> +++ b/arch/arm/mach-exynos/common.h
> @@ -12,7 +12,6 @@
> #ifndef __ARCH_ARM_MACH_EXYNOS_COMMON_H
> #define __ARCH_ARM_MACH_EXYNOS_COMMON_H
>
> -#include <linux/reboot.h>
> #include <linux/of.h>
>
> #define EXYNOS3250_SOC_ID 0xE3472000
> diff --git a/arch/arm/mach-exynos/exynos.c b/arch/arm/mach-exynos/exynos.c
> index 8f995b7..c13d083 100644
> --- a/arch/arm/mach-exynos/exynos.c
> +++ b/arch/arm/mach-exynos/exynos.c
> @@ -87,11 +87,6 @@ static struct map_desc exynos5_iodesc[] __initdata = {
> },
> };
>
> -static void exynos_restart(enum reboot_mode mode, const char *cmd)
> -{
> - __raw_writel(0x1, pmu_base_addr + EXYNOS_SWRESET);
> -}
> -
> static struct platform_device exynos_cpuidle = {
> .name = "exynos_cpuidle",
> #ifdef CONFIG_ARM_EXYNOS_CPUIDLE
> @@ -316,7 +311,6 @@ DT_MACHINE_START(EXYNOS_DT, "SAMSUNG EXYNOS (Flattened Device Tree)")
> .init_machine = exynos_dt_machine_init,
> .init_late = exynos_init_late,
> .dt_compat = exynos_dt_compat,
> - .restart = exynos_restart,
> .reserve = exynos_reserve,
> .dt_fixup = exynos_dt_fixup,
> MACHINE_END
> diff --git a/arch/arm/mach-exynos/pmu.c b/arch/arm/mach-exynos/pmu.c
> index 6c8a76d..35f4062 100644
> --- a/arch/arm/mach-exynos/pmu.c
> +++ b/arch/arm/mach-exynos/pmu.c
> @@ -11,8 +11,11 @@
>
> #include <linux/io.h>
> #include <linux/of.h>
> +#include <linux/of_address.h>
> #include <linux/platform_device.h>
> #include <linux/delay.h>
> +#include <linux/notifier.h>
> +#include <linux/reboot.h>
>
>
> #include "exynos-pmu.h"
> @@ -716,6 +719,13 @@ static void exynos5420_pmu_init(void)
> pr_info("EXYNOS5420 PMU initialized\n");
> }
>
> +static int pmu_restart_notify(struct notifier_block *this,
> + unsigned long code, void *unused)
> +{
> + pmu_raw_writel(0x1, EXYNOS_SWRESET);
> +
> + return NOTIFY_DONE;
> +}
>
> static const struct exynos_pmu_data exynos4210_pmu_data = {
> .pmu_config = exynos4210_pmu_config,
> @@ -765,11 +775,20 @@ static const struct of_device_id exynos_pmu_of_device_ids[] = {
> { /*sentinel*/ },
> };
>
> +/*
> + * Exynos PMU reboot notifier, handles reboot functionality
restart, really.
> + */
> +static struct notifier_block pmu_restart_handler = {
> + .notifier_call = pmu_restart_notify,
> + .priority = 128,
> +};
> +
> static int exynos_pmu_probe(struct platform_device *pdev)
> {
> const struct of_device_id *match;
> struct device *dev = &pdev->dev;
> struct resource *res;
> + int ret;
>
> res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> pmu_base_addr = devm_ioremap_resource(dev, res);
> @@ -794,6 +813,10 @@ static int exynos_pmu_probe(struct platform_device *pdev)
>
> platform_set_drvdata(pdev, pmu_context);
>
> + ret = register_restart_handler(&pmu_restart_handler);
> + if (ret)
> + dev_err(dev, "can't register restart handler err=%d\n", ret);
> +
dev_warn might be more appropriate, since you ignore the error.
But that is a nitpick, really, as well as the above.
Acked-by: Guenter Roeck <linux@roeck-us.net>
> dev_dbg(dev, "Exynos PMU Driver probe done\n");
> return 0;
> }
> --
> 1.7.9.5
>
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH v4 1/2] clk: samsung: exynos5440: move restart code into clock driver
2014-11-17 11:21 ` [PATCH v4 1/2] clk: samsung: exynos5440: move restart code into clock driver Pankaj Dubey
@ 2014-11-17 16:45 ` Guenter Roeck
0 siblings, 0 replies; 6+ messages in thread
From: Guenter Roeck @ 2014-11-17 16:45 UTC (permalink / raw)
To: linux-arm-kernel
On Mon, Nov 17, 2014 at 04:51:12PM +0530, Pankaj Dubey wrote:
> Let's register restart handler for Exynos5440 from it's clock driver
> for reboot functionality. So that we can cleanup restart hooks from
> machine specific file.
>
> CC: Sylwester Nawrocki <s.nawrocki@samsung.com>
> CC: Tomasz Figa <tomasz.figa@gmail.com>
> Signed-off-by: Pankaj Dubey <pankaj.dubey@samsung.com>
reboot->restart, and consider using pr_warn instead of pr_err.
Since those are nitpicks
Acked-by: Guenter Roeck <linux@roeck-us.net>
> ---
> arch/arm/mach-exynos/exynos.c | 19 +------------------
> drivers/clk/samsung/clk-exynos5440.c | 29 ++++++++++++++++++++++++++++-
> 2 files changed, 29 insertions(+), 19 deletions(-)
>
> diff --git a/arch/arm/mach-exynos/exynos.c b/arch/arm/mach-exynos/exynos.c
> index 8f638ad..8f995b7 100644
> --- a/arch/arm/mach-exynos/exynos.c
> +++ b/arch/arm/mach-exynos/exynos.c
> @@ -89,24 +89,7 @@ static struct map_desc exynos5_iodesc[] __initdata = {
>
> static void exynos_restart(enum reboot_mode mode, const char *cmd)
> {
> - struct device_node *np;
> - u32 val = 0x1;
> - void __iomem *addr = pmu_base_addr + EXYNOS_SWRESET;
> -
> - if (of_machine_is_compatible("samsung,exynos5440")) {
> - u32 status;
> - np = of_find_compatible_node(NULL, NULL, "samsung,exynos5440-clock");
> -
> - addr = of_iomap(np, 0) + 0xbc;
> - status = __raw_readl(addr);
> -
> - addr = of_iomap(np, 0) + 0xcc;
> - val = __raw_readl(addr);
> -
> - val = (val & 0xffff0000) | (status & 0xffff);
> - }
> -
> - __raw_writel(val, addr);
> + __raw_writel(0x1, pmu_base_addr + EXYNOS_SWRESET);
> }
>
> static struct platform_device exynos_cpuidle = {
> diff --git a/drivers/clk/samsung/clk-exynos5440.c b/drivers/clk/samsung/clk-exynos5440.c
> index 00d1d00..f43b925 100644
> --- a/drivers/clk/samsung/clk-exynos5440.c
> +++ b/drivers/clk/samsung/clk-exynos5440.c
> @@ -15,6 +15,8 @@
> #include <linux/clk-provider.h>
> #include <linux/of.h>
> #include <linux/of_address.h>
> +#include <linux/notifier.h>
> +#include <linux/reboot.h>
>
> #include "clk.h"
> #include "clk-pll.h"
> @@ -23,6 +25,8 @@
> #define CPU_CLK_STATUS 0xfc
> #define MISC_DOUT1 0x558
>
> +static void __iomem *reg_base;
> +
> /* parent clock name list */
> PNAME(mout_armclk_p) = { "cplla", "cpllb" };
> PNAME(mout_spi_p) = { "div125", "div200" };
> @@ -89,10 +93,30 @@ static const struct of_device_id ext_clk_match[] __initconst = {
> {},
> };
>
> +static int exynos5440_clk_restart_notify(struct notifier_block *this,
> + unsigned long code, void *unused)
> +{
> + u32 val, status;
> +
> + status = readl_relaxed(reg_base + 0xbc);
> + val = readl_relaxed(reg_base + 0xcc);
> + val = (val & 0xffff0000) | (status & 0xffff);
> + writel_relaxed(val, reg_base + 0xcc);
> +
> + return NOTIFY_DONE;
> +}
> +
> +/*
> + * Exynos5440 Clock reboot notifier, handles reboot functionality
> + */
> +static struct notifier_block exynos5440_clk_restart_handler = {
> + .notifier_call = exynos5440_clk_restart_notify,
> + .priority = 128,
> +};
> +
> /* register exynos5440 clocks */
> static void __init exynos5440_clk_init(struct device_node *np)
> {
> - void __iomem *reg_base;
> struct samsung_clk_provider *ctx;
>
> reg_base = of_iomap(np, 0);
> @@ -125,6 +149,9 @@ static void __init exynos5440_clk_init(struct device_node *np)
>
> samsung_clk_of_add_provider(np, ctx);
>
> + if (register_restart_handler(&exynos5440_clk_restart_handler))
> + pr_err("exynos5440 clock can't register restart handler\n");
> +
> pr_info("Exynos5440: arm_clk = %ldHz\n", _get_rate("arm_clk"));
> pr_info("exynos5440 clock initialization complete\n");
> }
> --
> 1.7.9.5
>
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH v4 2/2] ARM: EXYNOS: PMU: move restart code into pmu driver
2014-11-17 16:41 ` Guenter Roeck
@ 2014-11-18 10:50 ` Pankaj Dubey
0 siblings, 0 replies; 6+ messages in thread
From: Pankaj Dubey @ 2014-11-18 10:50 UTC (permalink / raw)
To: linux-arm-kernel
On Monday, November 17, 2014 10:11 PM, Guenter Roeck wrote:
> On Mon, Nov 17, 2014 at 04:51:13PM +0530, Pankaj Dubey wrote:
> >
> > +/*
> > + * Exynos PMU reboot notifier, handles reboot functionality
>
> restart, really.
>
> > + */
> > +static struct notifier_block pmu_restart_handler = {
> > + .notifier_call = pmu_restart_notify,
> > + .priority = 128,
> > +};
> > +
> > static int exynos_pmu_probe(struct platform_device *pdev) {
> > const struct of_device_id *match;
> > struct device *dev = &pdev->dev;
> > struct resource *res;
> > + int ret;
> >
> > res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> > pmu_base_addr = devm_ioremap_resource(dev, res); @@ -794,6 +813,10
> > @@ static int exynos_pmu_probe(struct platform_device *pdev)
> >
> > platform_set_drvdata(pdev, pmu_context);
> >
> > + ret = register_restart_handler(&pmu_restart_handler);
> > + if (ret)
> > + dev_err(dev, "can't register restart handler err=%d\n",
ret);
> > +
>
> dev_warn might be more appropriate, since you ignore the error.
> But that is a nitpick, really, as well as the above.
>
> Acked-by: Guenter Roeck <linux@roeck-us.net>
>
Thanks for review. I will update both patches as per your review comments.
Thanks,
Pankaj Dubey
> > dev_dbg(dev, "Exynos PMU Driver probe done\n");
> > return 0;
> > }
> > --
> > 1.7.9.5
> >
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2014-11-18 10:50 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-11-17 11:21 [PATCH v4 0/2] Handle reboot for Exynos SoC via restart_handler Pankaj Dubey
2014-11-17 11:21 ` [PATCH v4 1/2] clk: samsung: exynos5440: move restart code into clock driver Pankaj Dubey
2014-11-17 16:45 ` Guenter Roeck
2014-11-17 11:21 ` [PATCH v4 2/2] ARM: EXYNOS: PMU: move restart code into pmu driver Pankaj Dubey
2014-11-17 16:41 ` Guenter Roeck
2014-11-18 10:50 ` Pankaj Dubey
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).