• Karthik Manamcheri's avatar
    serial: 8250: Make SERIAL_8250_RUNTIME_UARTS work correctly · cfcec52e
    Karthik Manamcheri authored
    Consider a situation where I have an ARM based system
    and therefore no legacy ports. Say, I have two
    memory-mapped ports. I use device tree to describe the
    ports. What would be the config options I set so that
    I get only the two ports in my system? I do not want
    legacy ports being created automatically and I want
    it to be flexible enough that it creates the devices
    based only on the device tree. I expected setting
    SERIAL_8250_RUNTIME_UARTS = 0 to work because the
    description said, "Set this to the maximum number of
    serial ports you want the kernel to register at boot
    time." Unfortunately, even though SERIAL_8250_NR_UARTS
    was set to the default value of 4, I did not get any device
    nodes (because SERIAL_8250_RUNTIME_UARTS was 0). This
    is what this change is addressing.
    
    SERIAL_8250_NR_UARTS controls the maximum number of ports
    you can support. SERIAL_8250_RUNTIME_UARTS specifies the
    number of ports you want to create automatically for legacy
    ports at boot time. All other ports will be created
    when serial8250_register_port is called (and if does not exceed
    the total number of supported ports as specified by
    SERIAL_8250_NR_UARTS).
    Signed-off-by: default avatarKarthik Manamcheri <karthik.manamcheri@ni.com>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    cfcec52e
8250.c 86.3 KB