Re: [PATCH] serial: 8250: add option to disable registration of legacy ISA ports

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> writes:

> On Thu, Jan 28, 2021 at 05:22:44PM +0000, Mans Rullgard wrote:
>> On systems that do not have the traditional PC ISA serial ports, the
>> 8250 driver still creates non-functional device nodes.  This change
>> makes only ports that actually exist (PCI, DT, ...) get device nodes.
>> 
>> Signed-off-by: Mans Rullgard <mans@xxxxxxxxx>
>> ---
>>  drivers/tty/serial/8250/8250_core.c | 26 ++++++++++++++++++++------
>>  drivers/tty/serial/8250/Kconfig     |  5 +++++
>>  2 files changed, 25 insertions(+), 6 deletions(-)
>> 
>> diff --git a/drivers/tty/serial/8250/8250_core.c b/drivers/tty/serial/8250/8250_core.c
>> index cae61d1ebec5..49695dd3677c 100644
>> --- a/drivers/tty/serial/8250/8250_core.c
>> +++ b/drivers/tty/serial/8250/8250_core.c
>> @@ -555,6 +555,7 @@ static void __init serial8250_isa_init_ports(void)
>>  	}
>>  }
>>  
>> +#ifdef CONFIG_SERIAL_8250_ISA
>
> This is just making a mess of the code. 

It was already a mess.

> To do this right, pull the isa code out into a separate file and put
> the #ifdef in a .h file, so we can properly maintain and support this
> code over time.  This change as-is is not going to make that any
> easier :(

I might put in that effort if there's a reasonable chance this change
will be accepted.  If it's going to be rejected regardless, I'd rather
not waste my time.

>> +config SERIAL_8250_ISA
>> +	bool "8250/16550 ISA device support" if EXPERT
>
> So, no one will set this?

I followed the pattern of the existing SERIAL_8250_PNP option.  Was that
a mistake?  How would you prefer it?

> What userspace visable change will be caused by this? 

There won't be /dev/ttyS devices for ports that don't exist.

> Will ports get renumbered?

Not if they had predictable numbers to begin with.

> What harm is this causing systems today without this change?

It means I have to somehow maintain a separate list of which ports are
real and which should be ignored, or else try to distinguish real errors
from those caused by trying to access the bogus ports.

-- 
Måns Rullgård



[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux PPP]     [Linux FS]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Linmodem]     [Device Mapper]     [Linux Kernel for ARM]

  Powered by Linux