linux/arch/arm/mach-davinci
Linus Torvalds 2ad7b44f5d Merge branch 'for-linus-clk' of git://ftp.arm.linux.org.uk/~rmk/linux-arm
Pull clkdev updates from Russell King:
 "This series addresses some breakage in clkdev caused by a previous
  patch set from the clk tree which introduced per-user clk structures.
  This basically renamed the existing 'struct clk' to 'struct clk_hw',
  and introduced a new 'struct clk'.

  This change will break anyone using clk_add_alias() with the common
  clk code enabled.  Thankfully, the intersection of users of
  clk_add_alias() and those using the common clk code is practically
  zero, but this is something which should be fixed to keep the code
  sane.

  The problem is that clk_add_alias() does this:

        r = clk_get(...);
        l = clkdev_alloc(r, ...);
        clk_put(...);

  which causes the alias to store a pointer to 'r', which has been
  freed.

  The original patch set tried to work around this problem incorrectly -
  at clk_get() time, it tried to convert the struct clk to a struct
  clk_hw, and then creating a new struct clk from that.  Clearly, if the
  original struct clk has been freed, then we have a use-after-free bug.

  We have other places in the tree which do something similar, so this
  series also addresses those locations too.

  This series addresses this problem by converting clkdev to store and
  use the clk_hw pointer.  This allows clk_get() to only have to create
  it's per-user struct clk from the clk_hw.  We can also get to the
  desired clk_hw at clk_add_alias() or clk lookup creation time, when
  the struct clk is "alive".

  We also perform some cleanups of the code:

   - replacing looped calls to clkdev_add() with clkdev_add_table()

   - replacing open-coded lookup allocation (which should have been
     using clkdev_alloc()) and subsequent clkdev_add() with
     clkdev_create()

   - replacing open-coded clk_add_alias() with clk_add_alias()"

* 'for-linus-clk' of git://ftp.arm.linux.org.uk/~rmk/linux-arm:
  clk: s2mps11: use clkdev_create()
  ASoC: migor: use clkdev_create()
  ARM: omap2: use clkdev_add_alias()
  ARM: omap2: use clkdev_create()
  ARM: orion: use clkdev_create()
  ARM: lpc32xx: convert to use clkdev_add_table()
  SH: use clkdev_add_table()
  clkdev: add clkdev_create() helper
  clkdev: const-ify connection id to clk_add_alias()
  clkdev: get rid of redundant clk_add_alias() prototype in linux/clk.h
  clkdev: drop __init from clkdev_add_table()
  clk: update clk API documentation to clarify clk_round_rate()
  clkdev: use clk_hw internally
