1. 02 May, 2016 1 commit
    • Stephen Boyd's avatar
      Merge tag 'v4.7-rockchip-clk3' of... · 5569aedf
      Stephen Boyd authored
      Merge tag 'v4.7-rockchip-clk3' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into clk-next
      
      Pull rockchip clk updates from Heiko Stuebner:
      
      A spelling fix and a bunch of rk3399 clock fixes.
      
      * tag 'v4.7-rockchip-clk3' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip:
        clk: rockchip: fix the rk3399 cifout clock
        clk: rockchip: drop unnecessary CLK_IGNORE_UNUSED flags from rk3399
        clk: rockchip: add some frequencies on the rk3399 PLL table
        clk: rockchip: assign more necessary rk3399 clock ids
        clk: rockchip: export some necessary rk3399 clock ids
        clk: rockchip: rename rga clock-id on rk3399
        clk: rockchip: add general gpu soft-reset on rk3399
        clk: rockchip: fix the gate bit for i2c4 and i2c8 on rk3399
        clk: rockchip: fix of spelling mistake on unsuccessful in pll clock type
      5569aedf
  2. 25 Apr, 2016 10 commits
  3. 21 Apr, 2016 5 commits
  4. 20 Apr, 2016 10 commits
  5. 19 Apr, 2016 14 commits
    • Stephen Boyd's avatar
      clk: fixed-rate: Add hw based registration APIs · 26ef56be
      Stephen Boyd authored
      Add registration APIs in the clk fixed-rate code to return struct
      clk_hw pointers instead of struct clk pointers. This way we hide
      the struct clk pointer from providers unless they need to use
      consumer facing APIs.
      Signed-off-by: default avatarStephen Boyd <sboyd@codeaurora.org>
      26ef56be
    • Stephen Boyd's avatar
      clk: gpio: Add hw based registration APIs · b120743a
      Stephen Boyd authored
      Add registration APIs in the clk gpio code to return struct
      clk_hw pointers instead of struct clk pointers. This way we hide
      the struct clk pointer from providers unless they need to use
      consumer facing APIs.
      Signed-off-by: default avatarStephen Boyd <sboyd@codeaurora.org>
      b120743a
    • Stephen Boyd's avatar
      clk: composite: Add hw based registration APIs · 49cb392d
      Stephen Boyd authored
      Add registration APIs in the clk composite code to return struct
      clk_hw pointers instead of struct clk pointers. This way we hide
      the struct clk pointer from providers unless they need to use
      consumer facing APIs.
      Signed-off-by: default avatarStephen Boyd <sboyd@codeaurora.org>
      49cb392d
    • Stephen Boyd's avatar
      clk: fractional-divider: Add hw based registration APIs · 39b44cff
      Stephen Boyd authored
      Add registration APIs in the clk fractional divider code to
      return struct clk_hw pointers instead of struct clk pointers.
      This way we hide the struct clk pointer from providers unless
      they need to use consumer facing APIs.
      Signed-off-by: default avatarStephen Boyd <sboyd@codeaurora.org>
      39b44cff
    • Stephen Boyd's avatar
      clk: fixed-factor: Add hw based registration APIs · 0759ac8a
      Stephen Boyd authored
      Add registration APIs in the clk fixed-factor code to return
      struct clk_hw pointers instead of struct clk pointers. This way
      we hide the struct clk pointer from providers unless they need to
      use consumer facing APIs.
      Signed-off-by: default avatarStephen Boyd <sboyd@codeaurora.org>
      0759ac8a
    • Stephen Boyd's avatar
      clk: mux: Add hw based registration APIs · 264b3171
      Stephen Boyd authored
      Add registration APIs in the clk mux code to return struct clk_hw
      pointers instead of struct clk pointers. This way we hide the
      struct clk pointer from providers unless they need to use
      consumer facing APIs.
      Signed-off-by: default avatarStephen Boyd <sboyd@codeaurora.org>
      264b3171
    • Stephen Boyd's avatar
      clk: gate: Add hw based registration APIs · e270d8cb
      Stephen Boyd authored
      Add registration APIs in the clk gate code to return struct
      clk_hw pointers instead of struct clk pointers. This way we hide
      the struct clk pointer from providers unless they need to use
      consumer facing APIs.
      Signed-off-by: default avatarStephen Boyd <sboyd@codeaurora.org>
      e270d8cb
    • Stephen Boyd's avatar
      clk: divider: Add hw based registration APIs · eb7d264f
      Stephen Boyd authored
      Add registration APIs in the clk divider code to return struct
      clk_hw pointers instead of struct clk pointers. This way we hide
      the struct clk pointer from providers unless they need to use
      consumer facing APIs.
      Signed-off-by: default avatarStephen Boyd <sboyd@codeaurora.org>
      eb7d264f
    • Stephen Boyd's avatar
      clkdev: Add clk_hw based registration APIs · e4f1b49b
      Stephen Boyd authored
      Now that we have a clk registration API that doesn't return
      struct clks, we need to have some way to hand out struct clks via
      the clk_get() APIs that doesn't involve associating struct clk
      pointers with a struct clk_lookup. Luckily, clkdev already
      operates on struct clk_hw pointers, except for the registration
      facing APIs where it converts struct clk pointers into struct
      clk_hw pointers almost immediately.
      
      Let's add clk_hw based registration APIs so that we can skip the
      conversion step and provide a way for clk provider drivers to
      operate exclusively on clk_hw structs. This way we clearly
      split the API between consumers and providers.
      
      Cc: Russell King <linux@arm.linux.org.uk>
      Signed-off-by: default avatarStephen Boyd <sboyd@codeaurora.org>
      e4f1b49b
    • Stephen Boyd's avatar
      clk: Add clk_hw OF clk providers · 0861e5b8
      Stephen Boyd authored
      Now that we have a clk registration API that doesn't return
      struct clks, we need to have some way to hand out struct clks via
      the clk_get() APIs that doesn't involve associating struct clk
      pointers with an OF node. Currently we ask the OF provider to
      give us a struct clk pointer for some clkspec, turn that struct
      clk into a struct clk_hw and then allocate a new struct clk to
      return to the caller.
      
      Let's add a clk_hw based OF provider hook that returns a struct
      clk_hw directly, so that we skip the intermediate step of
      converting from struct clk to struct clk_hw. Eventually when
      we've converted all OF clk providers to struct clk_hw based APIs
      we can remove the struct clk based ones.
      
      It should also be noted that we change the onecell provider to
      have a flex array instead of a pointer for the array of clk_hw
      pointers. This allows providers to allocate one structure of the
      correct length in one step instead of two.
      Signed-off-by: default avatarStephen Boyd <sboyd@codeaurora.org>
      0861e5b8
    • Stephen Boyd's avatar
      clk: Add {devm_}clk_hw_{register,unregister}() APIs · 4143804c
      Stephen Boyd authored
      We've largely split the clk consumer and provider APIs along
      struct clk and struct clk_hw, but clk_register() still returns a
      struct clk pointer for each struct clk_hw that's registered.
      Eventually we'd like to only allocate struct clks when there's a
      user, because struct clk is per-user now, so clk_register() needs
      to change.
      
      Let's add new APIs to register struct clk_hws, but this time
      we'll hide the struct clk from the caller by returning an int
      error code. Also add an unregistration API that takes the clk_hw
      structure that was passed to the registration API. This way
      provider drivers never have to deal with a struct clk pointer
      unless they're using the clk consumer APIs.
      Signed-off-by: default avatarStephen Boyd <sboyd@codeaurora.org>
      4143804c
    • Stephen Boyd's avatar
      clkdev: Remove clk_register_clkdevs() · a14b9e05
      Stephen Boyd authored
      Now that we've converted the only caller over to another clkdev
      API, remove this one.
      Reviewed-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
      Cc: Russell King <linux@arm.linux.org.uk>
      Signed-off-by: default avatarStephen Boyd <sboyd@codeaurora.org>
      a14b9e05
    • Heiko Stuebner's avatar
      clk: rockchip: drop unnecessary header comment · 2b4e6286
      Heiko Stuebner authored
      The internal clk header did contain a comment indicating that some of the
      defined registers were shared over multiple clock controller variants.
      In recent times, it was simply extended all the time and stopped providing
      any meaningful information, so drop it and it's overlong line.
      Signed-off-by: default avatarHeiko Stuebner <heiko@sntech.de>
      2b4e6286
    • Heiko Stuebner's avatar
      clk: rockchip: reign in some overly long lines in the rk3399 controller · 995d3fde
      Heiko Stuebner authored
      We allow overlong lines in the array portitions describing the clock
      trees to ease readability by having each element always at the same
      position. But the rest of the code should honor the 80 char limit.
      
      Fix the newly added rk3399 clock code to respect that.
      Signed-off-by: default avatarHeiko Stuebner <heiko@sntech.de>
      995d3fde