The generic rwsem implementation of down_read() and down_write() does not
save and restore interrupt state. This causes powerdomain code to
inadvertently enable interrupts early in the boot process, causing
init/main.c to complain. This patch converts powerdomain locking to
r-w spinlocks instead.
I'm also curious to know if this fixes the BeagleBoard boot problem.
Signed-off-by: Paul Walmsley <paul@pwsan.com> Signed-off-by: Tony Lindgren <tony@atomide.com>