1. 24 Jul, 2014 1 commit
  2. 13 Jul, 2014 14 commits
  3. 11 Jul, 2014 1 commit
  4. 08 Jul, 2014 2 commits
  5. 03 Jul, 2014 1 commit
  6. 02 Jul, 2014 14 commits
    • Stephen Boyd's avatar
      clk: qcom: HDMI source sel is 3 not 2 · c556bcdd
      Stephen Boyd authored
      The HDMI PLL input to the tv mux is supposed to be 3, not 2. Fix
      the code so that we can properly select the HDMI PLL.
      
      Fixes: 6d00b56f "clk: qcom: Add support for MSM8960's multimedia clock controller (MMCC)"
      Reported-by: default avatarRob Clark <robdclark@gmail.com>
      Signed-off-by: default avatarStephen Boyd <sboyd@codeaurora.org>
      Signed-off-by: default avatarMike Turquette <mturquette@linaro.org>
      c556bcdd
    • Peter De Schrijver's avatar
      clk: define and export clk_debugs_add_file · fb2b3c9f
      Peter De Schrijver authored
      Define and export a new function clk_debugs_add_file which adds a file
      to a existing clock's debugfs directory. This can be used by clock
      providers to add debugfs entries which are not related to a specific clock
      type. Examples include the ability to measure the rate of a clock. It can
      also be used by modules to create new debugfs entries. This is useful if you
      want to expose features for testing which can potentially cause system
      instability such as allowing to change a clock's rate from userspace.
      Signed-off-by: default avatarPeter De Schrijver <pdeschrijver@nvidia.com>
      Signed-off-by: default avatarMike Turquette <mturquette@linaro.org>
      fb2b3c9f
    • Mike Turquette's avatar
      Merge tag 'for_3.16/samsung-clk-fixes' of... · 4924b8a2
      Mike Turquette authored
      Merge tag 'for_3.16/samsung-clk-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tfiga/samsung-clk into clk-fixes-samsung
      
      Samsung clock fixes for v3.16.
      
      This pull request contains fixes for various issues found while testing
      -rc versions of Linux 3.16. Mostly two kinds of patches:
      
      * Fixes of incorrectly defined clocks
      
      1) a37c82a3 clk: samsung: exynos4: Remove SRC_MASK_ISP gates
      
          Issue present since v3.10.
      
      2) 0b1643b3 clk/exynos5250: fix bit number for tv sysmmu clock
      
          Issue present since v3.16.
      
      3) 44ff0254 clk: exynos5420: Remove aclk66_peric from the clock tree description
      
          Issue present since v3.11.
      
      * Adding things missed by original patches
      
      1) cec1cdea clk: samsung: fix several typos to fix boot on s3c2410
      2) 34ece9e6 clk: samsung: add more aliases for s3c24xx
      
          Both issues present since the driver was added in v3.16.
      
      3) a92dda4b clk: s3c64xx: Hookup SPI clocks correctly
      
          Issue present since v3.12.
      4924b8a2
    • Karol Wrona's avatar
      clk: s2mps11: Fix clk_ops · 89ed7e6e
      Karol Wrona authored
      s2mps11 clocks had registered callbacks for prepare ,unprepare and is_enabled.
      During disabling unused clocks the lack of is_prepared caused that unused
      s2mps11 clocks were not unprepared and stayed active.
      
      Regmap_read is cached so it can be called in is_prepare callback
      to achieve this information. Enabled field was removed from struct s2mps11_clk.
      Signed-off-by: default avatarKarol Wrona <k.wrona@samsung.com>
      Signed-off-by: default avatarMike Turquette <mturquette@linaro.org>
      89ed7e6e
    • Alexandre Belloni's avatar
      clk: at91: main: warn when the main crystal frequency is not set · 4da66b63
      Alexandre Belloni authored
      When the main crystal frequency is not set, the main clock is approximated using
      the MAINF value in the CKGR_MCFR register. Warn the user in that case.
      Signed-off-by: default avatarAlexandre Belloni <alexandre.belloni@free-electrons.com>
      Acked-by: default avatarBoris BREZILLON <boris.brezillon@overkiz.com>
      Signed-off-by: default avatarMike Turquette <mturquette@linaro.org>
      4da66b63
    • Mike Turquette's avatar
    • Himangi Saraogi's avatar
      clk: sunxi: fix devm_ioremap_resource error detection code · c3dcac87
      Himangi Saraogi authored
      devm_ioremap_resource returns an ERR_PTR value, not NULL, on failure.
      
      A simplified version of the semantic match that finds this problem is as
      follows:
      
      // <smpl>
      @@
      expression e,e1;
      statement S;
      @@
      
      *e = devm_ioremap_resource(...);
      if (!e1) S
      
      // </smpl>
      Signed-off-by: default avatarHimangi Saraogi <himangi774@gmail.com>
      Acked-by: default avatarJulia Lawall <julia.lawall@lip6.fr>
      Acked-by Boris BREZILLON <boris.brezillon@free-electrons.com>
      Signed-off-by: default avatarMike Turquette <mturquette@linaro.org>
      c3dcac87
    • Krzysztof Kozlowski's avatar
      clk: s2mps11: Fix double free corruption during driver unbind · 2a96dfa4
      Krzysztof Kozlowski authored
      After unbinding the driver memory was corrupted by double free of
      clk_lookup structure. This lead to OOPS when re-binding the driver
      again.
      
      The driver allocated memory for 'clk_lookup' with devm_kzalloc. During
      driver removal this memory was freed twice: once by clkdev_drop() and
      second by devm code.
      
      Kernel panic log:
      [   30.839284] Unable to handle kernel paging request at virtual address 5f343173
      [   30.846476] pgd = dee14000
      [   30.849165] [5f343173] *pgd=00000000
      [   30.852703] Internal error: Oops: 805 [#1] PREEMPT SMP ARM
      [   30.858166] Modules linked in:
      [   30.861208] CPU: 0 PID: 1 Comm: bash Not tainted 3.16.0-rc2-00239-g94bdf617b07e-dirty #40
      [   30.869364] task: df478000 ti: df480000 task.ti: df480000
      [   30.874752] PC is at clkdev_add+0x2c/0x38
      [   30.878738] LR is at clkdev_add+0x18/0x38
      [   30.882732] pc : [<c0350908>]    lr : [<c03508f4>]    psr: 60000013
      [   30.882732] sp : df481e78  ip : 00000001  fp : c0700ed8
      [   30.894187] r10: 0000000c  r9 : 00000000  r8 : c07b0e3c
      [   30.899396] r7 : 00000002  r6 : df45f9d0  r5 : df421390  r4 : c0700d6c
      [   30.905906] r3 : 5f343173  r2 : c0700d84  r1 : 60000013  r0 : c0700d6c
      [   30.912417] Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment user
      [   30.919534] Control: 10c53c7d  Table: 5ee1406a  DAC: 00000015
      [   30.925262] Process bash (pid: 1, stack limit = 0xdf480240)
      [   30.930817] Stack: (0xdf481e78 to 0xdf482000)
      [   30.935159] 1e60:                                                       00001000 df6de610
      [   30.943321] 1e80: df7f4558 c0355650 c05ec6ec c0700eb0 df6de600 df7f4510 dec9d69c 00000014
      [   30.951480] 1ea0: 00167b48 df6de610 c0700e30 c0713518 00000000 c0700e30 dec9d69c 00000006
      [   30.959639] 1ec0: 00167b48 c02c1b7c c02c1b64 df6de610 c07aff48 c02c0420 c06fb150 c047cc20
      [   30.967798] 1ee0: df6de610 df6de610 c0700e30 df6de644 c06fb150 0000000c dec9d690 c02bef90
      [   30.975957] 1f00: dec9c6c0 dece4c00 df481f80 dece4c00 0000000c c02be73c 0000000c c016ca8c
      [   30.984116] 1f20: c016ca48 00000000 00000000 c016c1f4 00000000 00000000 b6f18000 df481f80
      [   30.992276] 1f40: df7f66c0 0000000c df480000 df480000 b6f18000 c011094c df47839c 60000013
      [   31.000435] 1f60: 00000000 00000000 df7f66c0 df7f66c0 0000000c df480000 b6f18000 c0110dd4
      [   31.008594] 1f80: 00000000 00000000 0000000c b6ec05d8 0000000c b6f18000 00000004 c000f2a8
      [   31.016753] 1fa0: 00001000 c000f0e0 b6ec05d8 0000000c 00000001 b6f18000 0000000c 00000000
      [   31.024912] 1fc0: b6ec05d8 0000000c b6f18000 00000004 0000000c 00000001 00000000 00167b48
      [   31.033071] 1fe0: 00000000 bed83a80 b6e004f0 b6e5122c 60000010 00000001 ffffffff ffffffff
      [   31.041248] [<c0350908>] (clkdev_add) from [<c0355650>] (s2mps11_clk_probe+0x2b4/0x3b4)
      [   31.049223] [<c0355650>] (s2mps11_clk_probe) from [<c02c1b7c>] (platform_drv_probe+0x18/0x48)
      [   31.057728] [<c02c1b7c>] (platform_drv_probe) from [<c02c0420>] (driver_probe_device+0x13c/0x384)
      [   31.066579] [<c02c0420>] (driver_probe_device) from [<c02bef90>] (bind_store+0x88/0xd8)
      [   31.074564] [<c02bef90>] (bind_store) from [<c02be73c>] (drv_attr_store+0x20/0x2c)
      [   31.082118] [<c02be73c>] (drv_attr_store) from [<c016ca8c>] (sysfs_kf_write+0x44/0x48)
      [   31.090016] [<c016ca8c>] (sysfs_kf_write) from [<c016c1f4>] (kernfs_fop_write+0xc0/0x17c)
      [   31.098176] [<c016c1f4>] (kernfs_fop_write) from [<c011094c>] (vfs_write+0xa0/0x1c4)
      [   31.105899] [<c011094c>] (vfs_write) from [<c0110dd4>] (SyS_write+0x40/0x8c)
      [   31.112931] [<c0110dd4>] (SyS_write) from [<c000f0e0>] (ret_fast_syscall+0x0/0x3c)
      [   31.120481] Code: e2842018 e584501c e1a00004 e885000c (e5835000)
      [   31.126596] ---[ end trace efad45bfa3a61b05 ]---
      [   31.131181] Kernel panic - not syncing: Fatal exception
      [   31.136368] CPU1: stopping
      [   31.139054] CPU: 1 PID: 0 Comm: swapper/1 Tainted: G      D       3.16.0-rc2-00239-g94bdf617b07e-dirty #40
      [   31.148697] [<c0016480>] (unwind_backtrace) from [<c0012950>] (show_stack+0x10/0x14)
      [   31.156419] [<c0012950>] (show_stack) from [<c0480db8>] (dump_stack+0x80/0xcc)
      [   31.163622] [<c0480db8>] (dump_stack) from [<c001499c>] (handle_IPI+0x130/0x15c)
      [   31.170998] [<c001499c>] (handle_IPI) from [<c000862c>] (gic_handle_irq+0x60/0x68)
      [   31.178549] [<c000862c>] (gic_handle_irq) from [<c0013480>] (__irq_svc+0x40/0x70)
      [   31.186009] Exception stack(0xdf4bdf88 to 0xdf4bdfd0)
      [   31.191046] df80:                   ffffffed 00000000 00000000 00000000 df4bc000 c06d042c
      [   31.199207] dfa0: 00000000 ffffffed c06d03c0 00000000 c070c288 00000000 00000000 df4bdfd0
      [   31.207363] dfc0: c0010324 c0010328 60000013 ffffffff
      [   31.212402] [<c0013480>] (__irq_svc) from [<c0010328>] (arch_cpu_idle+0x28/0x30)
      [   31.219783] [<c0010328>] (arch_cpu_idle) from [<c005f150>] (cpu_startup_entry+0x2c4/0x3f0)
      [   31.228027] [<c005f150>] (cpu_startup_entry) from [<400086c4>] (0x400086c4)
      [   31.234968] ---[ end Kernel panic - not syncing: Fatal exception
      
      Fixes: 7cc560de ("clk: s2mps11: Add support for s2mps11")
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarKrzysztof Kozlowski <k.kozlowski@samsung.com>
      Reviewed-by: default avatarYadwinder Singh Brar <yadi.brar@samsung.com>
      Signed-off-by: default avatarMike Turquette <mturquette@linaro.org>
      2a96dfa4
    • Peter Ujfalusi's avatar
      clk: Add driver for Palmas clk32kg and clk32kgaudio clocks · 942d1d67
      Peter Ujfalusi authored
      Palmas class of devices can provide 32K clock(s) to be used by other devices
      on the board. Depending on the actual device the provided clocks can be:
      CLK32K_KG and CLK32K_KGAUDIO
      or only one:
      CLK32K_KG (TPS659039 for example)
      
      Use separate compatible flags for the two 32K clock.
      A system which needs or have only one of the 32k clock from
      Palmas will need to add node(s) for each clock as separate section
      in the dts file.
      The two compatible property is:
      "ti,palmas-clk32kg" for clk32kg clock
      "ti,palmas-clk32kgaudio" for clk32kgaudio clock
      
      Apart from the register control of the clocks - which is done via
      the clock API there is a posibility to enable the external sleep
      control. In this way the clock can be enabled/disabled on demand by the
      user of the clock.
      
      See the documentation for more details.
      Signed-off-by: default avatarPeter Ujfalusi <peter.ujfalusi@ti.com>
      Reviewed-by: default avatarNishanth Menon <nm@ti.com>
      Signed-off-by: default avatarMike Turquette <mturquette@linaro.org>
      942d1d67
    • Peter Ujfalusi's avatar
      dt/bindings: Binding documentation for Palmas clk32kg and clk32kgaudio clocks · 5974b794
      Peter Ujfalusi authored
      Palmas class of devices can provide 32K clock(s) to be used by other devices
      on the board. Depending on the actual device the provided clocks can be:
      CLK32K_KG and CLK32K_KGAUDIO
      or only one:
      CLK32K_KG (TPS659039 for example)
      
      Use separate compatible flags for the two 32K clock.
      A system which needs or have only one of the 32k clock from
      Palmas will need to add node(s) for each clock as separate section
      in the dts file.
      The two compatible property is:
      "ti,palmas-clk32kg" for clk32kg clock
      "ti,palmas-clk32kgaudio" for clk32kgaudio clock
      
      Apart from the register control of the clocks - which is done via
      the clock API there is a posibility to enable the external sleep
      control. In this way the clock can be enabled/disabled on demand by the
      user of the clock.
      Signed-off-by: default avatarPeter Ujfalusi <peter.ujfalusi@ti.com>
      Reviewed-by: default avatarNishanth Menon <nm@ti.com>
      Signed-off-by: default avatarMike Turquette <mturquette@linaro.org>
      5974b794
    • Roger Quadros's avatar
      clk: ti: am43x: Fix boot with CONFIG_SOC_AM33XX disabled · 4332ec1a
      Roger Quadros authored
      Define ti_clk_register_dpll_x2() and of_ti_am3_dpll_x2_setup() if
      AM43XX is defined.
      
      Fixes the below boot issue.
      
      [    2.157258] gpmc_l3_clk not enabled
      [    2.161194] gpmc_l3_clk not enabled
      [    2.164896] Division by zero in kernel.
      [    2.169055] CPU: 0 PID: 321 Comm: kworker/u2:2 Tainted: G        W     3.16.0-rc1-00008-g4c0e520 #273
      [    2.178880] Workqueue: deferwq deferred_probe_work_func
      [    2.184459] [<c001477c>] (unwind_backtrace) from [<c001187c>] (show_stack+0x10/0x14)
      [    2.192752] [<c001187c>] (show_stack) from [<c0530f28>] (dump_stack+0x80/0x9c)
      [    2.200486] [<c0530f28>] (dump_stack) from [<c02c867c>] (Ldiv0+0x8/0x10)
      [    2.207678] [<c02c867c>] (Ldiv0) from [<c0022da0>] (gpmc_calc_divider+0x24/0x40)
      [    2.215490] [<c0022da0>] (gpmc_calc_divider) from [<c0022e20>] (gpmc_cs_set_timings+0x18/0x474)
      [    2.224783] [<c0022e20>] (gpmc_cs_set_timings) from [<c003069c>] (gpmc_nand_init+0x74/0x1a8)
      [    2.233791] [<c003069c>] (gpmc_nand_init) from [<c0024668>] (gpmc_probe+0x52c/0x874)
      [    2.242089] [<c0024668>] (gpmc_probe) from [<c0349218>] (platform_drv_probe+0x18/0x48)
      [    2.250534] [<c0349218>] (platform_drv_probe) from [<c0347d88>] (driver_probe_device+0x104/0x22c)
      [    2.259988] [<c0347d88>] (driver_probe_device) from [<c03464dc>] (bus_for_each_drv+0x44/0x8c)
      [    2.269087] [<c03464dc>] (bus_for_each_drv) from [<c0347c4c>] (device_attach+0x74/0x8c)
      [    2.277620] [<c0347c4c>] (device_attach) from [<c0347380>] (bus_probe_device+0x88/0xb0)
      [    2.286074] [<c0347380>] (bus_probe_device) from [<c0347768>] (deferred_probe_work_func+0x60/0x90)
      [    2.295611] [<c0347768>] (deferred_probe_work_func) from [<c004ef50>] (process_one_work+0x1b4/0x4bc)
      [    2.305288] [<c004ef50>] (process_one_work) from [<c004f3d4>] (worker_thread+0x148/0x550)
      [    2.313954] [<c004f3d4>] (worker_thread) from [<c0055a48>] (kthread+0xc8/0xe4)
      [    2.321628] [<c0055a48>] (kthread) from [<c000e648>] (ret_from_fork+0x14/0x2c)
      Signed-off-by: default avatarRoger Quadros <rogerq@ti.com>
      Signed-off-by: default avatarMike Turquette <mturquette@linaro.org>
      4332ec1a
    • Sachin Kamat's avatar
      clk: Fix build warnings · 6b44c854
      Sachin Kamat authored
      ‘all_lists’ and ‘orphan_list’ is accessed only when DEBUG_FS is defined.
      Thus, make their compilation conditional to fix the below warnings introduced
      by commit 27b8d5f7 ("clk: flatten clk tree in debugfs"):
      drivers/clk/clk.c:40:27: warning: ‘all_lists’ defined but not used [-Wunused-variable]
      drivers/clk/clk.c:46:27: warning: ‘orphan_list’ defined but not used [-Wunused-variable]
      Signed-off-by: default avatarSachin Kamat <sachin.kamat@samsung.com>
      Cc: Peter De Schrijver <pdeschrijver@nvidia.com>
      Signed-off-by: default avatarMike Turquette <mturquette@linaro.org>
      6b44c854
    • Jingchang Lu's avatar
      clk: ppc-corenet: Fix Section mismatch warning · da788acb
      Jingchang Lu authored
      WARNING: drivers/built-in.o(.data+0x10258):
      Section mismatch in reference from the variable ppc_corenet_clk_driver
      to the (unknown reference) .init.rodata:(unknown)
      The variable ppc_corenet_clk_driver references
      the (unknown reference) __initconst (unknown)
      If the reference is valid then annotate the
      variable with __init* or __refdata (see linux/init.h) or name the variable:
      *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console
      Signed-off-by: default avatarJingchang Lu <jingchang.lu@freescale.com>
      Signed-off-by: default avatarMike Turquette <mturquette@linaro.org>
      da788acb
    • Mike Turquette's avatar
  7. 30 Jun, 2014 7 commits