ARM: omap2+: omap_hwmod: Set unique lock_class_key per hwmod
authorPeter Ujfalusi <peter.ujfalusi@ti.com>
Thu, 26 Feb 2015 07:00:51 +0000 (00:00 -0700)
committerPaul Walmsley <paul@pwsan.com>
Thu, 26 Feb 2015 07:00:51 +0000 (00:00 -0700)
commit6931795238000c8eba52442f1e9822286ed01e29
tree29abccf055864d540ca04d07c627317a7552fda1
parentc517d838eb7d07bbe9507871fab3931deccff539
ARM: omap2+: omap_hwmod: Set unique lock_class_key per hwmod

Add struct lock_class_key to omap_hwmod struct and use it to set unique
lockdep class per hwmod.
This will ensure that lockdep will know that each omap_hwmod->_lock should
be treated as separate class and will not give false warning about deadlock
or other issues due to nested use of hwmods.
DRA7x's ATL hwmod is one example for this since McASP can select ATL clock
as functional clock, which will trigger nested oh->_lock usage. This will
trigger false warning from lockdep validator as it is dealing with classes
and for it all hwmod clocks are the same class.

Suggested-by: Peter Zijlstra <peterz@infradead.org>
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
arch/arm/mach-omap2/omap_hwmod.c
arch/arm/mach-omap2/omap_hwmod.h