All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
To: Jiri Kosina <jkosina@suse.cz>
Cc: "Bruno Prémont" <bonbons@linux-vserver.org>,
	linux-input@vger.kernel.org, linux-usb@vger.kernel.org,
	linux-fbdev@vger.kernel.org, linux-kernel@vger.kernel.org,
	"Rick L. Vinyard Jr." <rvinyard@cs.nmsu.edu>,
	"Nicu Pavel" <npavel@ituner.com>,
	"Oliver Neukum" <oliver@neukum.org>,
	"Jaya Kumar" <jayakumar.lkml@gmail.com>
Subject: Re: [PATCH v3 1/6] hid: new driver for PicoLCD device
Date: Fri, 26 Mar 2010 14:16:24 -0700	[thread overview]
Message-ID: <201003261416.25387.dmitry.torokhov@gmail.com> (raw)
In-Reply-To: <alpine.LNX.2.00.1003262156280.24576@pobox.suse.cz>

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

WARNING: multiple messages have this Message-ID (diff)
From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
To: Jiri Kosina <jkosina@suse.cz>
Cc: "Bruno Prémont" <bonbons@linux-vserver.org>,
	linux-input@vger.kernel.org, linux-usb@vger.kernel.org,
	linux-fbdev@vger.kernel.org, linux-kernel@vger.kernel.org,
	"Rick L. Vinyard Jr." <rvinyard@cs.nmsu.edu>,
	"Nicu Pavel" <npavel@ituner.com>,
	"Oliver Neukum" <oliver@neukum.org>,
	"Jaya Kumar" <jayakumar.lkml@gmail.com>
Subject: Re: [PATCH v3 1/6] hid: new driver for PicoLCD device
Date: Fri, 26 Mar 2010 14:16:24 -0700	[thread overview]
Message-ID: <201003261416.25387.dmitry.torokhov@gmail.com> (raw)
In-Reply-To: <alpine.LNX.2.00.1003262156280.24576@pobox.suse.cz>

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@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

WARNING: multiple messages have this Message-ID (diff)
From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
To: Jiri Kosina <jkosina@suse.cz>
Cc: "Bruno Prémont" <bonbons@linux-vserver.org>,
	linux-input@vger.kernel.org, linux-usb@vger.kernel.org,
	linux-fbdev@vger.kernel.org, linux-kernel@vger.kernel.org,
	"Rick L. Vinyard Jr." <rvinyard@cs.nmsu.edu>,
	"Nicu Pavel" <npavel@ituner.com>,
	"Oliver Neukum" <oliver@neukum.org>,
	"Jaya Kumar" <jayakumar.lkml@gmail.com>
Subject: Re: [PATCH v3 1/6] hid: new driver for PicoLCD device
Date: Fri, 26 Mar 2010 21:16:24 +0000	[thread overview]
Message-ID: <201003261416.25387.dmitry.torokhov@gmail.com> (raw)
In-Reply-To: <alpine.LNX.2.00.1003262156280.24576@pobox.suse.cz>

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

  reply	other threads:[~2010-03-26 21:16 UTC|newest]

