drivers: misc: ti-st: Use int instead of fuzzy char for callback status
On mips and parisc: drivers/bluetooth/btwilink.c: In function 'ti_st_open': drivers/bluetooth/btwilink.c:174:21: warning: overflow in implicit constant conversion [-Woverflow] hst->reg_status = -EINPROGRESS; drivers/nfc/nfcwilink.c: In function 'nfcwilink_open': drivers/nfc/nfcwilink.c:396:31: warning: overflow in implicit constant conversion [-Woverflow] drv->st_register_cb_status = -EINPROGRESS; There are actually two issues: 1. Whether "char" is signed or unsigned depends on the architecture. As the completion callback data is used to pass a (negative) error code, it should always be signed. 2. EINPROGRESS is 150 on mips, 245 on parisc. Hence -EINPROGRESS doesn't fit in a signed 8-bit number. Change the callback status from "char" to "int" to fix these. Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Acked-by: Mauro Carvalho Chehab <mchehab@s-opensource.com> Acked-by: Samuel Ortiz <sameo@linux.intel.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
This commit is contained in:

committed by
Marcel Holtmann

parent
858d68f102
commit
4360fa22ad
@@ -94,7 +94,7 @@ struct nfcwilink {
|
||||
struct nci_dev *ndev;
|
||||
unsigned long flags;
|
||||
|
||||
char st_register_cb_status;
|
||||
int st_register_cb_status;
|
||||
long (*st_write) (struct sk_buff *);
|
||||
|
||||
struct completion completed;
|
||||
@@ -320,7 +320,7 @@ exit:
|
||||
}
|
||||
|
||||
/* Called by ST when registration is complete */
|
||||
static void nfcwilink_register_complete(void *priv_data, char data)
|
||||
static void nfcwilink_register_complete(void *priv_data, int data)
|
||||
{
|
||||
struct nfcwilink *drv = priv_data;
|
||||
|
||||
|
Reference in New Issue
Block a user