From 25afe99b31f4ef3d835f96545e370770c230ac44 Mon Sep 17 00:00:00 2001 From: John Crispin Date: Mon, 2 Nov 2015 10:18:50 +0000 Subject: mediatek: add support for the new MT7623 Arm SoC the support is still WIP. next steps are to make the pmic and ethernet work. this is the first commit to make sure nothing gets lost. Signed-off-by: John Crispin SVN-Revision: 47354 --- ...-make-strings-in-parent-name-arrays-const.patch | 100 +++++++++++++++++++++ 1 file changed, 100 insertions(+) create mode 100644 target/linux/mediatek/patches/0001-clk-make-strings-in-parent-name-arrays-const.patch (limited to 'target/linux/mediatek/patches/0001-clk-make-strings-in-parent-name-arrays-const.patch') diff --git a/target/linux/mediatek/patches/0001-clk-make-strings-in-parent-name-arrays-const.patch b/target/linux/mediatek/patches/0001-clk-make-strings-in-parent-name-arrays-const.patch new file mode 100644 index 0000000..3dca509 --- /dev/null +++ b/target/linux/mediatek/patches/0001-clk-make-strings-in-parent-name-arrays-const.patch @@ -0,0 +1,100 @@ +From a38e86708141d75c643ffd58865c50a925134e4f Mon Sep 17 00:00:00 2001 +From: Sascha Hauer +Date: Thu, 23 Apr 2015 10:35:38 +0200 +Subject: [PATCH 01/76] clk: make strings in parent name arrays const +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The clk functions and structs declare the parent_name arrays as +'const char **parent_names' which means the parent name strings +are const, but the array itself is not. Use +'const char * const * parent_names' instead which also makes +the array const. This allows us to put the parent_name arrays into +the __initconst section. + +Signed-off-by: Sascha Hauer +Reviewed-by: Krzysztof Kozlowski +Tested-by: Krzysztof Kozlowski +Acked-by: Uwe Kleine-König +--- + drivers/clk/clk-composite.c | 2 +- + drivers/clk/clk-mux.c | 4 ++-- + include/linux/clk-provider.h | 8 ++++---- + 3 files changed, 7 insertions(+), 7 deletions(-) + +diff --git a/drivers/clk/clk-composite.c b/drivers/clk/clk-composite.c +index 956b7e5..077f4c7 100644 +--- a/drivers/clk/clk-composite.c ++++ b/drivers/clk/clk-composite.c +@@ -188,7 +188,7 @@ static void clk_composite_disable(struct clk_hw *hw) + } + + struct clk *clk_register_composite(struct device *dev, const char *name, +- const char **parent_names, int num_parents, ++ const char * const *parent_names, int num_parents, + struct clk_hw *mux_hw, const struct clk_ops *mux_ops, + struct clk_hw *rate_hw, const struct clk_ops *rate_ops, + struct clk_hw *gate_hw, const struct clk_ops *gate_ops, +diff --git a/drivers/clk/clk-mux.c b/drivers/clk/clk-mux.c +index 69a094c..1fa2a8d 100644 +--- a/drivers/clk/clk-mux.c ++++ b/drivers/clk/clk-mux.c +@@ -114,7 +114,7 @@ const struct clk_ops clk_mux_ro_ops = { + EXPORT_SYMBOL_GPL(clk_mux_ro_ops); + + struct clk *clk_register_mux_table(struct device *dev, const char *name, +- const char **parent_names, u8 num_parents, unsigned long flags, ++ const char * const *parent_names, u8 num_parents, unsigned long flags, + void __iomem *reg, u8 shift, u32 mask, + u8 clk_mux_flags, u32 *table, spinlock_t *lock) + { +@@ -166,7 +166,7 @@ struct clk *clk_register_mux_table(struct device *dev, const char *name, + EXPORT_SYMBOL_GPL(clk_register_mux_table); + + struct clk *clk_register_mux(struct device *dev, const char *name, +- const char **parent_names, u8 num_parents, unsigned long flags, ++ const char * const *parent_names, u8 num_parents, unsigned long flags, + void __iomem *reg, u8 shift, u8 width, + u8 clk_mux_flags, spinlock_t *lock) + { +diff --git a/include/linux/clk-provider.h b/include/linux/clk-provider.h +index df69531..ec609e5 100644 +--- a/include/linux/clk-provider.h ++++ b/include/linux/clk-provider.h +@@ -209,7 +209,7 @@ struct clk_ops { + struct clk_init_data { + const char *name; + const struct clk_ops *ops; +- const char **parent_names; ++ const char * const *parent_names; + u8 num_parents; + unsigned long flags; + }; +@@ -426,12 +426,12 @@ extern const struct clk_ops clk_mux_ops; + extern const struct clk_ops clk_mux_ro_ops; + + struct clk *clk_register_mux(struct device *dev, const char *name, +- const char **parent_names, u8 num_parents, unsigned long flags, ++ const char * const *parent_names, u8 num_parents, unsigned long flags, + void __iomem *reg, u8 shift, u8 width, + u8 clk_mux_flags, spinlock_t *lock); + + struct clk *clk_register_mux_table(struct device *dev, const char *name, +- const char **parent_names, u8 num_parents, unsigned long flags, ++ const char * const *parent_names, u8 num_parents, unsigned long flags, + void __iomem *reg, u8 shift, u32 mask, + u8 clk_mux_flags, u32 *table, spinlock_t *lock); + +@@ -518,7 +518,7 @@ struct clk_composite { + }; + + struct clk *clk_register_composite(struct device *dev, const char *name, +- const char **parent_names, int num_parents, ++ const char * const *parent_names, int num_parents, + struct clk_hw *mux_hw, const struct clk_ops *mux_ops, + struct clk_hw *rate_hw, const struct clk_ops *rate_ops, + struct clk_hw *gate_hw, const struct clk_ops *gate_ops, +-- +1.7.10.4 + -- cgit v1.1