diff options
author | Andrew Morton <akpm@linux-foundation.org> | 2012-11-26 18:47:15 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2012-11-26 19:18:04 -0500 |
commit | fd985e1def964bb3a3adf5e2760af10510fd3f58 (patch) | |
tree | d71c2b35b26e300cc178a18708b79c72ca71599a | |
parent | d53c57dca2ccb540cceb0b1a228f11e1325cecde (diff) |
drivers/tty/serial/serial_core.c: clean up HIGH_BITS_OFFSET usage
serial_core.c usually does
if (HIGH_BITS_OFFSET)
expr-involving-HIGH_BITS_OFFSET()
at least to avoid generating useless code on 32-bit machines, where
HIGH_BITS_OFFSET is zero. Do that in uart_get_attr_port().
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r-- | drivers/tty/serial/serial_core.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/tty/serial/serial_core.c b/drivers/tty/serial/serial_core.c index 61ba24089ef7..fb5aa42fde7e 100644 --- a/drivers/tty/serial/serial_core.c +++ b/drivers/tty/serial/serial_core.c | |||
@@ -2370,9 +2370,13 @@ static ssize_t uart_get_attr_port(struct device *dev, | |||
2370 | { | 2370 | { |
2371 | struct serial_struct tmp; | 2371 | struct serial_struct tmp; |
2372 | struct tty_port *port = dev_get_drvdata(dev); | 2372 | struct tty_port *port = dev_get_drvdata(dev); |
2373 | unsigned long ioaddr; | ||
2373 | 2374 | ||
2374 | uart_get_info(port, &tmp); | 2375 | uart_get_info(port, &tmp); |
2375 | return snprintf(buf, PAGE_SIZE, "0x%lX\n", (unsigned long)(tmp.port | (((unsigned long)tmp.port_high) << HIGH_BITS_OFFSET))); | 2376 | ioaddr = tmp.port; |
2377 | if (HIGH_BITS_OFFSET) | ||
2378 | ioaddr |= (unsigned long)tmp.port_high << HIGH_BITS_OFFSET; | ||
2379 | return snprintf(buf, PAGE_SIZE, "0x%lX\n", ioaddr); | ||
2376 | } | 2380 | } |
2377 | 2381 | ||
2378 | static ssize_t uart_get_attr_irq(struct device *dev, | 2382 | static ssize_t uart_get_attr_irq(struct device *dev, |