static int unin_do_write_reg32(PMF_STD_ARGS, u32 offset, u32 value, u32 mask) { unsigned long flags; raw_spin_lock_irqsave(&feature_lock, flags); /* */ UN_OUT(offset, (UN_IN(offset) & ~mask) | (value & mask)); raw_spin_unlock_irqrestore(&feature_lock, flags); return 0; }
static int unin_do_write_reg32(PMF_STD_ARGS, u32 offset, u32 value, u32 mask) { unsigned long flags; atomic_spin_lock_irqsave(&feature_lock, flags); /* This is fairly bogus in darwin, but it should work for our needs * implemeted that way: */ UN_OUT(offset, (UN_IN(offset) & ~mask) | (value & mask)); atomic_spin_unlock_irqrestore(&feature_lock, flags); return 0; }