Re: [PATCH] Documentation: devices.txt: reconcile serial/ucc_uart minor numers

From: Randy Dunlap
Date: Tue Aug 01 2023 - 01:31:59 EST


Hi Christophe,

On 7/31/23 22:21, Christophe Leroy wrote:
>
>
> Le 24/07/2023 à 08:33, Randy Dunlap a écrit :
>> Reconcile devices.txt with serial/ucc_uart.c regarding device number
>> assignments. ucc_uart.c supports 4 ports and uses minor devnums
>> 46-49, so update devices.txt with that info.
>> Then update ucc_uart.c's reference to the location of the devices.txt
>> list in the kernel source tree.
>
> Devices ttyCPM* belong to cpm_uart driver. As explained in the comment
> you have modified in UCC uart driver, UCC uart borrows those devices and
> shall not be considered as the reference. But the lines you modify in
> device.txt doesn't mention QE UCC, it mentions CPM SCC and CPM SMC.
>
> CPM uart driver supports up to 6 ports (4 SCC and 2 SMC).
>

Thank you for replying.

Does this mean that the patch should be reverted?

> On one of my boards which has a powerpc mpc866 CPU, I have:
>
> [ 2.393872] ff000a80.serial: ttyCPM0 at MMIO 0xfff00a80 (irq = 19,
> base_baud = 8250000) is a CPM UART
> [ 2.411899] ff000a90.serial: ttyCPM1 at MMIO 0xfff00a90 (irq = 20,
> base_baud = 8250000) is a CPM UART
> [ 2.430352] ff000a00.serial: ttyCPM2 at MMIO 0xfff00a00 (irq = 30,
> base_baud = 8250000) is a CPM UART
> [ 2.448944] ff000a20.serial: ttyCPM3 at MMIO 0xfff00a20 (irq = 29,
> base_baud = 8250000) is a CPM UART
> [ 2.467435] ff000a40.serial: ttyCPM4 at MMIO 0xfff00a40 (irq = 28,
> base_baud = 8250000) is a CPM UART
> [ 2.485924] ff000a60.serial: ttyCPM5 at MMIO 0xfff00a60 (irq = 27,
> base_baud = 8250000) is a CPM UART
>
> # ll /dev/ttyCPM*
> crw------- 1 root root 204, 46 Jan 1 01:01 /dev/ttyCPM0
> crw------- 1 root root 204, 47 Jan 1 01:00 /dev/ttyCPM1
> crw------- 1 root root 204, 48 Jan 1 01:00 /dev/ttyCPM2
> crw------- 1 root root 204, 49 Jan 1 01:00 /dev/ttyCPM3
> crw------- 1 root root 204, 50 Jan 1 01:00 /dev/ttyCPM4
> crw------- 1 root root 204, 51 Jan 1 01:00 /dev/ttyCPM5

I don't see minors 50-51 allocated in devices.txt for use by this device/driver.
Am I overlooking that allocation somewhere?

Thanks for your help.

>
> # cat /proc/tty/drivers
> /dev/tty /dev/tty 5 0 system:/dev/tty
> /dev/console /dev/console 5 1 system:console
> /dev/ptmx /dev/ptmx 5 2 system
> ttyCPM /dev/ttyCPM 204 46-51 serial
> pty_slave /dev/pts 136 0-1048575 pty:slave
> pty_master /dev/ptm 128 0-1048575 pty:master
> pty_slave /dev/ttyp 3 0-4 pty:slave
> pty_master /dev/pty 2 0-4 pty:master
>
> Christophe
>
>
>>
>> Fixes: d7584ed2b994 ("[POWERPC] qe-uart: add support for Freescale QUICCEngine UART")
>> Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
>> Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>
>> Cc: Timur Tabi <timur@xxxxxxxxxx>
>> Cc: Kumar Gala <galak@xxxxxxxxxxxxxxxxxxx>
>> Cc: linuxppc-dev@xxxxxxxxxxxxxxxx
>> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
>> Cc: Jiri Slaby <jirislaby@xxxxxxxxxx>
>> Cc: linux-serial@xxxxxxxxxxxxxxx
>> Cc: Jonathan Corbet <corbet@xxxxxxx>
>> Cc: linux-doc@xxxxxxxxxxxxxxx
>> ---
>> Documentation/admin-guide/devices.txt | 2 +-
>> drivers/tty/serial/ucc_uart.c | 2 +-
>> 2 files changed, 2 insertions(+), 2 deletions(-)
>>
>> diff -- a/drivers/tty/serial/ucc_uart.c b/drivers/tty/serial/ucc_uart.c
>> --- a/drivers/tty/serial/ucc_uart.c
>> +++ b/drivers/tty/serial/ucc_uart.c
>> @@ -59,7 +59,7 @@ static int firmware_loaded;
>> /* #define LOOPBACK */
>>
>> /* The major and minor device numbers are defined in
>> - * http://www.lanana.org/docs/device-list/devices-2.6+.txt. For the QE
>> + * Documentation/admin-guide/devices.txt. For the QE
>> * UART, we have major number 204 and minor numbers 46 - 49, which are the
>> * same as for the CPM2. This decision was made because no Freescale part
>> * has both a CPM and a QE.
>> diff -- a/Documentation/admin-guide/devices.txt b/Documentation/admin-guide/devices.txt
>> --- a/Documentation/admin-guide/devices.txt
>> +++ b/Documentation/admin-guide/devices.txt
>> @@ -2691,7 +2691,7 @@
>> 45 = /dev/ttyMM1 Marvell MPSC - port 1 (obsolete unused)
>> 46 = /dev/ttyCPM0 PPC CPM (SCC or SMC) - port 0
>> ...
>> - 47 = /dev/ttyCPM5 PPC CPM (SCC or SMC) - port 5
>> + 49 = /dev/ttyCPM5 PPC CPM (SCC or SMC) - port 3
>> 50 = /dev/ttyIOC0 Altix serial card
>> ...
>> 81 = /dev/ttyIOC31 Altix serial card

--
~Randy