On Tue, Nov 04, 2014 at 12:07:14PM +0800, Chen-Yu Tsai wrote: > + spin_lock_irqsave(data->lock, flags); > + > + reg = readl(data->reg); > + writel(reg & ~BIT(id), data->reg); > + > + spin_unlock_irqrestore(data->lock, flags);
Don't we have generic support for atomic modification of register values? Hmm, we have it for ARM only - atomic_io_modify() and atomic_io_modify_relaxed(). I guess we should push for those to become cross-arch if we end up with generic drivers shared between other architectures. -- FTTC broadband for 0.8mile line: currently at 9.5Mbps down 400kbps up according to speedtest.net. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/