On Fri, 2004-03-05 at 20:48, Russell King wrote: > On Fri, Mar 05, 2004 at 08:29:12PM +1100, Benjamin Herrenschmidt wrote: > > > > > Yes, I know - but the point is its impossible to review, and I think > > > you at least have an extra level of locking which isn't needed. > > > > > > But I wouldn't know because of the huge number of changes which make > > > it impossible to read. > > > > That semaphore locking is only used to guard open/close against the > > power management callback. It greatly simplify the deal with the shared > > irq (the irq is shared between both ports). It's not used during > > normal operations. > > Err. What power management callback? Are you not using uart_suspend_port > and uart_resume_port? > > These functions do all the locking for you already - using state->sem.
Well... I could, but I have additional crap related to shutting the SCC down. I need to disable_irq() at the irq controller level after both ports have been shut down only, since a down SCC would leave a dangling irq line... > Like I said, I can't see the twigs for the forest due to the shear > noise caused by the up -> uap change. Yah, I know. Difficult to split though. I'd suggest you just look at the driver as a whole after the patch is applied ;) Ben.