serial: icom: use proper __le types and functions
There is a lot of sparse warnings: .../icom.c:228:30: warning: cast from restricted __le16 .../icom.c:232:66: warning: incorrect type in assignment (different base types) .../icom.c:232:66: expected unsigned int [usertype] leBuffer .../icom.c:232:66: got restricted __le32 [usertype] .../icom.c:237:30: warning: cast from restricted __le16 ... .../icom.c:1228:22: warning: cast from restricted __le16 And they are correct. So sort them all out by using proper __leXX and uXX types and the right direction of conversion: le16_to_cpu() instead of cpu_to_le16(), where appropriate. Signed-off-by: Jiri Slaby <jslaby@suse.cz> Link: https://lore.kernel.org/r/20220421085808.24152-5-jslaby@suse.cz Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
2c334f12dc
commit
7a5f86e86b
@ -224,7 +224,7 @@ static int get_port_memory(struct icom_port *icom_port)
|
||||
if (index < (NUM_XBUFFS - 1)) {
|
||||
memset(&icom_port->statStg->xmit[index], 0, sizeof(struct xmit_status_area));
|
||||
icom_port->statStg->xmit[index].leLengthASD =
|
||||
(unsigned short int) cpu_to_le16(XMIT_BUFF_SZ);
|
||||
cpu_to_le16(XMIT_BUFF_SZ);
|
||||
trace(icom_port, "FOD_ADDR", stgAddr);
|
||||
trace(icom_port, "FOD_XBUFF",
|
||||
(unsigned long) icom_port->xmit_buf);
|
||||
@ -233,7 +233,7 @@ static int get_port_memory(struct icom_port *icom_port)
|
||||
} else if (index == (NUM_XBUFFS - 1)) {
|
||||
memset(&icom_port->statStg->xmit[index], 0, sizeof(struct xmit_status_area));
|
||||
icom_port->statStg->xmit[index].leLengthASD =
|
||||
(unsigned short int) cpu_to_le16(XMIT_BUFF_SZ);
|
||||
cpu_to_le16(XMIT_BUFF_SZ);
|
||||
trace(icom_port, "FOD_XBUFF",
|
||||
(unsigned long) icom_port->xmit_buf);
|
||||
icom_port->statStg->xmit[index].leBuffer =
|
||||
@ -251,7 +251,7 @@ static int get_port_memory(struct icom_port *icom_port)
|
||||
stgAddr = stgAddr + sizeof(icom_port->statStg->rcv[0]);
|
||||
icom_port->statStg->rcv[index].leLength = 0;
|
||||
icom_port->statStg->rcv[index].WorkingLength =
|
||||
(unsigned short int) cpu_to_le16(RCV_BUFF_SZ);
|
||||
cpu_to_le16(RCV_BUFF_SZ);
|
||||
if (index < (NUM_RBUFFS - 1) ) {
|
||||
offset = stgAddr - (unsigned long) icom_port->statStg;
|
||||
icom_port->statStg->rcv[index].leNext =
|
||||
@ -627,7 +627,7 @@ static int icom_write(struct uart_port *port)
|
||||
|
||||
trace(icom_port, "WRITE", 0);
|
||||
|
||||
if (cpu_to_le16(icom_port->statStg->xmit[0].flags) &
|
||||
if (le16_to_cpu(icom_port->statStg->xmit[0].flags) &
|
||||
SA_FLAGS_READY_TO_XMIT) {
|
||||
trace(icom_port, "WRITE_FULL", 0);
|
||||
return 0;
|
||||
@ -699,8 +699,7 @@ static inline void check_modem_status(struct icom_port *icom_port)
|
||||
|
||||
static void xmit_interrupt(u16 port_int_reg, struct icom_port *icom_port)
|
||||
{
|
||||
unsigned short int count;
|
||||
int i;
|
||||
u16 count, i;
|
||||
|
||||
if (port_int_reg & (INT_XMIT_COMPLETED)) {
|
||||
trace(icom_port, "XMIT_COMPLETE", 0);
|
||||
@ -709,8 +708,7 @@ static void xmit_interrupt(u16 port_int_reg, struct icom_port *icom_port)
|
||||
icom_port->statStg->xmit[0].flags &=
|
||||
cpu_to_le16(~SA_FLAGS_READY_TO_XMIT);
|
||||
|
||||
count = (unsigned short int)
|
||||
cpu_to_le16(icom_port->statStg->xmit[0].leLength);
|
||||
count = le16_to_cpu(icom_port->statStg->xmit[0].leLength);
|
||||
icom_port->uart_port.icount.tx += count;
|
||||
|
||||
for (i=0; i<count &&
|
||||
@ -732,7 +730,7 @@ static void recv_interrupt(u16 port_int_reg, struct icom_port *icom_port)
|
||||
{
|
||||
short int count, rcv_buff;
|
||||
struct tty_port *port = &icom_port->uart_port.state->port;
|
||||
unsigned short int status;
|
||||
u16 status;
|
||||
struct uart_icount *icount;
|
||||
unsigned long offset;
|
||||
unsigned char flag;
|
||||
@ -740,19 +738,18 @@ static void recv_interrupt(u16 port_int_reg, struct icom_port *icom_port)
|
||||
trace(icom_port, "RCV_COMPLETE", 0);
|
||||
rcv_buff = icom_port->next_rcv;
|
||||
|
||||
status = cpu_to_le16(icom_port->statStg->rcv[rcv_buff].flags);
|
||||
status = le16_to_cpu(icom_port->statStg->rcv[rcv_buff].flags);
|
||||
while (status & SA_FL_RCV_DONE) {
|
||||
int first = -1;
|
||||
|
||||
trace(icom_port, "FID_STATUS", status);
|
||||
count = cpu_to_le16(icom_port->statStg->rcv[rcv_buff].leLength);
|
||||
count = le16_to_cpu(icom_port->statStg->rcv[rcv_buff].leLength);
|
||||
|
||||
trace(icom_port, "RCV_COUNT", count);
|
||||
|
||||
trace(icom_port, "REAL_COUNT", count);
|
||||
|
||||
offset =
|
||||
cpu_to_le32(icom_port->statStg->rcv[rcv_buff].leBuffer) -
|
||||
offset = le32_to_cpu(icom_port->statStg->rcv[rcv_buff].leBuffer) -
|
||||
icom_port->recv_buf_pci;
|
||||
|
||||
/* Block copy all but the last byte as this may have status */
|
||||
@ -822,13 +819,13 @@ ignore_char:
|
||||
icom_port->statStg->rcv[rcv_buff].flags = 0;
|
||||
icom_port->statStg->rcv[rcv_buff].leLength = 0;
|
||||
icom_port->statStg->rcv[rcv_buff].WorkingLength =
|
||||
(unsigned short int) cpu_to_le16(RCV_BUFF_SZ);
|
||||
cpu_to_le16(RCV_BUFF_SZ);
|
||||
|
||||
rcv_buff++;
|
||||
if (rcv_buff == NUM_RBUFFS)
|
||||
rcv_buff = 0;
|
||||
|
||||
status = cpu_to_le16(icom_port->statStg->rcv[rcv_buff].flags);
|
||||
status = le16_to_cpu(icom_port->statStg->rcv[rcv_buff].flags);
|
||||
}
|
||||
icom_port->next_rcv = rcv_buff;
|
||||
|
||||
@ -933,7 +930,7 @@ static unsigned int icom_tx_empty(struct uart_port *port)
|
||||
unsigned long flags;
|
||||
|
||||
spin_lock_irqsave(&port->lock, flags);
|
||||
if (cpu_to_le16(icom_port->statStg->xmit[0].flags) &
|
||||
if (le16_to_cpu(icom_port->statStg->xmit[0].flags) &
|
||||
SA_FLAGS_READY_TO_XMIT)
|
||||
ret = TIOCSER_TEMT;
|
||||
else
|
||||
@ -1224,7 +1221,7 @@ static void icom_set_termios(struct uart_port *port,
|
||||
icom_port->statStg->rcv[rcv_buff].flags = 0;
|
||||
icom_port->statStg->rcv[rcv_buff].leLength = 0;
|
||||
icom_port->statStg->rcv[rcv_buff].WorkingLength =
|
||||
(unsigned short int) cpu_to_le16(RCV_BUFF_SZ);
|
||||
cpu_to_le16(RCV_BUFF_SZ);
|
||||
}
|
||||
|
||||
for (xmit_buff = 0; xmit_buff < NUM_XBUFFS; xmit_buff++) {
|
||||
|
@ -171,13 +171,13 @@ struct statusArea {
|
||||
/* Transmit Status Area */
|
||||
/**********************************************/
|
||||
struct xmit_status_area{
|
||||
u32 leNext; /* Next entry in Little Endian on Adapter */
|
||||
u32 leNextASD;
|
||||
u32 leBuffer; /* Buffer for entry in LE for Adapter */
|
||||
u16 leLengthASD;
|
||||
u16 leOffsetASD;
|
||||
u16 leLength; /* Length of data in segment */
|
||||
u16 flags;
|
||||
__le32 leNext; /* Next entry in Little Endian on Adapter */
|
||||
__le32 leNextASD;
|
||||
__le32 leBuffer; /* Buffer for entry in LE for Adapter */
|
||||
__le16 leLengthASD;
|
||||
__le16 leOffsetASD;
|
||||
__le16 leLength; /* Length of data in segment */
|
||||
__le16 flags;
|
||||
#define SA_FLAGS_DONE 0x0080 /* Done with Segment */
|
||||
#define SA_FLAGS_CONTINUED 0x8000 /* More Segments */
|
||||
#define SA_FLAGS_IDLE 0x4000 /* Mark IDLE after frm */
|
||||
@ -189,13 +189,13 @@ struct statusArea {
|
||||
/* Receive Status Area */
|
||||
/**********************************************/
|
||||
struct {
|
||||
u32 leNext; /* Next entry in Little Endian on Adapter */
|
||||
u32 leNextASD;
|
||||
u32 leBuffer; /* Buffer for entry in LE for Adapter */
|
||||
u16 WorkingLength; /* size of segment */
|
||||
u16 reserv01;
|
||||
u16 leLength; /* Length of data in segment */
|
||||
u16 flags;
|
||||
__le32 leNext; /* Next entry in Little Endian on Adapter */
|
||||
__le32 leNextASD;
|
||||
__le32 leBuffer; /* Buffer for entry in LE for Adapter */
|
||||
__le16 WorkingLength; /* size of segment */
|
||||
__le16 reserv01;
|
||||
__le16 leLength; /* Length of data in segment */
|
||||
__le16 flags;
|
||||
#define SA_FL_RCV_DONE 0x0010 /* Data ready */
|
||||
#define SA_FLAGS_OVERRUN 0x0040
|
||||
#define SA_FLAGS_PARITY_ERROR 0x0080
|
||||
@ -227,7 +227,7 @@ struct icom_port {
|
||||
int port;
|
||||
struct statusArea *statStg;
|
||||
dma_addr_t statStg_pci;
|
||||
u32 *xmitRestart;
|
||||
__le32 *xmitRestart;
|
||||
dma_addr_t xmitRestart_pci;
|
||||
unsigned char *xmit_buf;
|
||||
dma_addr_t xmit_buf_pci;
|
||||
|
Loading…
x
Reference in New Issue
Block a user