Subversion Repositories shark

Compare Revisions

Ignore whitespace Rev 772 → Rev 773

/shark/trunk/drivers/cm7326/saa7146_i2c.c
1,3 → 1,5
#include <linuxcomp.h>
 
#include <linux/version.h>
#include <media/saa7146_vv.h>
 
4,8 → 6,9
/* helper function */
static void my_wait(struct saa7146_dev *dev, long ms)
{
set_current_state(TASK_INTERRUPTIBLE);
schedule_timeout((((ms+10)/10)*HZ)/1000);
//set_current_state(TASK_INTERRUPTIBLE);
//schedule_timeout((((ms+10)/10)*HZ)/1000);
udelay(ms*1000);
}
 
u32 saa7146_i2c_func(struct i2c_adapter *adapter)
200,11 → 203,11
IER_ENABLE(dev, MASK_16|MASK_17);
saa7146_write(dev, MC2, (MASK_00 | MASK_16));
 
wait_event_interruptible(dev->i2c_wq, dev->i2c_op == 0);
if (signal_pending (current)) {
//wait_event_interruptible(dev->i2c_wq, dev->i2c_op == 0);
//if (signal_pending (current)) {
/* a signal arrived */
return -ERESTARTSYS;
}
// return -ERESTARTSYS;
//}
status = saa7146_read(dev, I2C_STATUS);
} else {
saa7146_write(dev, I2C_STATUS, dev->i2c_bitrate);
287,8 → 290,8
int address_err = 0;
int short_delay = 0;
if (down_interruptible (&dev->i2c_lock))
return -ERESTARTSYS;
//if (down_interruptible (&dev->i2c_lock))
// return -ERESTARTSYS;
 
for(i=0;i<num;i++) {
DEB_I2C(("msg:%d/%d\n",i+1,num));
374,7 → 377,7
}
}
 
up(&dev->i2c_lock);
//up(&dev->i2c_lock);
return err;
}