2015-06-23 15:50:46 -07:00
..
include/mach ARM: davinci: irqs: Correct McASP1 TX interrupt definition for DM646x 2015-03-18 17:17:36 +05:30
aemif.c ARM: davinci: aemif: get rid of davinci-nand driver dependency on aemif 2014-02-23 20:33:18 +05:30
asp.h ARM: davinci: devices-da8xx: Add support for McASP2 on da830 2015-03-18 15:52:05 +05:30
board-da830-evm.c ARM: davinci: Use standard logging styles 2014-11-18 21:06:41 +05:30
board-da850-evm.c wlcore: remove wl12xx_platform_data 2015-03-24 09:48:14 -07:00
board-dm355-evm.c [media] platform: Make use of media_bus_format enum 2014-11-14 17:54:08 -02:00
board-dm355-leopard.c ARM: davinci: remove checks for CONFIG_USB_MUSB_PERIPHERAL 2014-05-22 16:29:08 +05:30
board-dm365-evm.c [media] platform: Make use of media_bus_format enum 2014-11-14 17:54:08 -02:00
board-dm644x-evm.c ARM: davinci: Use standard logging styles 2014-11-18 21:06:41 +05:30
board-dm646x-evm.c ARM: davinci: Remove CDCE949 driver 2015-01-20 19:29:58 +05:30
board-mityomapl138.c ARM: davinci: Use standard logging styles 2014-11-18 21:06:41 +05:30
board-neuros-osd2.c ARM: davinci: Use standard logging styles 2014-11-18 21:06:41 +05:30
board-omapl138-hawk.c ARM: driver updates for 3.13 2013-11-11 17:05:37 +09:00
board-sffsdr.c misc: (at24) move header to linux/platform_data/ 2013-09-30 06:02:34 +02:00
clock.c ARM: davinci: Use standard logging styles 2014-11-18 21:06:41 +05:30
clock.h ARM: davinci: clk framework support for enable/disable functionality 2013-04-01 16:54:47 +05:30
common.c ARM: davinci: remove obsoleted init_consistent_dma_size() 2012-11-13 10:13:20 +01:00
cp_intc.c ARM: davinci: cp_intc: Add OF support for TI interrupt controller 2012-07-05 14:12:35 +05:30
cpuidle.c ARM: cpuidle: Remove duplicate header inclusion 2015-03-23 18:03:11 +01:00
da8xx-dt.c ARM: make of_device_ids const 2015-02-19 09:44:25 +01:00
da830.c This patch updates the davinci watchdog 2014-01-16 13:59:52 -08:00
da850.c clkdev: get rid of redundant clk_add_alias() prototype in linux/clk.h 2015-05-06 11:58:51 +01:00
davinci.h ARM: davinci: da8xx: fix multiple watchdog device registration 2014-03-06 19:08:29 +05:30
devices-da8xx.c ARM: davinci: devices-da8xx: Add support for McASP2 on da830 2015-03-18 15:52:05 +05:30
devices.c ARM: davinci: da8xx: fix multiple watchdog device registration 2014-03-06 19:08:29 +05:30
dm355.c [media] platform: Make use of media_bus_format enum 2014-11-14 17:54:08 -02:00
dm365.c [media] platform: Make use of media_bus_format enum 2014-11-14 17:54:08 -02:00
dm644x.c ARM: davinci: Remove redundant/unused parameters for edma 2014-05-22 14:55:23 +05:30
dm646x.c ARM: davinci: dm646x: Add interrupt resource for McASPs 2015-03-18 17:19:50 +05:30
irq.c Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/linux-arm-soc 2011-07-19 22:10:05 -07:00
Kconfig wlcore: remove wl12xx_platform_data 2015-03-24 09:48:14 -07:00
Makefile ARM: davinci: Remove CDCE949 driver 2015-01-20 19:29:58 +05:30
Makefile.boot ARM: davinci: enable da8xx build concurrently with older devices 2014-03-06 19:08:28 +05:30
mux.c ARM: davinci: davinci_cfg_reg cannot be init 2015-02-18 12:20:25 +01:00
mux.h Davinci: eliminate pinmux offset verbosity 2010-05-06 15:02:09 -07:00
pm_domain.c arm: davinci: remove boilerplate code and use USE_PM_CLK_RUNTIME_OPS 2015-05-12 23:55:38 +02:00
pm.c ARM: mach-davinci: drop owner assignment from platform_drivers 2014-10-20 16:20:02 +02:00
psc.c ARM: davinci: psc: introduce reset API 2013-01-22 17:42:59 +05:30
serial.c ARM: davinci: serial.c: remove unused serial_read_reg() 2015-01-14 15:56:12 +05:30
sleep.S ARM: convert all "mov.* pc, reg" to "bx reg" for ARMv6+ 2014-07-18 12:29:04 +01:00
sram.c arch/arm/mach-davinci/sram.c: use gen_pool_dma_alloc() to sram.c 2013-11-13 12:09:22 +09:00
time.c ARM: davinci: Use standard logging styles 2014-11-18 21:06:41 +05:30
usb.c v3.10 board updates for DaVinci 2013-04-17 23:54:41 -07:00