serial: pl011: Fix build breakage with !CONFIG_DMA_ENGINE

Commit 479e9b94fd ("serial: Refactor uart_flush_buffer() from
uart_close") refactored the uart_flush_buffer() in uart_close() into
those drivers that define a flush_buffer() method. However, in the
amba-pl011 driver configured without CONFIG_DMA_ENGINE, flush_buffer()
is a NULL method, so the direct call fails to compile.

Check and call the flush_buffer() method through the ops table instead.

Reported-by: Fengguang Wu <fengguang.wu@intel.com>
Cc: Russell King <linux@arm.linux.org.uk>
Signed-off-by: Peter Hurley <peter@hurleysoftware.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Peter Hurley 2014-11-06 09:06:12 -05:00 committed by Greg Kroah-Hartman
parent 085f4d8413
commit 36f339d136

View file

@ -1689,7 +1689,8 @@ static void pl011_shutdown(struct uart_port *port)
plat->exit();
}
pl011_dma_flush_buffer(port);
if (uap->port.ops->flush_buffer)
uap->port.ops->flush_buffer(port);
}
static void