Commit c803dd48 authored by Dan Carpenter's avatar Dan Carpenter Committed by Greg Kroah-Hartman

staging: sb105x: clean up interface type test

IIR_RS232 is zero so "if (IIR_RS232 == (b_ret & IIR_RS232))" is always
true so RS232 was always chosen by default.  The test should be
"if (0 == (b_ret & 0x30)) { ".  The other tests should also be in that
format.

This does change how the code works...  If 0x30 is set then it now
defaults to RS232 instead of RS485.
Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 8441bf5e
...@@ -45,7 +45,7 @@ ...@@ -45,7 +45,7 @@
#define IIR_RS232 0x00 /* RS232 type */ #define IIR_RS232 0x00 /* RS232 type */
#define IIR_RS422 0x10 /* RS422 type */ #define IIR_RS422 0x10 /* RS422 type */
#define IIR_RS485 0x20 /* RS485 type */ #define IIR_RS485 0x20 /* RS485 type */
#define IIR_UNKNOWN 0x30 /* unknown type */ #define IIR_TYPE_MASK 0x30
/* Interrrupt Mask Register */ /* Interrrupt Mask Register */
#define MP_OPTR_IMR0 0x0C /* port0 ~ port8 */ #define MP_OPTR_IMR0 0x0C /* port0 ~ port8 */
......
...@@ -2851,20 +2851,14 @@ static void __init multi_init_ports(void) ...@@ -2851,20 +2851,14 @@ static void __init multi_init_ports(void)
printk("IIR_RET = %x\n",b_ret); printk("IIR_RET = %x\n",b_ret);
} }
if(IIR_RS232 == (b_ret & IIR_RS232)) /* default to RS232 */
{
mtpt->interface = RS232; mtpt->interface = RS232;
} if (IIR_RS422 == (b_ret & IIR_TYPE_MASK))
if(IIR_RS422 == (b_ret & IIR_RS422))
{
mtpt->interface = RS422PTP; mtpt->interface = RS422PTP;
} if (IIR_RS485 == (b_ret & IIR_TYPE_MASK))
if(IIR_RS485 == (b_ret & IIR_RS485))
{
mtpt->interface = RS485NE; mtpt->interface = RS485NE;
} }
} }
}
} }
static void __init multi_register_ports(struct uart_driver *drv) static void __init multi_register_ports(struct uart_driver *drv)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment