As suggested by Uwe, add a note indicating that the modem control signals do not support interrupts, which precludes the driver from using mctrl_gpio_init(). Suggested-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxx> --- drivers/tty/serial/sa1100.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/tty/serial/sa1100.c b/drivers/tty/serial/sa1100.c index 97bdfeccbea9..8e618129e65c 100644 --- a/drivers/tty/serial/sa1100.c +++ b/drivers/tty/serial/sa1100.c @@ -860,6 +860,10 @@ static int sa1100_serial_resume(struct platform_device *dev) static int sa1100_serial_add_one_port(struct sa1100_port *sport, struct platform_device *dev) { sport->port.dev = &dev->dev; + + // mctrl_gpio_init() requires that the GPIO driver supports interrupts, + // but we need to support GPIO drivers for hardware that has no such + // interrupts. Use mctrl_gpio_init_noauto() instead. sport->gpios = mctrl_gpio_init_noauto(sport->port.dev, 0); if (IS_ERR(sport->gpios)) { int err = PTR_ERR(sport->gpios); -- 2.7.4