Re: Using serial driver 16550A in poll mode without interrupt connected

From: Michal Simek
Date: Thu Oct 13 2011 - 05:56:57 EST


Alan Cox wrote:
Driver is probed with no IRQ (NO_IRQ = -1 on Microblaze)
83e00000.serial: ttyS0 at MMIO 0x83e01003 (irq = -1) is a 16550A

Zero means no IRQ. NO_IRQ is a legacy internal thing for the old IDE code
so not something other code should be using. Setting the IRQ to -1 is
bogus and will confuse the rest of the kernel.

It is on my list. There are still some archs (ARM, etc) which still use it.


Is it possible to use serial driver without IRQ - or blocking IRQ, etc.?

Within limits - it kills your power management and data rates because of
the continual polling.

Microblaze does nothing with power management and data rates is no problem -
it could exchange some data to check actual status or so.

We just need to make a decision about generating compatible properties for
serial IPs without IRQ. Our BSP which generate dts from Xilinx tools is able
to check if IRQ is connected and based on that do any action - show error/warning/ignore.

If compatible string is not in DTS driver for this IP is not probed.
If you are saying that Linux serial drivers are not prepared for polling because of any reason
we will handle that in BSP.

Thanks,
Michal

--
Michal Simek, Ing. (M.Eng)
w: www.monstr.eu p: +42-0-721842854
Maintainer of Linux kernel 2.6 Microblaze Linux - http://www.monstr.eu/fdt/
Microblaze U-BOOT custodian
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/