1. 22 Jul, 2016 1 commit
  2. 19 Jul, 2016 2 commits
  3. 16 Jul, 2016 2 commits
  4. 13 Jul, 2016 3 commits
  5. 12 Jul, 2016 2 commits
    • Jean Delvare's avatar
      clk: oxnas: Add hardware dependencies · 821f9946
      Jean Delvare authored
      The clk-oxnas driver is specific to its architecture, so do not
      propose it on other architectures, unless build-testing.
      Signed-off-by: default avatarJean Delvare <jdelvare@suse.de>
      Cc: Stephen Boyd <sboyd@codeaurora.org>
      Acked-by: default avatarNeil Armstrong <narmstrong@baylibre.com>
      Signed-off-by: default avatarMichael Turquette <mturquette@baylibre.com>
      Link: lkml.kernel.org/r/20160707091844.196a7930@endymion
      821f9946
    • Stefan Agner's avatar
      clk: imx7d: do not set parent of ethernet time/ref clocks · 5e33ebff
      Stefan Agner authored
      All device trees currently in mainline specify the time clock parent
      using the assigned-clocks/assigned-clock-parents method, there is no
      need to statically assign the parent in the core clock driver.
      Also all current boards provide an Ethernet reference clock for the
      PHY externally, hence configuring the internal PHY reference clock.
      
      Furthermore, and the actual driver of this patch, specify ethernet
      related parents at that early point in boot leads to a warning:
      bad: scheduling from the idle thread!
      
      The reason for the warning is that setting the parent enables the ENET
      PLL since we are using CLK_OPS_PARENT_ENABLE. Enabling the ENET PLL can
      cause clk_pllv3_wait_lock to sleep. See also:
      commit fc8726a2 ("clk: core: support clocks which requires parents
      enable (part 2)").
      
      Note that setting the ENET AXI root clock parent also requires ENET
      PLL to be enabled. However, U-Boot typically leaves the ENET PLL on,
      hence when the framework sets the parent of the first clock, it does
      not need to wait for the PLL to come up. But because there is currently
      no user of that clock, the PLL gets disabled after setting the parent.
      Therefore, subsequent reparenting calls of any clock which somehow rely
      on the ENET PLL, need to reenable the ENET PLL which leads to a sleep.
      Removing those subsequent reparenting calls works around this issue.
      
      Also remove comments. The code is really verbose enough.
      Signed-off-by: default avatarStefan Agner <stefan@agner.ch>
      Tested-by: default avatarFabio Estevam <festevam@gmail.com>
      Signed-off-by: default avatarMichael Turquette <mturquette@baylibre.com>
      Link: lkml.kernel.org/r/20160703174813.13970-1-stefan@agner.ch
      5e33ebff
  6. 11 Jul, 2016 4 commits
  7. 09 Jul, 2016 14 commits
  8. 08 Jul, 2016 4 commits
  9. 07 Jul, 2016 3 commits
  10. 06 Jul, 2016 5 commits
    • Paul Gortmaker's avatar
      clk: sunxi: make clk-* explicitly non-modular · 439a36d7
      Paul Gortmaker authored
      We have the following file --> Kconfig mapping:
      
      sunxi/clk-factors.c              obj-y
      sunxi/clk-sun6i-apb0-gates.c     CONFIG_MFD_SUN6I_PRCM (bool)
      sunxi/clk-sun6i-apb0.c           CONFIG_MFD_SUN6I_PRCM
      sunxi/clk-sun6i-ar100.c          CONFIG_MFD_SUN6I_PRCM
      sunxi/clk-sun8i-apb0.c           CONFIG_MFD_SUN6I_PRCM
      sunxi/clk-sun9i-mmc.c            obj-y
      
      Hence none of these are being built as a module by anyone.
      
      Lets remove the modular code that is essentially orphaned, so that
      when reading the drivers there is no doubt they are builtin-only.  All
      drivers get mostly the same changes, so they are handled in batch.
      
      Changes are (1) convert to builtin_platform_register, (2) use the
      init.h header, (3) delete the MODULE_LICENCE/MODULE_AUTHOR and
      associated tags, and (4) delete any ".remove" functions.
      
      There was a stray module.h in a file not using any init.h or
      module.h stuff, so we simply removed that one.
      
      In two cases, we explicitly disallow a driver unbind, since that
      doesn't have a sensible use case anyway, and it allows us to drop
      the ".remove" code for non-modular drivers.
      
      Since module_platform_driver() uses the same init level priority as
      builtin_platform_driver() the init ordering remains unchanged with
      this commit.
      
      We delete the MODULE_LICENSE etc. tags since all that information
      is already contained at the top of each file in the comments.
      Acked-by: default avatarBoris Brezillon <boris.brezillon@free-electrons.com>
      Cc: Chen-Yu Tsai <wens@csie.org>
      Cc: "Emilio López" <emilio@elopez.com.ar>
      Cc: Stephen Boyd <sboyd@codeaurora.org>
      Acked-by: default avatarMaxime Ripard <maxime.ripard@free-electrons.com>
      Cc: linux-clk@vger.kernel.org
      Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
      Signed-off-by: default avatarMichael Turquette <mturquette@baylibre.com>
      Link: lkml.kernel.org/r/20160704211220.5685-9-paul.gortmaker@windriver.com
      439a36d7
    • Paul Gortmaker's avatar
      clk: oxnas: make it explicitly non-modular · 80c6397c
      Paul Gortmaker authored
      The Kconfig currently controlling compilation of this code is:
      
      drivers/clk/Kconfig:config COMMON_CLK_OXNAS
      drivers/clk/Kconfig:    bool "Clock driver for the OXNAS SoC Family"
      
      ...meaning that it currently is not being built as a module by anyone.
      
      Lets remove the modular code that is essentially orphaned, so that
      when reading the driver there is no doubt it is builtin-only.
      
      We explicitly disallow a driver unbind, since that doesn't have a
      sensible use case anyway, and it allows us to drop the ".remove"
      code for non-modular drivers.
      
      Since module_platform_driver() uses the same init level priority as
      builtin_platform_driver() the init ordering remains unchanged with
      this commit.
      
      Also note that MODULE_DEVICE_TABLE is a no-op for non-modular code.
      
      Cc: Stephen Boyd <sboyd@codeaurora.org>
      Acked-by: default avatarNeil Armstrong <narmstrong@baylibre.com>
      Cc: linux-clk@vger.kernel.org
      Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
      Signed-off-by: default avatarMichael Turquette <mturquette@baylibre.com>
      Link: lkml.kernel.org/r/20160704211220.5685-6-paul.gortmaker@windriver.com
      80c6397c
    • Wadim Egorov's avatar
      clk: Kconfig: Name RK818 in Kconfig for COMMON_CLK_RK808 · cb98fd5d
      Wadim Egorov authored
      The RK808 and RK818 PMICs are using a similar register map.
      We can reuse the clk driver for the RK818 PMIC. So let's add
      the RK818 in the Kconfig description.
      Signed-off-by: default avatarWadim Egorov <w.egorov@phytec.de>
      Acked-by: default avatarStephen Boyd <sboyd@codeaurora.org>
      Signed-off-by: default avatarMichael Turquette <mturquette@baylibre.com>
      Link: lkml.kernel.org/r/1464850228-17244-4-git-send-email-w.egorov@phytec.de
      cb98fd5d
    • Xinliang Liu's avatar
      clk: hi6220: Change syspll and media_syspll clk to 1.19GHz · c6e80ace
      Xinliang Liu authored
      In the bootloader of HiKey/96boards, syspll and media_syspll clk
      was initialized to 1.19GHz. So, here changes it in kernel accordingly.
      
      1.19GHz was chosen over 1.2GHz because at 1.19GHz we get more precise
      HDMI pixel clock (1.19G/16 = 74.4MHz) for 1280x720p@60Hz HDMI
      (74.25MHz required by standards). Closer pixel clock means better
      compatibility to HDMI monitors.
      Signed-off-by: default avatarGuodong Xu <guodong.xu@linaro.org>
      Signed-off-by: default avatarXinliang Liu <xinliang.liu@linaro.org>
      Signed-off-by: default avatarMichael Turquette <mturquette@baylibre.com>
      Link: lkml.kernel.org/r/1467189955-21694-1-git-send-email-guodong.xu@linaro.org
      c6e80ace
    • Paul Gortmaker's avatar
      clk: meson: make gxbb explicitly non-modular · 1f501d63
      Paul Gortmaker authored
      The Kconfig currently controlling compilation of this code is:
      
      drivers/clk/meson/Kconfig:config COMMON_CLK_GXBB
      drivers/clk/meson/Kconfig:      bool
      
      ...meaning that it currently is not being built as a module by anyone.
      
      Lets remove the modular code that is essentially orphaned, so that
      when reading the driver there is no doubt it is builtin-only.
      
      Since module_init translates to device_initcall in the non-modular
      case, the init ordering remains unchanged with this commit.
      
      Also note that MODULE_DEVICE_TABLE and ALIAS are no-op for non-modules.
      
      We also delete the MODULE_LICENSE tag etc. since all that information
      was (or is now) contained at the top of the file in the comments.
      
      Cc: Stephen Boyd <sboyd@codeaurora.org>
      Cc: Carlo Caione <carlo@caione.org>
      Cc: Kevin Hilman <khilman@baylibre.com>
      Cc: linux-clk@vger.kernel.org
      Cc: linux-amlogic@lists.infradead.org
      Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
      Signed-off-by: default avatarMichael Turquette <mturquette@baylibre.com>
      Link: lkml.kernel.org/r/20160704211220.5685-3-paul.gortmaker@windriver.com
      1f501d63