Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 107207aa authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6

parents 403fe5ae 3873658b
Loading
Loading
Loading
Loading
+0 −2
Original line number Diff line number Diff line
@@ -129,8 +129,6 @@ struct vfc_dev {
	struct vfc_regs *phys_regs;
	unsigned int control_reg;
	struct semaphore device_lock_sem;
	struct timer_list poll_timer;
	wait_queue_head_t poll_wait;
	int instance;
	int busy;
	unsigned long which_io;
+0 −1
Original line number Diff line number Diff line
@@ -137,7 +137,6 @@ int init_vfc_devstruct(struct vfc_dev *dev, int instance)
	dev->instance=instance;
	init_MUTEX(&dev->device_lock_sem);
	dev->control_reg=0;
	init_waitqueue_head(&dev->poll_wait);
	dev->busy=0;
	return 0;
}
+2 −17
Original line number Diff line number Diff line
@@ -79,25 +79,10 @@ int vfc_pcf8584_init(struct vfc_dev *dev)
	return 0;
}

void vfc_i2c_delay_wakeup(struct vfc_dev *dev) 
{
	/* Used to profile code and eliminate too many delays */
	VFC_I2C_DEBUG_PRINTK(("vfc%d: Delaying\n", dev->instance));
	wake_up(&dev->poll_wait);
}

void vfc_i2c_delay_no_busy(struct vfc_dev *dev, unsigned long usecs) 
{
	DEFINE_WAIT(wait);
	init_timer(&dev->poll_timer);
	dev->poll_timer.expires = jiffies + usecs_to_jiffies(usecs);
	dev->poll_timer.data=(unsigned long)dev;
	dev->poll_timer.function=(void *)(unsigned long)vfc_i2c_delay_wakeup;
	add_timer(&dev->poll_timer);
	prepare_to_wait(&dev->poll_wait, &wait, TASK_UNINTERRUPTIBLE);
	schedule();
	del_timer(&dev->poll_timer);
	finish_wait(&dev->poll_wait, &wait);
	set_current_state(TASK_UNINTERRUPTIBLE);
	schedule_timeout(usecs_to_jiffies(usecs));
}

void inline vfc_i2c_delay(struct vfc_dev *dev)