Messages in this thread | | | Date | Sun, 22 Jan 2006 00:33:07 -0800 | From | Andrew Morton <> | Subject | Re: [PATCH] serial: serial_txx9 driver update |
| |
Russell King <rmk+lkml@arm.linux.org.uk> wrote: > > On Sat, Jan 21, 2006 at 11:36:49PM -0800, Andrew Morton wrote: > > Atsushi Nemoto <anemo@mba.ocn.ne.jp> wrote: > > > > > > serial_txx9_verify_port(struct uart_port *port, struct serial_struct *ser) > > > { > > > - if (ser->irq < 0 || > > > - ser->baud_base < 9600 || ser->type != PORT_TXX9) > > > + unsigned long new_port = (unsigned long)ser->port + > > > + ((unsigned long)ser->port_high << ((sizeof(long) - sizeof(int)) * 8)); > > > > Are you sure about this part? Shifting something left by sizeof(something) > > seems very strange. It'll give different results on 64-bit machines for > > the same hardware. Are you sure it wasn't supposed to be an addition? > > There is a definition for that constant - it's called HIGH_BITS_OFFSET.
There are two definitions, actually. drivers/serial/serial_core.c and drivers/serial/8250.h.
> No need to try to buggily recreate it.
Where's the bug in the proposed code?
Can you tell us what HIGH_BITS_OFFSET actually does? Stuffing the port address into the upper 32-bits of a ulong on 64-bit machines. Am consumed by curiosity.
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |