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

Randy Dunlap rdunlap at infradead.org
Tue Aug 1 15:30:57 AEST 2023


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 at infradead.org>
>> Cc: Timur Tabi <timur at kernel.org>
>> Cc: Kumar Gala <galak at kernel.crashing.org>
>> Cc: linuxppc-dev at lists.ozlabs.org
>> Cc: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
>> Cc: Jiri Slaby <jirislaby at kernel.org>
>> Cc: linux-serial at vger.kernel.org
>> Cc: Jonathan Corbet <corbet at lwn.net>
>> Cc: linux-doc at vger.kernel.org
>> ---
>>   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


More information about the Linuxppc-dev mailing list