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 @@
#define IIR_RS232 0x00 /* RS232 type */
#define IIR_RS422 0x10 /* RS422 type */
#define IIR_RS485 0x20 /* RS485 type */
#define IIR_UNKNOWN 0x30 /* unknown type */
#define IIR_TYPE_MASK 0x30
/* Interrrupt Mask Register */
#define MP_OPTR_IMR0 0x0C /* port0 ~ port8 */
......
......@@ -2851,20 +2851,14 @@ static void __init multi_init_ports(void)
printk("IIR_RET = %x\n",b_ret);
}
if(IIR_RS232 == (b_ret & IIR_RS232))
{
/* default to RS232 */
mtpt->interface = RS232;
}
if(IIR_RS422 == (b_ret & IIR_RS422))
{
if (IIR_RS422 == (b_ret & IIR_TYPE_MASK))
mtpt->interface = RS422PTP;
}
if(IIR_RS485 == (b_ret & IIR_RS485))
{
if (IIR_RS485 == (b_ret & IIR_TYPE_MASK))
mtpt->interface = RS485NE;
}
}
}
}
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