[PATCH v6 0/5] clk: clock deregistration support

Sylwester Nawrocki
2013-08-30T14:53:17Z

This patch series implements clock deregistration in the common clock
framework. Comparing to v5 it only includes further corrections of NULL
clock handling.

Changes since v5:
- fixed NULL clock handling in __clk_get(), __clk_put (patch 5/5).

Changes since v4:
- removed stray struct module forward declaration in patch 3/5.

Changes since v3:
- replaced WARN_ON() with WARN_ON_ONCE() in clk_nodrv_disable_unprepare()
callback.

Changes since v2:
- reordered the patches so the race condition is fixed before it can
actually cause any issues,
- fixed handling of NULL clock pointers in __clk_get(), __clk_put(),
- added patch adding actual asignment of clk->owner; more details are
discussed in that specific patch.

Changes since v1:
- moved of_clk_{lock, unlock}, __of_clk_get_from_provider() function
declaractions to a local header,
- renamed clk_dummy_* to clk_nodrv_*.

Sylwester Nawrocki (5):
clk: Provide not locked variant of of_clk_get_from_provider()
clkdev: Fix race condition in clock lookup from device tree
clk: Add common __clk_get(), __clk_put() implementations
clk: Assign module owner of a clock being registered
clk: Implement clk_unregister

arch/arm/include/asm/clkdev.h | 2 +
arch/blackfin/include/asm/clkdev.h | 2 +
arch/mips/include/asm/clkdev.h | 2 +
arch/sh/include/asm/clkdev.h | 2 +
drivers/clk/clk.c | 188 +++++++++++++++++++++++++++++++++---
drivers/clk/clk.h | 16 +++
drivers/clk/clkdev.c | 12 ++-
include/linux/clk-private.h | 5 +
include/linux/clkdev.h | 5 +
9 files changed, 221 insertions(+), 13 deletions(-)
create mode 100644 drivers/clk/clk.h

--
1.7.9.5