From: Maxime Ripard <maxime.ripard@free-electrons.com>
To: Arnd Bergmann <arnd@arndb.de>
Cc: "Rafał Miłecki" <zajec5@gmail.com>,
"Geert Uytterhoeven" <geert@linux-m68k.org>,
"Linus Walleij" <linus.walleij@linaro.org>,
"Alexandre Courbot" <gnurou@gmail.com>,
"linux-gpio@vger.kernel.org" <linux-gpio@vger.kernel.org>,
"Hauke Mehrtens" <hauke@hauke-m.de>,
"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
"Gabor Juhos" <juhosg@openwrt.org>,
"Miguel Gaio" <miguel.gaio@efixo.com>
Subject: Re: [PATCH] gpio: sn54hc595: new driver for GPIO shift registers chipsets
Date: Tue, 9 Dec 2014 10:09:41 +0100 [thread overview]
Message-ID: <20141209090941.GR8739@lukather> (raw)
In-Reply-To: <101906283.ZCEfV1JaGs@wuerfel>
[-- Attachment #1: Type: text/plain, Size: 2983 bytes --]
On Mon, Dec 08, 2014 at 05:56:56PM +0100, Arnd Bergmann wrote:
> On Monday 08 December 2014 17:31:45 Rafał Miłecki wrote:
> > On 8 December 2014 at 16:41, Arnd Bergmann <arnd@arndb.de> wrote:
> > > On Monday 08 December 2014 16:23:01 Rafał Miłecki wrote:
> > >> On 8 December 2014 at 16:03, Geert Uytterhoeven <geert@linux-m68k.org> wrote:
> > >> >> gpio-74x164.c seems to be tight closely to the SPI. In my case it's
> > >> >> GPIO-controller '595.
> > >> >
> > >> > Right. gpio-74x164.c uses the SPI framework, so it will work with any SPI
> > >> > master controller, while your driver contains a very simple variant (without any
> > >> > timing constraints) of spi-gpio.c, and is limited to connecting to GPIO pins.
> > >> >
> > >> >> Do you have any other idea how we could handle this?
> > >> >
> > >> > Your driver does provide OE support, which gpio-74x164 doesn't support.
> > >> > Perhaps that can be added to gpio-74x164 instead?
> > >>
> > >> It's not the missing OE support in gpio-74x164 that worries me, but
> > >> the whole rest.
> > >>
> > >> I would need to modify gpio-74x164 to:
> > >> 1) Use another OF table with different entry
> > >> 2) Use different probe function that doesn't take spi_device parameter
> > >> and doesn't do spi setup
> > >> 3) Extend struct gen_74x164_chip to include GPIOs
> > >> 4) Use totally different __gen_74x164_write_config
> > >
> > > I think the suggestion was to use the spi-gpio driver in combination
> > > with gpio-74x164.
> >
> > Oh, OK, I've obviously missed that.
> >
> > I don't know... I'm somehow not really convinced to that, because
> > AFAIK there isn't any SPI master device between GPIOs and 'HC595. I
> > don't know if pretending there is some extra hardware (just to use
> > another Linux driver/layer) is a good idea. This would:
> > 1) Not match hardware design
> > 2) Involve some extra code.
> >
> > I'm not even sure if this would work out-of-the box (without some
> > extra changes) at all. From early look at spi-gpio.c I can't see it
> > implementing everything I need for GPIO-connected 'HC595.
> > I think that implementing support for this extra SPI layer will
> > actually require more code/tricks than a separated driver.
>
> The purpose of the spi-gpio driver is to avoid having to write
> two drivers for every spi slave device if someone wants to drive
> it using bit-banged gpios.
>
> The existing users of the driver are in fact all using spi-gpio,
> see:
> arch/arm/boot/dts/armada-xp-lenovo-ix4-300d.dts
> arch/arm/boot/dts/imx28-cfa10049.dts
I'm the one who worked on the cfa10049, and yeah, it worked pretty
well at the time using spi-gpio.
We couldn't really do it any other way though, since we had another
SPI device tied to the same bus, so it really felt like this was the
right thing to do.
Maxime
--
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
next prev parent reply other threads:[~2014-12-09 9:09 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-12-08 14:27 [PATCH] gpio: sn54hc595: new driver for GPIO shift registers chipsets Rafał Miłecki
2014-12-08 14:41 ` Geert Uytterhoeven
2014-12-08 14:47 ` Rafał Miłecki
2014-12-08 15:03 ` Geert Uytterhoeven
2014-12-08 15:23 ` Rafał Miłecki
2014-12-08 15:41 ` Arnd Bergmann
2014-12-08 16:31 ` Rafał Miłecki
2014-12-08 16:56 ` Arnd Bergmann
2014-12-09 9:09 ` Maxime Ripard [this message]
2014-12-08 16:59 ` Geert Uytterhoeven
2014-12-09 9:12 ` Maxime Ripard
2014-12-11 10:36 ` Rafał Miłecki
2014-12-11 11:03 ` Geert Uytterhoeven
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=20141209090941.GR8739@lukather \
--to=maxime.ripard@free-electrons.com \
--cc=arnd@arndb.de \
--cc=devicetree@vger.kernel.org \
--cc=geert@linux-m68k.org \
--cc=gnurou@gmail.com \
--cc=hauke@hauke-m.de \
--cc=juhosg@openwrt.org \
--cc=linus.walleij@linaro.org \
--cc=linux-gpio@vger.kernel.org \
--cc=miguel.gaio@efixo.com \
--cc=zajec5@gmail.com \
/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 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).