aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTomasz Figa <t.figa@samsung.com>2014-02-13 18:16:01 -0500
committerKukjin Kim <kgene.kim@samsung.com>2014-02-13 18:16:01 -0500
commit3efb25116774f69f0649fd6774fd46306cabdb56 (patch)
tree9ef94cdd2056d75dacbd79ca46a9bac8f08f340b
parent08c0d829d8835061981371f325e9c2b7f887c418 (diff)
clk: samsung: Drop old suspend/resume code
Since all SoC drivers have been moved to local suspend/resume handling, the old code can be safely dropped. Signed-off-by: Tomasz Figa <t.figa@samsung.com> Acked-by: Kyungmin Park <kyungmin.park@samsung.com> Acked-by: Heiko Stuebner <heiko@sntech.de> Reviewed-by: Thomas Abraham <thomas.ab@samsung.com> Reviewed-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
-rw-r--r--drivers/clk/samsung/clk-exynos4.c2
-rw-r--r--drivers/clk/samsung/clk-exynos5250.c2
-rw-r--r--drivers/clk/samsung/clk-exynos5420.c2
-rw-r--r--drivers/clk/samsung/clk-exynos5440.c2
-rw-r--r--drivers/clk/samsung/clk-s3c64xx.c2
-rw-r--r--drivers/clk/samsung/clk.c54
-rw-r--r--drivers/clk/samsung/clk.h4
7 files changed, 7 insertions, 61 deletions
diff --git a/drivers/clk/samsung/clk-exynos4.c b/drivers/clk/samsung/clk-exynos4.c
index 325f29248af5..b620a8375b7f 100644
--- a/drivers/clk/samsung/clk-exynos4.c
+++ b/drivers/clk/samsung/clk-exynos4.c
@@ -1122,7 +1122,7 @@ static void __init exynos4_clk_init(struct device_node *np,
1122 if (!reg_base) 1122 if (!reg_base)
1123 panic("%s: failed to map registers\n", __func__); 1123 panic("%s: failed to map registers\n", __func__);
1124 1124
1125 samsung_clk_init(np, reg_base, CLK_NR_CLKS, NULL, 0, NULL, 0); 1125 samsung_clk_init(np, reg_base, CLK_NR_CLKS);
1126 1126
1127 samsung_clk_of_register_fixed_ext(exynos4_fixed_rate_ext_clks, 1127 samsung_clk_of_register_fixed_ext(exynos4_fixed_rate_ext_clks,
1128 ARRAY_SIZE(exynos4_fixed_rate_ext_clks), 1128 ARRAY_SIZE(exynos4_fixed_rate_ext_clks),
diff --git a/drivers/clk/samsung/clk-exynos5250.c b/drivers/clk/samsung/clk-exynos5250.c
index b3cccf044607..e7ee4420da81 100644
--- a/drivers/clk/samsung/clk-exynos5250.c
+++ b/drivers/clk/samsung/clk-exynos5250.c
@@ -694,7 +694,7 @@ static void __init exynos5250_clk_init(struct device_node *np)
694 panic("%s: unable to determine soc\n", __func__); 694 panic("%s: unable to determine soc\n", __func__);
695 } 695 }
696 696
697 samsung_clk_init(np, reg_base, CLK_NR_CLKS, NULL, 0, NULL, 0); 697 samsung_clk_init(np, reg_base, CLK_NR_CLKS);
698 samsung_clk_of_register_fixed_ext(exynos5250_fixed_rate_ext_clks, 698 samsung_clk_of_register_fixed_ext(exynos5250_fixed_rate_ext_clks,
699 ARRAY_SIZE(exynos5250_fixed_rate_ext_clks), 699 ARRAY_SIZE(exynos5250_fixed_rate_ext_clks),
700 ext_clk_match); 700 ext_clk_match);
diff --git a/drivers/clk/samsung/clk-exynos5420.c b/drivers/clk/samsung/clk-exynos5420.c
index 8ce078049fb4..60b26819bed5 100644
--- a/drivers/clk/samsung/clk-exynos5420.c
+++ b/drivers/clk/samsung/clk-exynos5420.c
@@ -786,7 +786,7 @@ static void __init exynos5420_clk_init(struct device_node *np)
786 panic("%s: unable to determine soc\n", __func__); 786 panic("%s: unable to determine soc\n", __func__);
787 } 787 }
788 788
789 samsung_clk_init(np, reg_base, CLK_NR_CLKS, NULL, 0, NULL, 0); 789 samsung_clk_init(np, reg_base, CLK_NR_CLKS);
790 samsung_clk_of_register_fixed_ext(exynos5420_fixed_rate_ext_clks, 790 samsung_clk_of_register_fixed_ext(exynos5420_fixed_rate_ext_clks,
791 ARRAY_SIZE(exynos5420_fixed_rate_ext_clks), 791 ARRAY_SIZE(exynos5420_fixed_rate_ext_clks),
792 ext_clk_match); 792 ext_clk_match);
diff --git a/drivers/clk/samsung/clk-exynos5440.c b/drivers/clk/samsung/clk-exynos5440.c
index cbc15b56891d..2bfad5a993d0 100644
--- a/drivers/clk/samsung/clk-exynos5440.c
+++ b/drivers/clk/samsung/clk-exynos5440.c
@@ -101,7 +101,7 @@ static void __init exynos5440_clk_init(struct device_node *np)
101 return; 101 return;
102 } 102 }
103 103
104 samsung_clk_init(np, reg_base, CLK_NR_CLKS, NULL, 0, NULL, 0); 104 samsung_clk_init(np, reg_base, CLK_NR_CLKS);
105 samsung_clk_of_register_fixed_ext(exynos5440_fixed_rate_ext_clks, 105 samsung_clk_of_register_fixed_ext(exynos5440_fixed_rate_ext_clks,
106 ARRAY_SIZE(exynos5440_fixed_rate_ext_clks), ext_clk_match); 106 ARRAY_SIZE(exynos5440_fixed_rate_ext_clks), ext_clk_match);
107 107
diff --git a/drivers/clk/samsung/clk-s3c64xx.c b/drivers/clk/samsung/clk-s3c64xx.c
index d3fbfa566974..8bda658137a8 100644
--- a/drivers/clk/samsung/clk-s3c64xx.c
+++ b/drivers/clk/samsung/clk-s3c64xx.c
@@ -465,7 +465,7 @@ void __init s3c64xx_clk_init(struct device_node *np, unsigned long xtal_f,
465 panic("%s: failed to map registers\n", __func__); 465 panic("%s: failed to map registers\n", __func__);
466 } 466 }
467 467
468 samsung_clk_init(np, reg_base, NR_CLKS, NULL, 0, NULL, 0); 468 samsung_clk_init(np, reg_base, NR_CLKS);
469 469
470 /* Register external clocks. */ 470 /* Register external clocks. */
471 if (!np) 471 if (!np)
diff --git a/drivers/clk/samsung/clk.c b/drivers/clk/samsung/clk.c
index ec761e344fd0..91bec3ebdc8f 100644
--- a/drivers/clk/samsung/clk.c
+++ b/drivers/clk/samsung/clk.c
@@ -21,7 +21,6 @@ static void __iomem *reg_base;
21static struct clk_onecell_data clk_data; 21static struct clk_onecell_data clk_data;
22#endif 22#endif
23 23
24#ifdef CONFIG_PM_SLEEP
25void samsung_clk_save(void __iomem *base, 24void samsung_clk_save(void __iomem *base,
26 struct samsung_clk_reg_dump *rd, 25 struct samsung_clk_reg_dump *rd,
27 unsigned int num_regs) 26 unsigned int num_regs)
@@ -55,63 +54,12 @@ struct samsung_clk_reg_dump *samsung_clk_alloc_reg_dump(
55 return rd; 54 return rd;
56} 55}
57 56
58static struct samsung_clk_reg_dump *reg_dump;
59static unsigned long nr_reg_dump;
60
61static int samsung_clk_suspend(void)
62{
63 struct samsung_clk_reg_dump *rd = reg_dump;
64 unsigned long i;
65
66 for (i = 0; i < nr_reg_dump; i++, rd++)
67 rd->value = __raw_readl(reg_base + rd->offset);
68
69 return 0;
70}
71
72static void samsung_clk_resume(void)
73{
74 struct samsung_clk_reg_dump *rd = reg_dump;
75 unsigned long i;
76
77 for (i = 0; i < nr_reg_dump; i++, rd++)
78 __raw_writel(rd->value, reg_base + rd->offset);
79}
80
81static struct syscore_ops samsung_clk_syscore_ops = {
82 .suspend = samsung_clk_suspend,
83 .resume = samsung_clk_resume,
84};
85#endif /* CONFIG_PM_SLEEP */
86
87/* setup the essentials required to support clock lookup using ccf */ 57/* setup the essentials required to support clock lookup using ccf */
88void __init samsung_clk_init(struct device_node *np, void __iomem *base, 58void __init samsung_clk_init(struct device_node *np, void __iomem *base,
89 unsigned long nr_clks, unsigned long *rdump, 59 unsigned long nr_clks)
90 unsigned long nr_rdump, unsigned long *soc_rdump,
91 unsigned long nr_soc_rdump)
92{ 60{
93 reg_base = base; 61 reg_base = base;
94 62
95#ifdef CONFIG_PM_SLEEP
96 if (rdump && nr_rdump) {
97 unsigned int idx;
98 reg_dump = kzalloc(sizeof(struct samsung_clk_reg_dump)
99 * (nr_rdump + nr_soc_rdump), GFP_KERNEL);
100 if (!reg_dump) {
101 pr_err("%s: memory alloc for register dump failed\n",
102 __func__);
103 return;
104 }
105
106 for (idx = 0; idx < nr_rdump; idx++)
107 reg_dump[idx].offset = rdump[idx];
108 for (idx = 0; idx < nr_soc_rdump; idx++)
109 reg_dump[nr_rdump + idx].offset = soc_rdump[idx];
110 nr_reg_dump = nr_rdump + nr_soc_rdump;
111 register_syscore_ops(&samsung_clk_syscore_ops);
112 }
113#endif
114
115 clk_table = kzalloc(sizeof(struct clk *) * nr_clks, GFP_KERNEL); 63 clk_table = kzalloc(sizeof(struct clk *) * nr_clks, GFP_KERNEL);
116 if (!clk_table) 64 if (!clk_table)
117 panic("could not allocate clock lookup table\n"); 65 panic("could not allocate clock lookup table\n");
diff --git a/drivers/clk/samsung/clk.h b/drivers/clk/samsung/clk.h
index 93cb8a0deb7b..c7141ba826e0 100644
--- a/drivers/clk/samsung/clk.h
+++ b/drivers/clk/samsung/clk.h
@@ -313,9 +313,7 @@ struct samsung_pll_clock {
313 _lock, _con, _rtable, _alias) 313 _lock, _con, _rtable, _alias)
314 314
315extern void __init samsung_clk_init(struct device_node *np, void __iomem *base, 315extern void __init samsung_clk_init(struct device_node *np, void __iomem *base,
316 unsigned long nr_clks, unsigned long *rdump, 316 unsigned long nr_clks);
317 unsigned long nr_rdump, unsigned long *soc_rdump,
318 unsigned long nr_soc_rdump);
319extern void __init samsung_clk_of_register_fixed_ext( 317extern void __init samsung_clk_of_register_fixed_ext(
320 struct samsung_fixed_rate_clock *fixed_rate_clk, 318 struct samsung_fixed_rate_clock *fixed_rate_clk,
321 unsigned int nr_fixed_rate_clk, 319 unsigned int nr_fixed_rate_clk,