rwsem: make the waiter type an enumeration rather than a bitmask