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: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Dan Carpenter 2013-01-09 10:12:14 +03:00 коммит произвёл Greg Kroah-Hartman
Родитель 8441bf5e06
Коммит c803dd48f0
2 изменённых файлов: 5 добавлений и 11 удалений

Просмотреть файл

@ -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,18 +2851,12 @@ static void __init multi_init_ports(void)
printk("IIR_RET = %x\n",b_ret);
}
if(IIR_RS232 == (b_ret & IIR_RS232))
{
mtpt->interface = RS232;
}
if(IIR_RS422 == (b_ret & IIR_RS422))
{
/* default to RS232 */
mtpt->interface = RS232;
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;
}
}
}
}