Thread (10 messages) 10 messages, 2 authors, 2016-01-27

[PATCH v7 1/6] clk: hisilicon: add CRG driver for hi3519 soc

From: Paul Bolle <hidden>
Date: 2016-01-26 01:17:52
Also in: linux-clk, linux-devicetree, lkml

On ma, 2016-01-25 at 11:01 +0800, Jiancheng Xue wrote:
quoted hunk ↗ jump to hunk
--- a/drivers/clk/hisilicon/Kconfig
+++ b/drivers/clk/hisilicon/Kconfig
+config COMMON_CLK_HI3519
+	bool "Hi3519 Clock Driver"
+	depends on ARCH_HISI
+	default y
+	help
+	  Build the clock driver for hi3519.
quoted hunk ↗ jump to hunk
--- a/drivers/clk/hisilicon/Makefile
+++ b/drivers/clk/hisilicon/Makefile
+obj-$(CONFIG_COMMON_CLK_HI3519)	+= clk-hi3519.o
If I parsed the above correctly clk-hi3519.o can only be built-in,
right?
quoted hunk ↗ jump to hunk
--- /dev/null
+++ b/drivers/clk/hisilicon/clk-hi3519.c
+#include <linux/module.h>
So is this include actually needed?
+static int hi3519_clk_probe(struct platform_device *pdev)
+{
+       struct device_node *np = pdev->dev.of_node;
+       struct hisi_clock_data *clk_data;
+
+       clk_data = hisi_clk_init(np, HI3519_NR_CLKS);
+       if (!clk_data)
+               return -ENODEV;
+
+       hisi_clk_register_fixed_rate(hi3519_fixed_rate_clks,
+                                   
ARRAY_SIZE(hi3519_fixed_rate_clks),
+                                    clk_data);
+       hisi_clk_register_mux(hi3519_mux_clks,
ARRAY_SIZE(hi3519_mux_clks),
+                                       clk_data);
+       hisi_clk_register_gate(hi3519_gate_clks,
+                       ARRAY_SIZE(hi3519_gate_clks), clk_data);
+
+       return hisi_reset_init(np);
+}
(evolution 3.16.5 makes replying to code quite a challenge.)
+static const struct of_device_id hi3519_clk_match_table[] = {
+	{ .compatible = "hisilicon,hi3519-crg" },
+	{ }
+};
+MODULE_DEVICE_TABLE(of, hi3519_clk_match_table);
Last time I checked MODULE_DEVICE_TABLE is preprocessed away for built
-in code.
+static void __exit hi3519_clk_exit(void)
+{
+	platform_driver_unregister(&hi3519_clk_driver);
+}
+module_exit(hi3519_clk_exit);
Not needed for built-in only code.
+MODULE_DESCRIPTION("HiSilicon Hi3519 Clock Driver");
Ditto.
quoted hunk ↗ jump to hunk
--- a/drivers/clk/hisilicon/clk.c
+++ b/drivers/clk/hisilicon/clk.c
+EXPORT_SYMBOL(hisi_clk_init);
What module uses this export?
 
+EXPORT_SYMBOL(hisi_clk_register_fixed_rate);
Ditto.
+EXPORT_SYMBOL(hisi_clk_register_fixed_factor);
Ditto.
 
+EXPORT_SYMBOL(hisi_clk_register_mux);
Ditto.
+EXPORT_SYMBOL(hisi_clk_register_divider);
Ditto.
+EXPORT_SYMBOL(hisi_clk_register_gate);
Ditto.
+EXPORT_SYMBOL(hisi_clk_register_gate_sep);
Ditto.
quoted hunk ↗ jump to hunk
--- /dev/null
+++ b/drivers/clk/hisilicon/reset.c
+int hisi_reset_init(struct device_node *np)
+{
+	[...]
+}
+EXPORT_SYMBOL(hisi_reset_init);
Ditto.
quoted hunk ↗ jump to hunk
--- /dev/null
+++ b/drivers/clk/hisilicon/reset.h
+#ifdef CONFIG_RESET_CONTROLLER
+int hisi_reset_init(struct device_node *np);
+#else
+static inline int hisi_reset_init(struct device_node *np)
+{
+	return 0;
+}
+#endif
Thanks,


Paul Bolle
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help