tty: serial: exar: Relocate sleep wake-up handling
authorAaron Sierra <asierra@xes-inc.com>
Thu, 25 Jan 2018 00:19:23 +0000 (18:19 -0600)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 25 Jan 2018 11:44:50 +0000 (12:44 +0100)
commitc7e1b4059075c9e8eed101d7cc5da43e95eb5e18
treeada41aa888bae48f5ceb147dfb9f816d01c2fca9
parentb027e2298bd588d6fa36ed2eda97447fb3eac078
tty: serial: exar: Relocate sleep wake-up handling

Exar sleep wake-up handling has been done on a per-channel basis by
virtue of INT0 being accessible from each channel's address space. I
believe this was initially done out of necessity, but now that Exar
devices have their own driver, we can do things more efficiently by
registering a dedicated INT0 handler at the PCI device level.

I see this change providing the following benefits:

    1. If more than one port is active, eliminates the redundant bus
       cycles for reading INT0 on every interrupt.
    2. This note associated with hooking in the per-channel handler in
       8250_port.c is resolved:
        /* Fixme: probably not the best place for this */

Cc: Matt Schulte <matts@commtech-fastcom.com>
Signed-off-by: Aaron Sierra <asierra@xes-inc.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/8250/8250_exar.c
drivers/tty/serial/8250/8250_port.c