Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7f8c7619ea1ff5ab8e0b08c8120d629834ef4253
Commit:     7f8c7619ea1ff5ab8e0b08c8120d629834ef4253
Parent:     ddc1e9753106cedcca7944d2b068baa2e14640b1
Author:     Hans-Peter Nilsson <[EMAIL PROTECTED]>
AuthorDate: Mon Feb 12 00:52:44 2007 -0800
Committer:  Linus Torvalds <[EMAIL PROTECTED]>
CommitDate: Mon Feb 12 09:48:31 2007 -0800

    [PATCH] spi_bitbang(): use overridable setup_transfer() method
    
    A small bug-fix for spi_bitbang: it must always call the setup_transfer
    function via the overridable pointer, not assume that its
    spi_bitbang_setup_transfer is sufficient.  Otherwise, if all options in the
    transfers are default (0), the overrided function will never be called.
    
    Granted, the function replacing it must call spi_bitbang_setup_transfer,
    but it might also have other important things to do, even if the second
    argument (the spi_transfer) is NULL.  Tested together with the other
    patches on the spi_crisv32_sser and spi_crisv32_gpio drivers (not yet in
    the kernel, will IIUC be submitted as part of the usual
    arch-maintainer-pushes).
    
    Signed-off-by: Hans-Peter Nilsson <[EMAIL PROTECTED]>
    Signed-off-by: David Brownell <[EMAIL PROTECTED]>
    Signed-off-by: Andrew Morton <[EMAIL PROTECTED]>
    Signed-off-by: Linus Torvalds <[EMAIL PROTECTED]>
---
 drivers/spi/spi_bitbang.c |    9 +++++----
 1 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/drivers/spi/spi_bitbang.c b/drivers/spi/spi_bitbang.c
index 57289b6..a5dadc7 100644
--- a/drivers/spi/spi_bitbang.c
+++ b/drivers/spi/spi_bitbang.c
@@ -210,7 +210,7 @@ int spi_bitbang_setup(struct spi_device *spi)
        if (!cs->txrx_word)
                return -EINVAL;
 
-       retval = spi_bitbang_setup_transfer(spi, NULL);
+       retval = bitbang->setup_transfer(spi, NULL);
        if (retval < 0)
                return retval;
 
@@ -442,9 +442,10 @@ EXPORT_SYMBOL_GPL(spi_bitbang_transfer);
  * hardware that basically exposes a shift register) or per-spi_transfer
  * (which takes better advantage of hardware like fifos or DMA engines).
  *
- * Drivers using per-word I/O loops should use (or call) spi_bitbang_setup and
- * spi_bitbang_cleanup to handle those spi master methods.  Those methods are
- * the defaults if the bitbang->txrx_bufs routine isn't initialized.
+ * Drivers using per-word I/O loops should use (or call) spi_bitbang_setup,
+ * spi_bitbang_cleanup and spi_bitbang_setup_transfer to handle those spi
+ * master methods.  Those methods are the defaults if the bitbang->txrx_bufs
+ * routine isn't initialized.
  *
  * This routine registers the spi_master, which will process requests in a
  * dedicated task, keeping IRQs unblocked most of the time.  To stop
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to