Thread overview: 106+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-03-24 22:37 [PATCH v3 0/6] hid: new driver for PicoLCD device Bruno Prémont
2010-03-24 22:37 ` Bruno Prémont
2010-03-24 22:40 ` [PATCH v3 1/6] " Bruno Prémont
2010-03-24 22:40   ` Bruno Prémont
2010-03-24 22:40   ` Bruno Prémont
2010-03-26  6:56   ` Dmitry Torokhov
2010-03-26  6:56     ` Dmitry Torokhov
2010-03-26  9:29     ` Bruno Prémont
2010-03-26  9:29       ` Bruno Prémont
2010-03-26  9:29       ` Bruno Prémont
2010-03-26 20:59       ` Jiri Kosina
2010-03-26 20:59         ` Jiri Kosina
2010-03-26 20:59         ` Jiri Kosina
2010-03-26 21:16         ` Dmitry Torokhov [this message]
2010-03-26 21:16           ` Dmitry Torokhov
2010-03-26 21:16           ` Dmitry Torokhov
2010-03-26 21:39           ` Bruno Prémont
2010-03-26 21:39             ` Bruno Prémont
2010-03-26 21:39             ` Bruno Prémont
2010-03-27  0:22         ` [PATCH v4 " Bruno Prémont
2010-03-27  0:22           ` Bruno Prémont
2010-03-29  9:47           ` Jiri Kosina
2010-03-29  9:47             ` Jiri Kosina
2010-03-29  9:47             ` Jiri Kosina
2010-03-29 10:16             ` Bruno Prémont
2010-03-29 10:16               ` Bruno Prémont
2010-03-30  8:12               ` Jiri Kosina
2010-03-30  8:12                 ` Jiri Kosina
2010-03-30  8:12                 ` Jiri Kosina
2010-03-30 20:32                 ` [PATCH v6 0/8] " Bruno Prémont
2010-03-30 20:32                   ` Bruno Prémont
2010-03-30 20:32                   ` Bruno Prémont
2010-03-30 20:33                   ` [PATCH v6 1/8] " Bruno Prémont
2010-03-30 20:33                     ` Bruno Prémont
2010-03-30 20:33                     ` Bruno Prémont
2010-04-01 16:58                     ` Oliver Neukum
2010-04-01 16:58                       ` Oliver Neukum
2010-04-01 16:58                       ` Oliver Neukum
2010-04-25 19:29                       ` [PATCH] hid: split picolcd's operation_mode sysfs attribute Bruno Prémont
2010-04-25 19:29                         ` Bruno Prémont
2010-04-25 19:29                         ` Bruno Prémont
2010-04-27 13:32                         ` Jiri Kosina
2010-04-27 13:32                           ` Jiri Kosina
2010-04-27 13:32                           ` Jiri Kosina
2010-03-30 20:34                   ` [PATCH v6 2/8] hid: add framebuffer support to PicoLCD device Bruno Prémont
2010-03-30 20:34                     ` Bruno Prémont
2010-03-30 20:35                   ` [PATCH v6 3/8] hid: add backlight " Bruno Prémont
2010-03-30 20:35                     ` Bruno Prémont
2010-03-30 20:35                     ` Bruno Prémont
2010-03-30 20:36                   ` [PATCH v6 4/8] hid: add lcd " Bruno Prémont
2010-03-30 20:36                     ` Bruno Prémont
2010-03-30 20:36                     ` Bruno Prémont
2010-03-30 20:36                   ` [PATCH v6 5/8] hid: add GPO (leds) " Bruno Prémont
2010-03-30 20:36                     ` Bruno Prémont
2010-03-30 20:36                     ` Bruno Prémont
2010-03-30 20:38                   ` [PATCH v6 6/8] hid: add experimental access to PicoLCD device's EEPROM and FLASH Bruno Prémont
2010-03-30 20:38                     ` [PATCH v6 6/8] hid: add experimental access to PicoLCD device's Bruno Prémont
2010-03-30 20:42                   ` [PATCH v6 7/8, needs improvement] hid: add suspend/resume hooks for hid drivers Bruno Prémont
2010-03-30 20:42                     ` [PATCH v6 7/8, needs improvement] hid: add suspend/resume hooks for Bruno Prémont
2010-03-31 12:15                     ` [PATCH v6 7/8, needs improvement] hid: add suspend/resume hooks for hid drivers Jiri Kosina
2010-03-31 12:15                       ` [PATCH v6 7/8, needs improvement] hid: add suspend/resume hooks Jiri Kosina
2010-03-31 12:15                       ` [PATCH v6 7/8, needs improvement] hid: add suspend/resume hooks for hid drivers Jiri Kosina
2010-04-11 11:02                       ` Bruno Prémont
2010-04-11 11:02                         ` Bruno Prémont
2010-04-11 13:38                         ` Oliver Neukum
2010-04-11 13:38                           ` Oliver Neukum
2010-04-11 18:31                         ` Jiri Kosina
2010-04-11 18:31                           ` Jiri Kosina
2010-04-11 18:40                           ` Bruno Prémont
2010-04-11 20:27                             ` Oliver Neukum
2010-04-11 20:27                               ` Oliver Neukum
2010-04-12 11:43                             ` Jiri Kosina
2010-04-12 16:56                               ` Bruno Prémont
2010-04-12 16:56                                 ` Bruno Prémont
2010-04-12 19:45                                 ` Oliver Neukum
2010-04-12 19:45                                   ` Oliver Neukum
2010-03-30 20:43                   ` [PATCH v6 8/8] hid: add PM support to PicoLCD device Bruno Prémont
2010-03-30 20:43                     ` Bruno Prémont
2010-03-30 20:43                     ` Bruno Prémont
2010-03-31  9:28                   ` [PATCH v6 0/8] hid: new driver for " Jiri Kosina
2010-03-31  9:28                     ` Jiri Kosina
2010-03-31  9:28                     ` Jiri Kosina
2010-03-24 22:49 ` [PATCH v3 2/6] hid: add framebuffer support to " Bruno Prémont
2010-03-24 22:49   ` Bruno Prémont
2010-03-24 22:49   ` Bruno Prémont
2010-03-27  0:22   ` [PATCH v4 " Bruno Prémont
2010-03-27  0:22     ` Bruno Prémont
2010-03-29 20:30     ` [PATCH v5 " Bruno Prémont
2010-03-29 20:30       ` Bruno Prémont
2010-03-24 22:51 ` [PATCH v3 3/6] hid: add backlight " Bruno Prémont
2010-03-24 22:51   ` Bruno Prémont
2010-03-24 22:51   ` Bruno Prémont
2010-03-24 22:54 ` [PATCH v3 4/6] hid: add lcd " Bruno Prémont
2010-03-24 22:54   ` Bruno Prémont
2010-03-24 22:54   ` Bruno Prémont
2010-03-24 22:55 ` [PATCH v3 5/6] hid: add GPO (leds) " Bruno Prémont
2010-03-24 22:55   ` Bruno Prémont
2010-03-24 22:55   ` Bruno Prémont
2010-03-24 22:58 ` [PATCH v3 6/6] hid: add experimental access to PicoLCD device's EEPROM and FLASH Bruno Prémont
2010-03-24 22:58   ` [PATCH v3 6/6] hid: add experimental access to PicoLCD device's Bruno Prémont
2010-03-24 22:58   ` [PATCH v3 6/6] hid: add experimental access to PicoLCD device's EEPROM and FLASH Bruno Prémont
2010-03-29  9:44   ` Jiri Kosina
2010-03-29  9:44     ` [PATCH v3 6/6] hid: add experimental access to PicoLCD device's Jiri Kosina
2010-03-29 20:34     ` [PATCH v4 6/6] hid: add experimental access to PicoLCD device's EEPROM and FLASH Bruno Prémont
2010-03-29 20:34       ` [PATCH v4 6/6] hid: add experimental access to PicoLCD device's Bruno Prémont
2010-03-29 20:34       ` [PATCH v4 6/6] hid: add experimental access to PicoLCD device's EEPROM and FLASH Bruno Prémont

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=201003261416.25387.dmitry.torokhov@gmail.com \
    --to=dmitry.torokhov@gmail.com \
    --cc=bonbons@linux-vserver.org \
    --cc=jayakumar.lkml@gmail.com \
    --cc=jkosina@suse.cz \
    --cc=linux-fbdev@vger.kernel.org \
    --cc=linux-input@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=npavel@ituner.com \
    --cc=oliver@neukum.org \
    --cc=rvinyard@cs.nmsu.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.