writel(), readl() in <asm-ppc/io.h>

Shawn Jin shawnxjin at gmail.com
Mon Aug 15 04:16:38 EST 2005


> > The problem is that read*()/write*() are misused in some places, e.g.,
> > serial drivers such as serial8250. The serial_in() and serial_out()
> > call read*() and write*() respectively. So what's your recommendation
> > in such a case?
> 
> Why do you think this is a problem? Why do you think they are
> misused? Please explain.

IMHO, serial_in() and serial_out() should be able to handle all the
possilbilities. But the current implementation cannot achieve this by
simply calling read*() and write*() in the case that UART control
registers are 32-bit or 16-bit wide and can only be acessed in 32/16
bits in some big endian systems. As Matt pointed out before, read*()
and write*() are designed for PCI access only.

Regards,
-Shawn.



More information about the Linuxppc-embedded mailing list