diff options
author | Paul Gortmaker <paul.gortmaker@windriver.com> | 2016-07-04 17:12:15 -0400 |
---|---|---|
committer | Michael Turquette <mturquette@baylibre.com> | 2016-07-06 18:20:33 -0400 |
commit | 80c6397c37d56f4cf8e175a541b1ebbf5f7d186a (patch) | |
tree | a2eacf4c66dadbe3f902df64496c49fc84598270 | |
parent | cb98fd5d4da192cf2bf3fceddcc3bc9e59a22598 (diff) |
clk: oxnas: make it explicitly non-modular
The Kconfig currently controlling compilation of this code is:
drivers/clk/Kconfig:config COMMON_CLK_OXNAS
drivers/clk/Kconfig: bool "Clock driver for the OXNAS SoC Family"
...meaning that it currently is not being built as a module by anyone.
Lets remove the modular code that is essentially orphaned, so that
when reading the driver there is no doubt it is builtin-only.
We explicitly disallow a driver unbind, since that doesn't have a
sensible use case anyway, and it allows us to drop the ".remove"
code for non-modular drivers.
Since module_platform_driver() uses the same init level priority as
builtin_platform_driver() the init ordering remains unchanged with
this commit.
Also note that MODULE_DEVICE_TABLE is a no-op for non-modular code.
Cc: Stephen Boyd <sboyd@codeaurora.org>
Acked-by: Neil Armstrong <narmstrong@baylibre.com>
Cc: linux-clk@vger.kernel.org
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: Michael Turquette <mturquette@baylibre.com>
Link: lkml.kernel.org/r/20160704211220.5685-6-paul.gortmaker@windriver.com
-rw-r--r-- | drivers/clk/clk-oxnas.c | 15 |
1 files changed, 3 insertions, 12 deletions
diff --git a/drivers/clk/clk-oxnas.c b/drivers/clk/clk-oxnas.c index 79bcb2e42060..47649ac5d399 100644 --- a/drivers/clk/clk-oxnas.c +++ b/drivers/clk/clk-oxnas.c | |||
@@ -18,7 +18,7 @@ | |||
18 | 18 | ||
19 | #include <linux/clk-provider.h> | 19 | #include <linux/clk-provider.h> |
20 | #include <linux/kernel.h> | 20 | #include <linux/kernel.h> |
21 | #include <linux/module.h> | 21 | #include <linux/init.h> |
22 | #include <linux/of.h> | 22 | #include <linux/of.h> |
23 | #include <linux/platform_device.h> | 23 | #include <linux/platform_device.h> |
24 | #include <linux/stringify.h> | 24 | #include <linux/stringify.h> |
@@ -170,26 +170,17 @@ static int oxnas_stdclk_probe(struct platform_device *pdev) | |||
170 | clk_oxnas->onecell_data); | 170 | clk_oxnas->onecell_data); |
171 | } | 171 | } |
172 | 172 | ||
173 | static int oxnas_stdclk_remove(struct platform_device *pdev) | ||
174 | { | ||
175 | of_clk_del_provider(pdev->dev.of_node); | ||
176 | |||
177 | return 0; | ||
178 | } | ||
179 | |||
180 | static const struct of_device_id oxnas_stdclk_dt_ids[] = { | 173 | static const struct of_device_id oxnas_stdclk_dt_ids[] = { |
181 | { .compatible = "oxsemi,ox810se-stdclk" }, | 174 | { .compatible = "oxsemi,ox810se-stdclk" }, |
182 | { } | 175 | { } |
183 | }; | 176 | }; |
184 | MODULE_DEVICE_TABLE(of, oxnas_stdclk_dt_ids); | ||
185 | 177 | ||
186 | static struct platform_driver oxnas_stdclk_driver = { | 178 | static struct platform_driver oxnas_stdclk_driver = { |
187 | .probe = oxnas_stdclk_probe, | 179 | .probe = oxnas_stdclk_probe, |
188 | .remove = oxnas_stdclk_remove, | ||
189 | .driver = { | 180 | .driver = { |
190 | .name = "oxnas-stdclk", | 181 | .name = "oxnas-stdclk", |
182 | .suppress_bind_attrs = true, | ||
191 | .of_match_table = oxnas_stdclk_dt_ids, | 183 | .of_match_table = oxnas_stdclk_dt_ids, |
192 | }, | 184 | }, |
193 | }; | 185 | }; |
194 | 186 | builtin_platform_driver(oxnas_stdclk_driver); | |
195 | module_platform_driver(oxnas_stdclk_driver); | ||