Hi Nicolas, Am 06.06.19 um 16:22 schrieb Nicolas Saenz Julienne: > Raspberry Pi's firmware offers an interface though which update it's > clock's frequencies. This is specially useful in order to change the CPU > clock (pllb_arm) which is 'owned' by the firmware and we're unable to > scale using the register interface provided by clk-bcm2835. > > Signed-off-by: Nicolas Saenz Julienne <nsaenzjulie...@suse.de> > Acked-by: Eric Anholt <e...@anholt.net> > > --- > > Changes since v1: > - Use BIT() > - Add Kconfig entry, with compile test > - remove prepare/unprepare > - Fix uninitialized init.name in pllb registration > - Add MODULE_ALIAS() > - Use determine_rate() instead of round_rate() > - Add small introduction explaining need for driver > > drivers/clk/bcm/Kconfig | 7 + > drivers/clk/bcm/Makefile | 1 + > drivers/clk/bcm/clk-raspberrypi.c | 302 ++++++++++++++++++++++++++++++ > 3 files changed, 310 insertions(+) > create mode 100644 drivers/clk/bcm/clk-raspberrypi.c > > diff --git a/drivers/clk/bcm/Kconfig b/drivers/clk/bcm/Kconfig > index 29ee7b776cd4..a4a2775d65e1 100644 > --- a/drivers/clk/bcm/Kconfig > +++ b/drivers/clk/bcm/Kconfig > @@ -64,3 +64,10 @@ config CLK_BCM_SR > default ARCH_BCM_IPROC > help > Enable common clock framework support for the Broadcom Stingray SoC > + > +config CLK_RASPBERRYPI > + tristate "Raspberry Pi firmware based clock support" > + depends on RASPBERRYPI_FIRMWARE || (COMPILE_TEST && > !RASPBERRYPI_FIRMWARE) > + help > + Enable common clock framework support for Raspberry Pi's firmware > + dependent clocks > diff --git a/drivers/clk/bcm/Makefile b/drivers/clk/bcm/Makefile > index 002661d39128..eb7159099d82 100644 > --- a/drivers/clk/bcm/Makefile > +++ b/drivers/clk/bcm/Makefile > @@ -7,6 +7,7 @@ obj-$(CONFIG_CLK_BCM_KONA) += clk-bcm21664.o > obj-$(CONFIG_COMMON_CLK_IPROC) += clk-iproc-armpll.o clk-iproc-pll.o > clk-iproc-asiu.o > obj-$(CONFIG_ARCH_BCM2835) += clk-bcm2835.o > obj-$(CONFIG_ARCH_BCM2835) += clk-bcm2835-aux.o > +obj-$(CONFIG_CLK_RASPBERRYPI) += clk-raspberrypi.o > obj-$(CONFIG_ARCH_BCM_53573) += clk-bcm53573-ilp.o > obj-$(CONFIG_CLK_BCM_CYGNUS) += clk-cygnus.o > obj-$(CONFIG_CLK_BCM_HR2) += clk-hr2.o
not your fault but you better rebase your next version on linux-next because Florian's latest patches ("clk: bcm: Make BCM2835 clock drivers selectable") collide with this patch. Checkpatch gives the following output about this patch: WARNING: 'harware' may be misspelled - perhaps 'hardware'? #58: FILE: drivers/clk/bcm/clk-raspberrypi.c:5: + * Even though clk-bcm2835 provides an interface to the harware registers for ERROR: code indent should use tabs where possible #197: FILE: drivers/clk/bcm/clk-raspberrypi.c:144: +^I^I^I^I struct clk_rate_request *req)$