Cc: lee.jones@linaro.org
Excuse me Lee, I forgot to Cc entire series to you, will do it in case of posting v2.
On 9/18/19 12:46, Sylwester Nawrocki wrote:
The WM1811/WM8994/WM8958 audio CODEC DT bindings specify two optional clocks: "MCLK1", "MCLK2". Add code for getting those clocks in the MFD part of the wm8994 driver so they can be further handled in the audio CODEC part.
Signed-off-by: Sylwester Nawrocki s.nawrocki@samsung.com
drivers/mfd/wm8994-core.c | 9 +++++++++ include/linux/mfd/wm8994/core.h | 9 +++++++++ 2 files changed, 18 insertions(+)
diff --git a/drivers/mfd/wm8994-core.c b/drivers/mfd/wm8994-core.c index 1e9fe7d92597..02c19a0bdeb0 100644 --- a/drivers/mfd/wm8994-core.c +++ b/drivers/mfd/wm8994-core.c @@ -7,6 +7,7 @@
- Author: Mark Brown broonie@opensource.wolfsonmicro.com
*/
+#include <linux/clk.h> #include <linux/kernel.h> #include <linux/module.h> #include <linux/slab.h> @@ -333,6 +334,14 @@ static int wm8994_device_init(struct wm8994 *wm8994, int irq)
dev_set_drvdata(wm8994->dev, wm8994);
- wm8994->mclk[WM8994_MCLK1].id = "MCLK1";
- wm8994->mclk[WM8994_MCLK2].id = "MCLK2";
- ret = devm_clk_bulk_get_optional(wm8994->dev, ARRAY_SIZE(wm8994->mclk),
wm8994->mclk);
- if (ret != 0)
return ret;
- /* Add the on-chip regulators first for bootstrapping */ ret = mfd_add_devices(wm8994->dev, 0, wm8994_regulator_devs,
diff --git a/include/linux/mfd/wm8994/core.h b/include/linux/mfd/wm8994/core.h index e8b093522ffd..320297a1b70c 100644 --- a/include/linux/mfd/wm8994/core.h +++ b/include/linux/mfd/wm8994/core.h @@ -10,12 +10,19 @@ #ifndef __MFD_WM8994_CORE_H__ #define __MFD_WM8994_CORE_H__
+#include <linux/clk.h> #include <linux/mutex.h> #include <linux/interrupt.h> #include <linux/regmap.h>
#include <linux/mfd/wm8994/pdata.h>
+enum {
- WM8994_MCLK1,
- WM8994_MCLK2,
- WM8994_NUM_MCLK
+};
enum wm8994_type { WM8994 = 0, WM8958 = 1, @@ -60,6 +67,8 @@ struct wm8994 { struct device *dev; struct regmap *regmap;
struct clk_bulk_data mclk[WM8994_NUM_MCLK];
bool ldo_ena_always_driven;
int gpio_base;
-- Regards, Sylwester