All of lore.kernel.org
 help / color / mirror / Atom feed
From: Linus Walleij <linus.walleij-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
To: Mark Brown <broonie-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
	linux-spi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Cc: Linus Walleij <linus.walleij-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
Subject: [PATCH 5/5] spi: spi-gpio: Delete references to non-GENERIC_BITBANG
Date: Mon,  1 Jan 2018 14:37:49 +0100	[thread overview]
Message-ID: <20180101133749.29567-6-linus.walleij@linaro.org> (raw)
In-Reply-To: <20180101133749.29567-1-linus.walleij-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>

The non-generic bitbang was a feature where a platform could optimize
SPI bit-banging by inlining the routines to hammer GPIO lines into
the GPIO bitbanging driver as direct register writes using a custom
set of GPIO library calls.

It does not work with multiplatform concepts, violates everything
about how GPIO is made generic and is just generally a bad idea,
even on legacy system. Also there is no single user in the entire
kernel (for good reasons).

Delete the remnants of this optimization.

Signed-off-by: Linus Walleij <linus.walleij-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
---
 drivers/spi/spi-gpio.c | 28 ----------------------------
 1 file changed, 28 deletions(-)

diff --git a/drivers/spi/spi-gpio.c b/drivers/spi/spi-gpio.c
index c12e588e54e7..437b1cd4da71 100644
--- a/drivers/spi/spi-gpio.c
+++ b/drivers/spi/spi-gpio.c
@@ -54,34 +54,8 @@ struct spi_gpio {
 
 /*----------------------------------------------------------------------*/
 
-/*
- * Because the overhead of going through four GPIO procedure calls
- * per transferred bit can make performance a problem, this code
- * is set up so that you can use it in either of two ways:
- *
- *   - The slow generic way:  set up platform_data to hold the GPIO
- *     numbers used for MISO/MOSI/SCK, and issue procedure calls for
- *     each of them.  This driver can handle several such busses.
- *
- *   - The quicker inlined way:  only helps with platform GPIO code
- *     that inlines operations for constant GPIOs.  This can give
- *     you tight (fast!) inner loops, but each such bus needs a
- *     new driver.  You'll define a new C file, with Makefile and
- *     Kconfig support; the C code can be a total of six lines:
- *
- *		#define DRIVER_NAME	"myboard_spi2"
- *		#define	SPI_MISO_GPIO	119
- *		#define	SPI_MOSI_GPIO	120
- *		#define	SPI_SCK_GPIO	121
- *		#define	SPI_N_CHIPSEL	4
- *		#include "spi-gpio.c"
- */
-
 #ifndef DRIVER_NAME
 #define DRIVER_NAME	"spi_gpio"
-
-#define GENERIC_BITBANG	/* vs tight inlines */
-
 #endif
 
 /*----------------------------------------------------------------------*/
@@ -363,10 +337,8 @@ static int spi_gpio_probe(struct platform_device *pdev)
 		use_of = 1;
 
 	pdata = dev_get_platdata(&pdev->dev);
-#ifdef GENERIC_BITBANG
 	if (!pdata || (!use_of && !pdata->num_chipselect))
 		return -ENODEV;
-#endif
 
 	master = spi_alloc_master(&pdev->dev, sizeof(*spi_gpio) +
 				  (sizeof(struct gpio_desc *) * pdata->num_chipselect));
-- 
2.14.3

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

  parent reply	other threads:[~2018-01-01 13:37 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-01-01 13:37 [PATCH 0/5] Rewrite GPIO SPI to use descriptors Linus Walleij
     [not found] ` <20180101133749.29567-1-linus.walleij-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2018-01-01 13:37   ` [PATCH 1/5] gpio: of: Support SPI nonstandard GPIO properties Linus Walleij
     [not found]     ` <20180101133749.29567-2-linus.walleij-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2018-01-03 15:04       ` Mark Brown
2018-01-03 15:23       ` Rob Herring
     [not found]         ` <CAL_JsqLH4pqptAkpw2CHPRe=6dR3k1iBPM8g7yMFUHnYmm7L9w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-01-04 20:24           ` Linus Walleij
     [not found]             ` <CACRpkdZ9yGm9K4iF=jR8bjzZR6cU7vEV8tNz6i7DfcE=Jhp2yw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-01-05 10:21               ` Andy Shevchenko
2018-01-01 13:37   ` [PATCH 2/5] spi: spi-gpio: Rewrite to use GPIO descriptors Linus Walleij
     [not found]     ` <20180101133749.29567-3-linus.walleij-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2018-01-03 15:55       ` Mark Brown
2018-01-05  7:34       ` Olof Johansson
2018-01-05 10:33       ` Andy Shevchenko
2018-01-01 13:37   ` [PATCH 3/5] spi: spi-gpio: Augment device tree bindings Linus Walleij
     [not found]     ` <20180101133749.29567-4-linus.walleij-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2018-02-14 16:28       ` Applied "spi: spi-gpio: Augment device tree bindings" to the spi tree Mark Brown
2018-01-01 13:37   ` [PATCH 4/5] spi: spi-gpio: Make optional chipselect handling more explicit Linus Walleij
     [not found]     ` <20180101133749.29567-5-linus.walleij-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2018-01-03  8:21       ` Geert Uytterhoeven
     [not found]         ` <CAMuHMdV5tdm0diunWg2BXxgVsG0FqwTgXXXBD+p9nbOEXcd59Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-01-03  8:58           ` Linus Walleij
     [not found]             ` <CACRpkdZaLKUs+9BP_Tp8bhdCur+CHaTK1RsS=i2na4Edqz1VGw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-01-03  9:17               ` Geert Uytterhoeven
     [not found]                 ` <CAMuHMdVeTQOxRMJaohGFtw6LUtwQb6H46rsrf1fRFno9KBQXXA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-01-03  9:40                   ` Linus Walleij
     [not found]                     ` <CACRpkdaEyKcWPY543CZz0grepAhVijefh_+FCsPd3g+83hv2Fg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-01-03 16:05                       ` Mark Brown
2018-01-01 13:37   ` Linus Walleij [this message]
     [not found]     ` <20180101133749.29567-6-linus.walleij-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2018-01-03 16:10       ` [PATCH 5/5] spi: spi-gpio: Delete references to non-GENERIC_BITBANG Mark Brown
2018-01-02  8:15   ` [PATCH 0/5] Rewrite GPIO SPI to use descriptors Linus Walleij
2018-01-02 18:42   ` Trent Piepho
     [not found]     ` <1514918569.26695.151.camel-cgc2CodaaHDQT0dZR+AlfA@public.gmane.org>
2018-01-02 23:17       ` Linus Walleij
     [not found]         ` <CACRpkdYRJ=jR4B2Ko2P1axwGMKob2vHkY2h8cMc9t9Qi7n52sQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-01-03 16:24           ` Mark Brown
     [not found]             ` <20180103162449.GG28713-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2018-01-06 23:18               ` Linus Walleij

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=20180101133749.29567-6-linus.walleij@linaro.org \
    --to=linus.walleij-qsej5fyqhm4dnm+yrofe0a@public.gmane.org \
    --cc=broonie-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    --cc=linux-spi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    /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.