
Hi Bin Meng,
On Tue, 2017-08-29 at 09:41 +0800, Bin Meng wrote:
Hi Wilson,
On Fri, Aug 25, 2017 at 11:29 AM, Wilson Lee wilson.lee@ni.com wrote:
From: Keng Soon Cheah keng.soon.cheah@ni.com
Some device the serial console's initialization cannot run early during the boot process. Hence, nulldev serial device is helpful on that situation.
For example, if the serial module was implemented in FPGA. Serial initialization is prohibited to run until the FPGA was programmed.
I still don't fully understand this. Shouldn't the FPGA serial driver has some sort of register bits that determine if it's ready? And if not ready, the FPGA serial driver can do nothing like your null serial driver does?
In most case we will not implement new FPGA serial driver. For example, we will try to implement the ns16550 serial module in FPGA and reuse the ns16550 driver that already exist in u-boot. The ns16550 driver will not know when is the right time to initialize the console hence causing system halt.
This nulldev console will eventually help to prevent such situation. Before the FPGA is ready, all the console initialization and output will be redirect to this nulldev console. After the FPGA is ready, "user" have the "flexibility" redirect the console to ns16550 serial module in FPGA.
This commit is to adding nulldev serial driver. This will allows the default console to be specified as a nulldev.
Signed-off-by: Joe Hershberger joe.hershberger@ni.com Signed-off-by: Keng Soon Cheah keng.soon.cheah@ni.com Cc: Chen Yee Chew chen.yee.chew@ni.com
drivers/serial/Kconfig | 7 ++++++ drivers/serial/Makefile | 1 + drivers/serial/serial_nulldev.c | 48 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 56 insertions(+) create mode 100644 drivers/serial/serial_nulldev.c
[snip]
Regards, Bin
Thanks.
Best Regards, Wilson Lee