Optimized ARM RWSEM algorithm

RWSEM implementation for ARM using atomic functions.

Heavily based on arch/sh/include/asm/rwsem.h

Signed-off-by: Ashwin Chaugule <ashwinc@codeaurora.org>
(cherry picked from commit 565715b313896f7352ea8abf81b15481d6cd32ef)

Signed-off-by: nobodyAtall <tsogkas@ceid.upatras.gr>
Signed-off-by: garwedgess <garethwilliams21@gmail.com>