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; |
} |
|