linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH RFC] spi: Dont call prepare/unprepare transfer if not populated
@ 2012-05-10 13:50 Shubhrajyoti D
  2012-05-10 14:01 ` Linus Walleij
  0 siblings, 1 reply; 5+ messages in thread
From: Shubhrajyoti D @ 2012-05-10 13:50 UTC (permalink / raw)
  To: spi-devel-general; +Cc: linux-kernel, andrew, Shubhrajyoti D, Linus Walleij

Currently the prepare/unprepare transfer are called unconditionally.
The assumption is that every driver using the spi core queue infrastructure
has to populate the prepare and unprepare functions. This encourages
drivers to populate empty functions to prevent crashing.
This patch prevents the call to prepare/unprepare if not populated.

Cc: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Shubhrajyoti D <shubhrajyoti@ti.com>
---

 drivers/spi/spi.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/spi/spi.c b/drivers/spi/spi.c
index 37c555e..30e114c 100644
--- a/drivers/spi/spi.c
+++ b/drivers/spi/spi.c
@@ -532,7 +532,7 @@ static void spi_pump_messages(struct kthread_work *work)
 	/* Lock queue and check for queue work */
 	spin_lock_irqsave(&master->queue_lock, flags);
 	if (list_empty(&master->queue) || !master->running) {
-		if (master->busy) {
+		if (master->busy &&  master->unprepare_transfer_hardware) {
 			ret = master->unprepare_transfer_hardware(master);
 			if (ret) {
 				spin_unlock_irqrestore(&master->queue_lock, flags);
@@ -562,7 +562,7 @@ static void spi_pump_messages(struct kthread_work *work)
 		master->busy = true;
 	spin_unlock_irqrestore(&master->queue_lock, flags);
 
-	if (!was_busy) {
+	if (!was_busy && master->prepare_transfer_hardware) {
 		ret = master->prepare_transfer_hardware(master);
 		if (ret) {
 			dev_err(&master->dev,
-- 
1.7.5.4


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH RFC] spi: Dont call prepare/unprepare transfer if not populated
  2012-05-10 13:50 [PATCH RFC] spi: Dont call prepare/unprepare transfer if not populated Shubhrajyoti D
@ 2012-05-10 14:01 ` Linus Walleij
  2012-05-11  3:24   ` Grant Likely
  0 siblings, 1 reply; 5+ messages in thread
From: Linus Walleij @ 2012-05-10 14:01 UTC (permalink / raw)
  To: Shubhrajyoti D; +Cc: spi-devel-general, linux-kernel, andrew, Grant Likely

On Thu, May 10, 2012 at 3:50 PM, Shubhrajyoti D <shubhrajyoti@ti.com> wrote:

> Currently the prepare/unprepare transfer are called unconditionally.
> The assumption is that every driver using the spi core queue infrastructure
> has to populate the prepare and unprepare functions. This encourages
> drivers to populate empty functions to prevent crashing.
> This patch prevents the call to prepare/unprepare if not populated.
>
> Cc: Linus Walleij <linus.walleij@linaro.org>
> Signed-off-by: Shubhrajyoti D <shubhrajyoti@ti.com>

Great!
Acked-by: Linus Walleij <linus.walleij@linaro.org>

Yours,
Linus Walleij

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH RFC] spi: Dont call prepare/unprepare transfer if not populated
  2012-05-10 14:01 ` Linus Walleij
@ 2012-05-11  3:24   ` Grant Likely
  2012-05-15 19:58     ` Andrew Lunn
  0 siblings, 1 reply; 5+ messages in thread
From: Grant Likely @ 2012-05-11  3:24 UTC (permalink / raw)
  To: Linus Walleij, Shubhrajyoti D; +Cc: spi-devel-general, linux-kernel, andrew

On Thu, 10 May 2012 16:01:27 +0200, Linus Walleij <linus.walleij@linaro.org> wrote:
> On Thu, May 10, 2012 at 3:50 PM, Shubhrajyoti D <shubhrajyoti@ti.com> wrote:
> 
> > Currently the prepare/unprepare transfer are called unconditionally.
> > The assumption is that every driver using the spi core queue infrastructure
> > has to populate the prepare and unprepare functions. This encourages
> > drivers to populate empty functions to prevent crashing.
> > This patch prevents the call to prepare/unprepare if not populated.
> >
> > Cc: Linus Walleij <linus.walleij@linaro.org>
> > Signed-off-by: Shubhrajyoti D <shubhrajyoti@ti.com>
> 
> Great!
> Acked-by: Linus Walleij <linus.walleij@linaro.org>

