alistair23-linux/drivers/clk
Alex Elder 7f7ed584d1 clk: get matching entry under lock in of_clk_init()
Currently of_clk_init() finds a matching device node while holding
the device tree spinlock.  When a matching device node is found, the
lock is dropped and then re-acquired in order to get a reference
to the matching device id structure.

Acquiring the spinlock twice is unnecessary (and it opens a
vulnerable window that could conceivably lead to errors).

There already exists an interface for both finding and taking a
reference to a device id under lock, so use it.

Signed-off-by: Alex Elder <elder@linaro.org>
Reviewed-by: Christian Daudt <csd@broadcom.com>
Reviewed-by: Markus Mayer <markus.mayer@linaro.org>
Reviewed-by: Matt Porter <matt.porter@linaro.org>
Signed-off-by: Mike Turquette <mturquette@linaro.org>
2013-08-27 16:05:39 -07:00
..
mmp clk: add CLK_SET_RATE_NO_REPARENT flag 2013-08-19 12:27:17 -07:00
mvebu clk: mvebu: add missing iounmap 2013-08-23 11:44:03 -07:00
mxs clk: add CLK_SET_RATE_NO_REPARENT flag 2013-08-19 12:27:17 -07:00
rockchip clk: add support for Rockchip gate clocks 2013-06-20 15:58:27 -07:00
samsung clk: add CLK_SET_RATE_NO_REPARENT flag 2013-08-19 12:27:17 -07:00
socfpga ARM: socfpga: Add support to gate peripheral clocks 2013-06-11 16:35:29 -07:00
spear clk: add CLK_SET_RATE_NO_REPARENT flag 2013-08-19 12:27:17 -07:00
sunxi clk: sunxi: fix initialization of basic clocks 2013-08-27 16:05:23 -07:00
tegra clk: add CLK_SET_RATE_NO_REPARENT flag 2013-08-19 12:27:17 -07:00
ux500 The common clock framework changes for 3.11 include new clock drivers 2013-07-03 11:54:50 -07:00
versatile clk: add CLK_SET_RATE_NO_REPARENT flag 2013-08-19 12:27:17 -07:00
x86 ACPI / LPSS: add support for Intel BayTrail 2013-06-19 01:08:47 +02:00
zynq arm: Xilinx Zynq clock changes for v3.12 2013-08-20 14:58:48 -07:00
clk-axi-clkgen.c clk: Add axi-clkgen driver 2013-03-19 17:20:30 -07:00
clk-bcm2835.c
clk-composite.c clk: composite: allow fixed rates & fixed dividers 2013-04-12 11:23:24 -07:00
clk-devres.c
clk-divider.c clk: clk-divider: Export clk_register_divider() 2013-08-16 12:08:53 -07:00
clk-fixed-factor.c clk: export fixed-factor, gate & mux registration 2013-08-16 12:08:54 -07:00
clk-fixed-rate.c clk: fixed-rate: Export clk_fixed_rate_register() 2013-08-16 12:08:50 -07:00
clk-gate.c clk: export fixed-factor, gate & mux registration 2013-08-16 12:08:54 -07:00
clk-highbank.c ACPI and power management updates for 3.9-rc1 2013-02-20 11:26:56 -08:00
clk-ls1x.c
clk-max77686.c clk: max77686: Avoid double free at remove time 2013-01-15 16:16:26 -08:00
clk-mux.c clk: clk-mux: implement remuxing on set_rate 2013-08-19 12:27:18 -07:00
clk-nomadik.c clk: nomadik: implement the Nomadik clocks properly 2013-06-20 10:15:30 +02:00
clk-nspire.c clk: Add TI-Nspire clock drivers 2013-05-31 12:07:45 -07:00
clk-ppc-corenet.c clk: mpc85xx: Update the compatible string 2013-05-30 11:55:35 -07:00
clk-prima2.c clk: prima2: Fix incorrect placement of __initdata 2013-08-08 22:35:21 -07:00
clk-s2mps11.c clk: s2mps11: Add support for s2mps11 2013-08-08 15:57:33 -07:00
clk-si5351.c The common clock framework changes for 3.11 include new clock drivers 2013-07-03 11:54:50 -07:00
clk-si5351.h clk: si5351: Allow user to define disabled state for every clock output 2013-05-28 22:50:31 -07:00
clk-twl6040.c clk: use platform_{get,set}_drvdata() 2013-05-30 18:19:34 -07:00
clk-u300.c ARM: u300: convert MMC/SD clock to device tree 2013-06-17 13:54:37 +02:00
clk-vt8500.c The common clock framework changes for 3.11 include new clock drivers 2013-07-03 11:54:50 -07:00
clk-wm831x.c clk: use platform_{get,set}_drvdata() 2013-05-30 18:19:34 -07:00
clk.c clk: get matching entry under lock in of_clk_init() 2013-08-27 16:05:39 -07:00
clkdev.c
Kconfig clk: s2mps11: Add support for s2mps11 2013-08-08 15:57:33 -07:00
Makefile clk: s2mps11: Add support for s2mps11 2013-08-08 15:57:33 -07:00