> I am currently a bit confused in Locking issues (SMP/Interrupt etc)
>
> Because the CD1865 contains 8 Serial Ports and their registers are
> multiplexed (read: you can only read one ports registers at a time)
> so you have to lock the chip for concurrent access. Also
> you need locking for transmit buffer changes (char count, head, tail etc)
> and i am currently unaware how to do this
In current kernels, sys_read(), sys_write() and similar system call
handlers do lock_kernel(), therefore the calls to your driver (except
for interrupts) are guaranteed to be serialized (unless you sleep there,
of course).
The only thing you need to do is to do proper synchronization between your
IRQ/BH handlers and the other functions which can be done either by
clever queue manipulation or by spinlocks.
Have a nice fortnight
-- Martin `MJ' Mares <mj@ucw.cz> http://atrey.karlin.mff.cuni.cz/~mj/ Faculty of Math and Physics, Charles University, Prague, Czech Rep., Earth "Windows Error: 002 - No error yet ..."- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/