mbox series

[v2,0/2] serial: 8250_dw: fall back to poll if there's no interrupt

Message ID 20230806092056.2467-1-jszhang@kernel.org
Headers show
Series serial: 8250_dw: fall back to poll if there's no interrupt | expand

Message

Jisheng Zhang Aug. 6, 2023, 9:20 a.m. UTC
When there's no irq(this can be due to various reasons, for example,
no irq from HW support, or we just want to use poll solution, and so
on), falling back to poll is still better than no support at all.

patch1 makes the interrupt property in dt-binding optional
patch2 falls back to poll if there's no interrupt

since v1:
 - adopt Andy's suggestion to simplified the code

Jisheng Zhang (2):
  dt-bindings: serial: snps-dw-apb-uart: make interrupt optional
  serial: 8250_dw: fall back to poll if there's no interrupt

 .../devicetree/bindings/serial/snps-dw-apb-uart.yaml         | 1 -
 drivers/tty/serial/8250/8250_dw.c                            | 5 ++++-
 2 files changed, 4 insertions(+), 2 deletions(-)

Comments

Jisheng Zhang Aug. 6, 2023, 10:16 a.m. UTC | #1
On Sun, Aug 06, 2023 at 12:20:11PM +0200, Greg Kroah-Hartman wrote:
> On Sun, Aug 06, 2023 at 05:20:54PM +0800, Jisheng Zhang wrote:
> > When there's no irq(this can be due to various reasons, for example,
> > no irq from HW support, or we just want to use poll solution, and so
> > on), falling back to poll is still better than no support at all.
> 
> Ouch, really?  Why not just fix the hardware instead?
> 

Hi Greg,

The HW may be designed as that to save interrupt lines if the uart
is dedicated to debug purpose. I also see similar support in other
uart drivers, for example liteuart.c, altera_uart.c, altera_jtaguart.c
8250_ioc3.c and so on.

Thanks
Greg Kroah-Hartman Aug. 6, 2023, 10:20 a.m. UTC | #2
On Sun, Aug 06, 2023 at 05:20:54PM +0800, Jisheng Zhang wrote:
> When there's no irq(this can be due to various reasons, for example,
> no irq from HW support, or we just want to use poll solution, and so
> on), falling back to poll is still better than no support at all.

Ouch, really?  Why not just fix the hardware instead?