Blackfin arch: fix bug - Error if one serial has hardware flow control and the other doesn't
I have a system where UART0 is configured with hardware flow control, but UART1
doesn't have it enabled. Attempting to access UART1 in this configuration
results in the following error in dmesg:
<3>bfin-gpio: GPIO 0 is already reserved as Peripheral by bfin-uart !
<5>Stack from
0082bc7c:
<5>
0082bc88 00404dd6 00000003 00000000 0054051e 004079da 0082bcb4
00000000
<5>
00000003 00000000 0052686c 0113f2a0 005fa3f0 00000032 20515249
00003035
<5>
00427228 00526e50 0113f2e0 005fa3f0 00000032 0113f2e0 0054b748
0000ffff
<5>
22222222 22222222 004e1628 00427304 00000000 00000032 00000023
0054b748
<5>
00487a94 0054b7e8 0054b748 0000000b 00487fb8 0054b748 0054b748
00000001
<5>
0000000a 005fa3f0 009d4fe8 0101e3c0 0054b748 005fa3f0 0050b134
0054b748
<5>
<5>Call Trace:
<4>[<
00485c16>] _uart_startup+0x56/0x178
<4>[<
004865c8>] _uart_open+0x40/0x3e0
<4>[<
0048661c>] _uart_open+0x94/0x3e0
<4>[<
0047f1ce>] _init_dev+0x1fa/0x450
<4>[<
004e1628>] ___mutex_unlock_slowpath+0x30/0xe8
<4>[<
004815da>] _tty_open+0xf6/0x21c
<4>[<
0043dab0>] ___path_lookup_intent_open+0x34/0x7c
<4>[<
004375e4>] _chrdev_open+0x7c/0x134
<4>[<
0043dc2c>] _open_namei+0x60/0x568
<4>[<
00433fa2>] ___dentry_open+0x9e/0x188
<4>[<
00437568>] _chrdev_open+0x0/0x134
<4>[<
0043410c>] _nameidata_to_filp+0x30/0x3c
<4>[<
00434152>] _do_filp_open+0x3a/0x44
<4>[<
00408826>] _task_running_tick+0x102/0x278
<4>[<
0043418e>] _do_sys_open+0x32/0xac
<4>[<
0043ede4>] _sys_ioctl+0x28/0x50
<4>[<
0043edbc>] _sys_ioctl+0x0/0x50
<4>[<
00434224>] _sys_open+0x18/0x20
<4>[<
0043420c>] _sys_open+0x0/0x20
<4>[<
00418174>] _sys_setuid+0x0/0xc8
This is because the #ifdef's in bfin_serial_5xx.h are messed up. More
specifically, they add/remove the uart_{rts,cts}_pin fields in
bfin_serial_resources based on whether the particular port has rts/cts enabled,
as opposed to when either port has it enabled.
This patch fixed this.
Signed-off-by: Tom Parker <blackfin@tevp.net>
Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>