Merge branches 'clk-spreadtrum', 'clk-mvebu-dvfs', 'clk-qoriq', 'clk-imx' and 'clk...
authorStephen Boyd <sboyd@codeaurora.org>
Sat, 27 Jan 2018 00:41:47 +0000 (16:41 -0800)
committerStephen Boyd <sboyd@codeaurora.org>
Sat, 27 Jan 2018 00:41:47 +0000 (16:41 -0800)
* clk-spreadtrum:
  clk: sprd: add clocks support for SC9860
  clk: sprd: Add dt-bindings include file for SC9860
  dt-bindings: Add Spreadtrum clock binding documentation
  clk: sprd: add adjustable pll support
  clk: sprd: add composite clock support
  clk: sprd: add divider clock support
  clk: sprd: add mux clock support
  clk: sprd: add gate clock support
  clk: sprd: Add common infrastructure
  clk: move clock common macros out from vendor directories

* clk-mvebu-dvfs:
  clk: mvebu: armada-37xx-periph: add DVFS support for cpu clocks
  clk: mvebu: armada-37xx-periph: prepare cpu clk to be used with DVFS
  clk: mvebu: armada-37xx-periph: cosmetic changes

* clk-qoriq:
  clk: qoriq: add more divider clocks support

* clk-imx:
  clk: imx51: uart4, uart5 gates only exist on imx50, imx53

* clk-qcom-ipq8074:
  clk: qcom: ipq8074: add misc resets for PCIE and NSS
  dt-bindings: clock: qcom: add misc resets for PCIE and NSS
  clk: qcom: ipq8074: add GP and Crypto clocks
  clk: qcom: ipq8074: add NSS ethernet port clocks
  clk: qcom: ipq8074: add NSS clocks
  clk: qcom: ipq8074: add PCIE, USB and SDCC clocks
  clk: qcom: ipq8074: add remaining PLL’s
  dt-bindings: clock: qcom: add remaining clocks for IPQ8074
  clk: qcom: ipq8074: fix missing GPLL0 divider width
  clk: qcom: add parent map for regmap mux
  clk: qcom: add read-only divider operations

1  2  3  4  5  6 
include/linux/clk-provider.h

index 73ac87f34df9906e8090cd22e4f09bc3623e6d74,26ea037f88e9b0d43d1a035a3371eea7d8bf12c1,7c925e6211f12eb91b1236d091eed57180899138,7c925e6211f12eb91b1236d091eed57180899138,7c925e6211f12eb91b1236d091eed57180899138,7c925e6211f12eb91b1236d091eed57180899138..411db2423bd45818dd1cffbdd1bf352bda2e5f25
@@@@@@@ -744,7 -744,6 -744,6 -744,6 -744,6 -744,6 +744,7 @@@@@@@ unsigned long clk_hw_get_rate(const str
      unsigned long __clk_get_flags(struct clk *clk);
      unsigned long clk_hw_get_flags(const struct clk_hw *hw);
      bool clk_hw_is_prepared(const struct clk_hw *hw);
 +++++bool clk_hw_rate_is_protected(const struct clk_hw *hw);
      bool clk_hw_is_enabled(const struct clk_hw *hw);
      bool __clk_is_enabled(struct clk *clk);
      struct clk *__clk_lookup(const char *name);
@@@@@@@ -807,6 -806,44 -806,6 -806,6 -806,6 -806,6 +807,44 @@@@@@@ extern struct of_device_id __clk_of_tab
        }                                                               \
        OF_DECLARE_1(clk, name, compat, name##_of_clk_init_driver)
      
+ ++++#define CLK_HW_INIT(_name, _parent, _ops, _flags)         \
+ ++++  (&(struct clk_init_data) {                              \
+ ++++          .flags          = _flags,                       \
+ ++++          .name           = _name,                        \
+ ++++          .parent_names   = (const char *[]) { _parent }, \
+ ++++          .num_parents    = 1,                            \
+ ++++          .ops            = _ops,                         \
+ ++++  })
+ ++++
+ ++++#define CLK_HW_INIT_PARENTS(_name, _parents, _ops, _flags)        \
+ ++++  (&(struct clk_init_data) {                              \
+ ++++          .flags          = _flags,                       \
+ ++++          .name           = _name,                        \
+ ++++          .parent_names   = _parents,                     \
+ ++++          .num_parents    = ARRAY_SIZE(_parents),         \
+ ++++          .ops            = _ops,                         \
+ ++++  })
+ ++++
+ ++++#define CLK_HW_INIT_NO_PARENT(_name, _ops, _flags)        \
+ ++++  (&(struct clk_init_data) {                      \
+ ++++          .flags          = _flags,               \
+ ++++          .name           = _name,                \
+ ++++          .parent_names   = NULL,                 \
+ ++++          .num_parents    = 0,                    \
+ ++++          .ops            = _ops,                 \
+ ++++  })
+ ++++
+ ++++#define CLK_FIXED_FACTOR(_struct, _name, _parent,                 \
+ ++++                  _div, _mult, _flags)                            \
+ ++++  struct clk_fixed_factor _struct = {                             \
+ ++++          .div            = _div,                                 \
+ ++++          .mult           = _mult,                                \
+ ++++          .hw.init        = CLK_HW_INIT(_name,                    \
+ ++++                                        _parent,                  \
+ ++++                                        &clk_fixed_factor_ops,    \
+ ++++                                        _flags),                  \
+ ++++  }
+ ++++
      #ifdef CONFIG_OF
      int of_clk_add_provider(struct device_node *np,
                        struct clk *(*clk_src_get)(struct of_phandle_args *args,