[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20230601150706.GD14287@atomide.com>
Date: Thu, 1 Jun 2023 18:07:06 +0300
From: Tony Lindgren <tony@...mide.com>
To: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
Cc: Jiri Slaby <jirislaby@...nel.org>,
Andy Shevchenko <andriy.shevchenko@...ux.intel.com>,
Andy Shevchenko <andriy.shevchenko@...el.com>,
Dhruva Gole <d-gole@...com>,
Ilpo Järvinen <ilpo.jarvinen@...ux.intel.com>,
John Ogness <john.ogness@...utronix.de>,
Johan Hovold <johan@...nel.org>,
Sebastian Andrzej Siewior <bigeasy@...utronix.de>,
Vignesh Raghavendra <vigneshr@...com>,
linux-omap@...r.kernel.org,
Marek Szyprowski <m.szyprowski@...sung.com>,
linux-serial@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] serial: core: Fix probing serial_base_bus devices
* Greg Kroah-Hartman <gregkh@...uxfoundation.org> [230601 14:21]:
> On Thu, Jun 01, 2023 at 05:14:44PM +0300, Tony Lindgren wrote:
> > If a physical serial port device driver uses arch_initcall() we fail to
> > probe the serial_base_bus devices and the serial port tx fails. This is
> > because as serial_base_bus uses module_initcall().
> >
> > Let's fix the issue by changing serial_base_bus to use arch_initcall().
>
> This will only work if the linking order is such that this will always
> come before the drivers. Is that the case here?
I guess based on Makefile. And also if serial drivers are modules as we
export uart_add_one_port() from serial_base.ko. But yeah this is pretty
fragile potentially.
Hmm maybe we could keep module_init() and then also call serial_base_init()
on uart_add_one_port() path if not yet initialized?
Probably the module_init() should be still there for case when no serial
port device drivers are loaded and serial_base is unloaded..
Regards,
Tony
Powered by blists - more mailing lists