summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/clk/Kconfig9
-rw-r--r--drivers/clk/Makefile1
-rw-r--r--drivers/clk/clk-regmap.c (renamed from drivers/clk/meson/clk-regmap.c)2
-rw-r--r--drivers/clk/meson/Kconfig8
-rw-r--r--drivers/clk/meson/Makefile1
-rw-r--r--drivers/clk/meson/axg-aoclk.c2
-rw-r--r--drivers/clk/meson/clkc.h2
-rw-r--r--drivers/clk/meson/gxbb-aoclk.c2
-rw-r--r--drivers/clk/meson/gxbb.c2
-rw-r--r--drivers/clk/meson/meson-aoclk.c2
-rw-r--r--drivers/clk/meson/meson-aoclk.h2
-rw-r--r--drivers/clk/meson/meson8b.c2
-rw-r--r--include/linux/clk-regmap.h (renamed from drivers/clk/meson/clk-regmap.h)0
13 files changed, 20 insertions, 15 deletions
diff --git a/drivers/clk/Kconfig b/drivers/clk/Kconfig
index 81cdb4eaca07f..be2f4cfc05bb5 100644
--- a/drivers/clk/Kconfig
+++ b/drivers/clk/Kconfig
@@ -22,6 +22,15 @@ config COMMON_CLK
menu "Common Clock Framework"
depends on COMMON_CLK
+config COMMON_CLK_REGMAP
+ bool
+ select REGMAP
+ help
+ This is a wrapper API around the common clock framework, so
+ you can use the common clock framework on devices supporting
+ only the regmap interface. This is useful for external devices
+ such as several I2C devices which has complex clock structures too.
+
config COMMON_CLK_WM831X
tristate "Clock driver for WM831x/2x PMICs"
depends on MFD_WM831X
diff --git a/drivers/clk/Makefile b/drivers/clk/Makefile
index 72be7a38cff1e..0bcfc94ed4875 100644
--- a/drivers/clk/Makefile
+++ b/drivers/clk/Makefile
@@ -12,6 +12,7 @@ obj-$(CONFIG_COMMON_CLK) += clk-mux.o
obj-$(CONFIG_COMMON_CLK) += clk-composite.o
obj-$(CONFIG_COMMON_CLK) += clk-fractional-divider.o
obj-$(CONFIG_COMMON_CLK) += clk-gpio.o
+obj-$(CONFIG_COMMON_CLK_REGMAP) += clk-regmap.o
ifeq ($(CONFIG_OF), y)
obj-$(CONFIG_COMMON_CLK) += clk-conf.o
endif
diff --git a/drivers/clk/meson/clk-regmap.c b/drivers/clk/clk-regmap.c
index 305ee307c003b..aabdf81c3eeb2 100644
--- a/drivers/clk/meson/clk-regmap.c
+++ b/drivers/clk/clk-regmap.c
@@ -4,7 +4,7 @@
* Author: Jerome Brunet <jbrunet@baylibre.com>
*/
-#include "clk-regmap.h"
+#include <linux/clk-regmap.h>
static int clk_regmap_gate_endisable(struct clk_hw *hw, int enable)
{
diff --git a/drivers/clk/meson/Kconfig b/drivers/clk/meson/Kconfig
index efaa70f682b45..9c7f3042c933c 100644
--- a/drivers/clk/meson/Kconfig
+++ b/drivers/clk/meson/Kconfig
@@ -1,7 +1,7 @@
config COMMON_CLK_AMLOGIC
bool
depends on ARCH_MESON || COMPILE_TEST
- select COMMON_CLK_REGMAP_MESON
+ select COMMON_CLK_REGMAP
config COMMON_CLK_AMLOGIC_AUDIO
bool
@@ -12,13 +12,9 @@ config COMMON_CLK_MESON_AO
bool
depends on OF
depends on ARCH_MESON || COMPILE_TEST
- select COMMON_CLK_REGMAP_MESON
+ select COMMON_CLK_REGMAP
select RESET_CONTROLLER
-config COMMON_CLK_REGMAP_MESON
- bool
- select REGMAP
-
config COMMON_CLK_MESON8B
bool
select COMMON_CLK_AMLOGIC
diff --git a/drivers/clk/meson/Makefile b/drivers/clk/meson/Makefile
index 72ec8c40d848d..5e18738d0accb 100644
--- a/drivers/clk/meson/Makefile
+++ b/drivers/clk/meson/Makefile
@@ -9,4 +9,3 @@ obj-$(CONFIG_COMMON_CLK_MESON8B) += meson8b.o
obj-$(CONFIG_COMMON_CLK_GXBB) += gxbb.o gxbb-aoclk.o gxbb-aoclk-32k.o
obj-$(CONFIG_COMMON_CLK_AXG) += axg.o axg-aoclk.o
obj-$(CONFIG_COMMON_CLK_AXG_AUDIO) += axg-audio.o
-obj-$(CONFIG_COMMON_CLK_REGMAP_MESON) += clk-regmap.o
diff --git a/drivers/clk/meson/axg-aoclk.c b/drivers/clk/meson/axg-aoclk.c
index 29e0885423871..f91898e9472f0 100644
--- a/drivers/clk/meson/axg-aoclk.c
+++ b/drivers/clk/meson/axg-aoclk.c
@@ -9,10 +9,10 @@
* Author: Qiufang Dai <qiufang.dai@amlogic.com>
*/
#include <linux/clk-provider.h>
+#include <linux/clk-regmap.h>
#include <linux/platform_device.h>
#include <linux/reset-controller.h>
#include <linux/mfd/syscon.h>
-#include "clk-regmap.h"
#include "meson-aoclk.h"
#include "axg-aoclk.h"
diff --git a/drivers/clk/meson/clkc.h b/drivers/clk/meson/clkc.h
index 6b96d55c047d6..92fb237dccce9 100644
--- a/drivers/clk/meson/clkc.h
+++ b/drivers/clk/meson/clkc.h
@@ -8,7 +8,7 @@
#define __CLKC_H
#include <linux/clk-provider.h>
-#include "clk-regmap.h"
+#include <linux/clk-regmap.h>
#define PMASK(width) GENMASK(width - 1, 0)
#define SETPMASK(width, shift) GENMASK(shift + width - 1, shift)
diff --git a/drivers/clk/meson/gxbb-aoclk.c b/drivers/clk/meson/gxbb-aoclk.c
index 42ed61d3c3fba..5283d0491acbb 100644
--- a/drivers/clk/meson/gxbb-aoclk.c
+++ b/drivers/clk/meson/gxbb-aoclk.c
@@ -3,9 +3,9 @@
* Copyright (c) 2016 BayLibre, SAS.
* Author: Neil Armstrong <narmstrong@baylibre.com>
*/
+#include <linux/clk-regmap.h>
#include <linux/platform_device.h>
#include <linux/mfd/syscon.h>
-#include "clk-regmap.h"
#include "meson-aoclk.h"
#include "gxbb-aoclk.h"
diff --git a/drivers/clk/meson/gxbb.c b/drivers/clk/meson/gxbb.c
index 9309cfaaa464e..8db60e0570945 100644
--- a/drivers/clk/meson/gxbb.c
+++ b/drivers/clk/meson/gxbb.c
@@ -6,6 +6,7 @@
#include <linux/clk.h>
#include <linux/clk-provider.h>
+#include <linux/clk-regmap.h>
#include <linux/init.h>
#include <linux/of_device.h>
#include <linux/mfd/syscon.h>
@@ -14,7 +15,6 @@
#include "clkc.h"
#include "gxbb.h"
-#include "clk-regmap.h"
static DEFINE_SPINLOCK(meson_clk_lock);
diff --git a/drivers/clk/meson/meson-aoclk.c b/drivers/clk/meson/meson-aoclk.c
index f965845917e34..ccf0390912e4e 100644
--- a/drivers/clk/meson/meson-aoclk.c
+++ b/drivers/clk/meson/meson-aoclk.c
@@ -10,11 +10,11 @@
* Author: Yixun Lan <yixun.lan@amlogic.com>
*/
+#include <linux/clk-regmap.h>
#include <linux/platform_device.h>
#include <linux/reset-controller.h>
#include <linux/mfd/syscon.h>
#include <linux/of_device.h>
-#include "clk-regmap.h"
#include "meson-aoclk.h"
static int meson_aoclk_do_reset(struct reset_controller_dev *rcdev,
diff --git a/drivers/clk/meson/meson-aoclk.h b/drivers/clk/meson/meson-aoclk.h
index ab2819e889228..3051da204eb13 100644
--- a/drivers/clk/meson/meson-aoclk.h
+++ b/drivers/clk/meson/meson-aoclk.h
@@ -11,9 +11,9 @@
#ifndef __MESON_AOCLK_H__
#define __MESON_AOCLK_H__
+#include <linux/clk-regmap.h>
#include <linux/platform_device.h>
#include <linux/reset-controller.h>
-#include "clk-regmap.h"
struct meson_aoclk_data {
const unsigned int reset_reg;
diff --git a/drivers/clk/meson/meson8b.c b/drivers/clk/meson/meson8b.c
index 346b9e165b7a9..3a5c66eeff23b 100644
--- a/drivers/clk/meson/meson8b.c
+++ b/drivers/clk/meson/meson8b.c
@@ -9,6 +9,7 @@
#include <linux/clk.h>
#include <linux/clk-provider.h>
+#include <linux/clk-regmap.h>
#include <linux/init.h>
#include <linux/of_address.h>
#include <linux/reset-controller.h>
@@ -17,7 +18,6 @@
#include "clkc.h"
#include "meson8b.h"
-#include "clk-regmap.h"
static DEFINE_SPINLOCK(meson_clk_lock);
diff --git a/drivers/clk/meson/clk-regmap.h b/include/linux/clk-regmap.h
index ed2d4348dbe28..ed2d4348dbe28 100644
--- a/drivers/clk/meson/clk-regmap.h
+++ b/include/linux/clk-regmap.h