lkml.org 
[lkml]   [2004]   [Dec]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] ip2: fix compile warnings
Adrian Bunk wrote:
> On Fri, Dec 17, 2004 at 03:47:13PM -0600, james4765@verizon.net wrote:
>
>
>>This fixes the following compile errors in the ip2 and ip2main drivers:
>>
>> CC drivers/char/ip2main.o
>>drivers/char/ip2main.c:470: warning: initialization from incompatible pointer type
>>drivers/char/ip2main.c: In function `ip2_tiocmget':
>>drivers/char/ip2main.c:2004: warning: unused variable `wait'
>>drivers/char/ip2/i2lib.c: At top level:
>>drivers/char/ip2/i2cmd.c:142: warning: `ct89' defined but not used
>>drivers/char/ip2main.c:205: warning: `set_modem_info' declared `static' but never defined
>>drivers/char/ip2/i2ellis.c:108: warning: `iiEllisCleanup' defined but not used
>>...
>
>
> This are not errors - they are only warnings.
>
>
>>--- linux-2.6.10-rc3-mm1-original/drivers/char/ip2main.c 2004-12-03 16:55:03.000000000 -0500
>>+++ linux-2.6.10-rc3-mm1/drivers/char/ip2main.c 2004-12-17 16:24:24.094730049 -0500
>>...
>>@@ -2001,7 +2000,6 @@
>> static int ip2_tiocmget(struct tty_struct *tty, struct file *file)
>> {
>> i2ChanStrPtr pCh = DevTable[tty->index];
>>- wait_queue_t wait;
>>
>> if (pCh == NULL)
>> return -ENODEV;
>>@@ -2018,6 +2016,8 @@
>> /\/\|=mhw=|\/\/ */
>>
>> #ifdef ENABLE_DSSNOW
>>+ wait_queue_t wait;
>>+
>> i2QueueCommands(PTYPE_BYPASS, pCh, 100, 1, CMD_DSS_NOW);
>>
>> init_waitqueue_entry(&wait, current);
>
>
> If someone will ever define ENABLE_DSSNOW your change broke compilation
> with gcc 2.95 (variable declaration mixed with code).
>

How about doing something like this:

#ifdef ENABLE_DSSNOW
#define DSSNOW_ENABLED 1
#else
#define DSSNOW_ENABLED 0
#endif

-blah-

static int ip2_tiocmget(struct tty_struct *tty, struct file *file)
{
i2ChanStrPtr pCh = DevTable[tty->index];
if (pCh == NULL)
return -ENODEV;
if (DSSNOW_ENABLED) {
if (ip2_tiocmget_dssnow() == -EINTR) return -EINTR;
}
return ((pCh->dataSetOut & I2_RTS) ? TIOCM_RTS : 0)
| ((pCh->dataSetOut & I2_DTR) ? TIOCM_DTR : 0)
| ((pCh->dataSetIn & I2_DCD) ? TIOCM_CAR : 0)
| ((pCh->dataSetIn & I2_RI) ? TIOCM_RNG : 0)
| ((pCh->dataSetIn & I2_DSR) ? TIOCM_DSR : 0)
| ((pCh->dataSetIn & I2_CTS) ? TIOCM_CTS : 0);
}
/*
FIXME - the following code is causing a NULL pointer dereference in
2.3.51 in an interrupt handler. It's suppose to prompt the board
to return the DSS signal status immediately. Why doesn't it do
the same thing in 2.2.14?
*/
/* This thing is still busted in the 1.2.12 driver on 2.4.x
and even hoses the serial console so the oops can be trapped.
/\/\|=mhw=|\/\/ */
static int ip2_tiocmget_dssnow (void)
{
wait_queue_t wait;
i2QueueCommands(PTYPE_BYPASS, pCh, 100, 1, CMD_DSS_NOW);

init_waitqueue_entry(&wait, current);
add_wait_queue(&pCh->dss_now_wait, &wait);
set_current_state( TASK_INTERRUPTIBLE );

serviceOutgoingFifo( pCh->pMyBord );

schedule();

set_current_state( TASK_RUNNING );
remove_wait_queue(&pCh->dss_now_wait, &wait);

if (signal_pending(current)) {
return -EINTR;
}
return 0;
}
> cu
> Adrian
>

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 14:08    [from the cache]
©2003-2011 Jasper Spaans. Advertise on this site