On Tue, 23 Jan 2007 14:37:23 -0800 Marc St-Jean <Marc_St-Jean@xxxxxxxxxxxxxx> wrote: > > This I would hope you can hide in the platform specific > > serial_in/serial_out functions. If you write the UART_LCR save it in > > serial_out(), if you read IER etc. > > I couldn't find hooks for platform specific serial_in/out functions. > Do you mean using the up->port.iotype's in serial_in/out from 8250.c? If you can have other uarts as well then yes. Basically I want all the ugliness to belong to you not to the 8250 driver (and ditto for any other half baked uart or demented piece of broken glue logic). If we don't do that then 8250.c will end up unmanagable. So long as you crap in your own pond everyone else is fine ;) > A serial_in(up, UART_IIR) calls occur in more places that just the interrupt > handler (i.e. autoconfig*, serial8250_start_tx, etc). We will need to check > if we are in an interrupt on each IIR read, hopefully that won't be too much > overhead! Or if need be we make that hint generally available as we can do that bit cleanly. > > > > And we might want to add a void * for board specific insanity to the 8250 > > structures if we really have to so you can hang your brain damage > > privately off that ? > > Sounds good to me, it would give us a location to store the address of the > UART_STATUS_REG required by this UART variant. and for anything harder people can hang a struct off it. Alan