Applied, thanks (after fixing extra whitespace defect).

g.


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH RFC] spi: Dont call prepare/unprepare transfer if not populated
  2012-05-11  3:24   ` Grant Likely
@ 2012-05-15 19:58     ` Andrew Lunn
  2012-05-20  5:00       ` Grant Likely
  0 siblings, 1 reply; 5+ messages in thread
From: Andrew Lunn @ 2012-05-15 19:58 UTC (permalink / raw)
  To: Grant Likely
  Cc: Linus Walleij, Shubhrajyoti D, spi-devel-general, linux-kernel, andrew

On Thu, May 10, 2012 at 09:24:55PM -0600, Grant Likely wrote:
> On Thu, 10 May 2012 16:01:27 +0200, Linus Walleij <linus.walleij@linaro.org> wrote:
> > On Thu, May 10, 2012 at 3:50 PM, Shubhrajyoti D <shubhrajyoti@ti.com> wrote:
> > 
> > > Currently the prepare/unprepare transfer are called unconditionally.
> > > The assumption is that every driver using the spi core queue infrastructure
> > > has to populate the prepare and unprepare functions. This encourages
> > > drivers to populate empty functions to prevent crashing.
> > > This patch prevents the call to prepare/unprepare if not populated.
> > >
> > > Cc: Linus Walleij <linus.walleij@linaro.org>
> > > Signed-off-by: Shubhrajyoti D <shubhrajyoti@ti.com>
> > 
> > Great!
> > Acked-by: Linus Walleij <linus.walleij@linaro.org>
> 
> Applied, thanks (after fixing extra whitespace defect).

Hi Grant

Is this going to appear in linux-next soon? Can i depend on having
this patch for 3.5?

     Thanks
	Andrew


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH RFC] spi: Dont call prepare/unprepare transfer if not populated
  2012-05-15 19:58     ` Andrew Lunn
@ 2012-05-20  5:00       ` Grant Likely
  0 siblings, 0 replies; 5+ messages in thread
From: Grant Likely @ 2012-05-20  5:00 UTC (permalink / raw)
  To: Andrew Lunn
  Cc: Linus Walleij, Shubhrajyoti D, spi-devel-general, linux-kernel, andrew

On Tue, 15 May 2012 21:58:01 +0200, Andrew Lunn <andrew@lunn.ch> wrote:
> On Thu, May 10, 2012 at 09:24:55PM -0600, Grant Likely wrote:
> > On Thu, 10 May 2012 16:01:27 +0200, Linus Walleij <linus.walleij@linaro.org> wrote:
> > > On Thu, May 10, 2012 at 3:50 PM, Shubhrajyoti D <shubhrajyoti@ti.com> wrote:
> > > 
> > > > Currently the prepare/unprepare transfer are called unconditionally.
> > > > The assumption is that every driver using the spi core queue infrastructure
> > > > has to populate the prepare and unprepare functions. This encourages
> > > > drivers to populate empty functions to prevent crashing.
> > > > This patch prevents the call to prepare/unprepare if not populated.
> > > >
> > > > Cc: Linus Walleij <linus.walleij@linaro.org>
> > > > Signed-off-by: Shubhrajyoti D <shubhrajyoti@ti.com>
> > > 
> > > Great!
> > > Acked-by: Linus Walleij <linus.walleij@linaro.org>
> > 
> > Applied, thanks (after fixing extra whitespace defect).
> 
> Hi Grant
> 
> Is this going to appear in linux-next soon? Can i depend on having
> this patch for 3.5?

It's pushed out now.

g.


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2012-05-20  5:00 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-05-10 13:50 [PATCH RFC] spi: Dont call prepare/unprepare transfer if not populated Shubhrajyoti D
2012-05-10 14:01 ` Linus Walleij
2012-05-11  3:24   ` Grant Likely
2012-05-15 19:58     ` Andrew Lunn
2012-05-20  5:00       ` Grant Likely

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).