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

From: Sylwester Nawrocki
Date: Tue Oct 29 2013 - 15:51:51 EST

This patch series implements clock deregistration in the common clock
framework. Detailed changes are listed at each patch. I have included
an additional patch in this series for the omap3isp driver, required
to avoid regressions.

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()

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):
omap3isp: Modify clocks registration to avoid circular references
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: 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 | 185 +++++++++++++++++++++++++++++++--
drivers/clk/clk.h | 16 +++
drivers/clk/clkdev.c | 12 ++-
drivers/media/platform/omap3isp/isp.c | 22 ++--
drivers/media/platform/omap3isp/isp.h | 1 +
include/linux/clk-private.h | 5 +
include/linux/clkdev.h | 5 +
11 files changed, 235 insertions(+), 19 deletions(-)
create mode 100644 drivers/clk/clk.h


To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/