From: Andrew Morton arm: drivers/char/isicom.c:817: warning: comparison between pointer and integer drivers/char/isicom.c: At top level: - We expect a variable called `page' to be `struct page *'. Rename it. - Fix warning there. drivers/char/isicom.c:1473: warning: initialization from incompatible pointer type - Fix that too. Cc: Alan Cox Cc: Jiri Slaby Signed-off-by: Andrew Morton --- drivers/char/isicom.c | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff -puN drivers/char/isicom.c~isicom-bring-into-coding-style-fix drivers/char/isicom.c --- a/drivers/char/isicom.c~isicom-bring-into-coding-style-fix +++ a/drivers/char/isicom.c @@ -813,14 +813,15 @@ static int isicom_setup_port(struct isi_ return 0; if (!port->xmit_buf) { /* Relies on BKL */ - unsigned long page = get_zeroed_page(GFP_KERNEL); - if (page == NULL) + void *xmit_buf = (void *)get_zeroed_page(GFP_KERNEL); + + if (xmit_buf == NULL) return -ENOMEM; if (port->xmit_buf) { - free_page(page); + free_page((unsigned long)xmit_buf); return -ERESTARTSYS; } - port->xmit_buf = (unsigned char *) page; + port->xmit_buf = xmit_buf; } spin_lock_irqsave(&card->card_lock, flags); @@ -1139,29 +1140,28 @@ static int isicom_write(struct tty_struc } /* put_char et all */ -static int isicom_put_char(struct tty_struct *tty, unsigned char ch) +static void isicom_put_char(struct tty_struct *tty, unsigned char ch) { struct isi_port *port = tty->driver_data; struct isi_board *card = port->card; unsigned long flags; if (isicom_paranoia_check(port, tty->name, "isicom_put_char")) - return 0; + return; if (!port->xmit_buf) - return 0; + return; spin_lock_irqsave(&card->card_lock, flags); - if (port->xmit_cnt >= SERIAL_XMIT_SIZE - 1) { - spin_unlock_irqrestore(&card->card_lock, flags); - return 0; - } + if (port->xmit_cnt >= SERIAL_XMIT_SIZE - 1) + goto out; port->xmit_buf[port->xmit_head++] = ch; port->xmit_head &= (SERIAL_XMIT_SIZE - 1); port->xmit_cnt++; spin_unlock_irqrestore(&card->card_lock, flags); - return 1; +out: + return; } /* flush_chars et all */ _