Re: [PATCH v3 1/6] hid: new driver for PicoLCD device

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Friday 26 March 2010 01:59:19 pm Jiri Kosina wrote:
> On Fri, 26 Mar 2010, Bruno Prémont wrote:
> > > > +	for (i = 0; i < PICOLCD_KEYS; i++) {
> > > > +		int key = ((int *)idev->keycode)[i];
> > > 
> > > Keycodes are now short, not int. Also, just do:
> > > 		input_set_capability(idev, EV_KEY, data->keycode[i]);
> > > 		
> > > > +		if (key < KEY_MAX && key >= 0)
> > > > +			input_set_capability(idev, EV_KEY, key);
> > 
> > Oops, I was not careful enough when switching over...
> 
> Dmitry, thanks a lot for rapid review the driver.
> 
> Bruno, could you please fix this and submit a followup 1/6 patch, so that
> I could queue the driver in my tree?
> 
> I have almost finished going over the driver and haven't encountered any
> other issues that would require immediate fixing.
> 
> Still, it would be nice to have the framebuffer/LCD/backlight bits
> reviewed by respective subsystem maintainers. But I'll probably queue the
> driver nevertheless and add potential ACKs later.

FWIW I am not entrely happy with the whole send-and_wait implementation -
it looks like it is not being called concurrently so we don't need mutex
there... I'd do something like:

send_nand_wait() {

	set_bit(WAITING_RESPONSE, data->state);
	prepare message
	send message
	wait_for_event_interruptible_timeout(&data->wait,
					!test_bit(WAITING_RESPONSE, data->state));
	if (!test_bit()) {
		process
		return 0;
	}

	return -ETIME;
}

irq(...) {

	else if (test_bit(WAITING_RESPONSE, data->state)) {
		copy response...
		clear_bit(WAITING_RESPONSE, data->state);	
		wake_up(&data->wait);
	}
}

and not bother with kmallocing pending structure, but it should not
stop from merging driver.

-- 
Dmitry
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux