From: Russell King - ARM Linux <linux@armlinux.org.uk>
To: Linus Walleij <linus.walleij@linaro.org>
Cc: "linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
"linux-gpio@vger.kernel.org" <linux-gpio@vger.kernel.org>,
linux-pcmcia@lists.infradead.org,
Alexandre Courbot <gnurou@gmail.com>,
Daniel Mack <daniel@zonque.org>,
Haojian Zhuang <haojian.zhuang@gmail.com>,
Kristoffer Ericson <kristoffer.ericson@gmail.com>,
Robert Jarzmik <robert.jarzmik@free.fr>
Subject: Re: [PATCH 10/33] pcmcia: soc_common: switch to using gpio_descs
Date: Wed, 14 Sep 2016 13:10:56 +0100 [thread overview]
Message-ID: <20160914121056.GC1041@n2100.armlinux.org.uk> (raw)
In-Reply-To: <CACRpkdZvNnVG5U3XQPm5KJDLci76xFP7JOO78AZ3a8QVBs0ZQg@mail.gmail.com>
On Wed, Sep 14, 2016 at 01:29:04PM +0200, Linus Walleij wrote:
> On Mon, Aug 29, 2016 at 12:24 PM, Russell King
> <rmk+kernel@armlinux.org.uk> wrote:
>
> > Switch to using the gpiod_* consumer API rather than the legacy API.
> >
> > Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
> (...)
>
> > +int soc_pcmcia_request_gpiods(struct soc_pcmcia_socket *skt)
> > +{
> > + int i;
> > +
> > + for (i = 0; i < ARRAY_SIZE(skt->stat); i++) {
> > + struct gpio_desc *desc;
> > +
>
> Here I inserted:
>
> /* Skip over unnamed GPIOs, assume unused */
> if (!skt->stat[i].name)
> continue;
>
> to get it working again on h3600.
Thanks, I'll add that.
> > + desc = gpiod_get(skt->socket.dev.parent,
> > + skt->stat[i].name, GPIOD_IN);
> > + if (IS_ERR(desc)) {
> > + dev_err(skt->socket.dev.parent,
> > + "Failed to get GPIO for %s: %ld\n",
> > + skt->stat[i].name, PTR_ERR(desc));
> > + __soc_pcmcia_hw_shutdown(skt, i);
> > + return PTR_ERR(desc);
> > + }
>
>
> It bugs out for me on the legacy h3600, since it only defines
> two of these pins not all of the ARRAY_SIZE(skt->stat) pins
> will succeed and we get an error message like this:
>
> sa11x0-pcmcia sa11x0-pcmcia: Failed to get GPIO for (null): -2
> sa11x0-pcmcia: probe of sa11x0-pcmcia failed with error -2
>
> With the patch above it goes away and the log is silent.
> The debugfs gpio file looks like this:
>
> cat gpio
> gpiochip0: GPIOs 0-27, gpio:
> gpio-0 ( |Power Button ) in hi
> gpio-10 ( |pcmcia1-detect ) in hi
> gpio-11 ( |pcmcia1-ready ) in hi
> gpio-17 ( |pcmcia0-detect ) in hi
> gpio-18 ( |Action button ) in hi
> gpio-21 ( |pcmcia0-ready ) in hi
> gpio-23 ( |dcd ) in hi
> gpio-25 ( |cts ) in lo
> gpio-26 ( |rts ) out lo
>
> gpiochip1: GPIOs 28-43, parent: platform/htc-egpio, htc-egpio:
> gpio-28 ( |Flash Vpp ) out lo
> gpio-29 ( |PCMCIA CARD RESET ) out lo
> gpio-30 ( |OPT RESET ) out lo
> gpio-32 ( |OPT NVRAM ON ) out lo
> gpio-33 ( |OPT ON ) out lo
> gpio-34 ( |LCD power ) out lo
> gpio-36 ( |LCD control ) out lo
> gpio-42 ( |LCD 5v ) out lo
> gpio-43 ( |LCD 9v/-6.5v ) out lo
>
> Which seems like before the patch series.
Yay.
> I still suspect the PCMCIA is not really working but I have
> limited experience of the bus so I don't really know how
> to test it deeply or have my PCMCIA ethernet or harddrive
> probe properly.
Yes, to me the H3600 code looks really really really weird - the way
H3XXX_EGPIO_CARD_RESET is "shared" (badly) between both sockets is
certainly racy. I've no idea what the semantics there are supposed
to be - I suspect that H3600 PCMCIA hasn't worked for a very long
time, or if it has, it's probably not been reliable.
> There are no regressions however, so with something like
> the above patch applied:
> Tested-by: Linus Walleij <linus.walleij@linaro.org>
>
> For the whole patch series on H3600.
Thanks!
--
RMK's Patch system: http://www.armlinux.org.uk/developer/patches/
FTTC broadband for 0.8mile line: currently at 9.6Mbps down 400kbps up
according to speedtest.net.
next prev parent reply other threads:[~2016-09-14 12:11 UTC|newest]
Thread overview: 77+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20160829100232.GC1041@n2100.armlinux.org.uk>
2016-08-29 10:23 ` [RFC PATCH 00/33] SA11x0/PXA GPIO rework (Core + PCMCIA only) Russell King - ARM Linux
2016-08-29 10:24 ` [PATCH 01/33] gpio: sa1100: fix irq probing for ucb1x00 Russell King
2016-09-07 22:25 ` Linus Walleij
2016-08-29 10:24 ` [PATCH 02/33] gpio: sa1100: use sa11x0_gpio_set_wake() Russell King
2016-08-29 10:24 ` [PATCH 03/33] gpio: sa1100: convert to use IO accessors Russell King
2016-08-29 10:24 ` [PATCH 04/33] gpio: sa1100: implement get_direction method Russell King
2016-08-29 10:24 ` [PATCH 05/33] gpio: add generic single-register fixed-direction GPIO driver Russell King
2016-08-29 19:39 ` Robert Jarzmik
2016-08-29 23:12 ` Russell King - ARM Linux
2016-08-30 6:08 ` Alexander Shiyan
2016-08-30 7:41 ` Russell King - ARM Linux
2016-08-30 9:18 ` Russell King - ARM Linux
2016-08-30 16:42 ` Robert Jarzmik
2016-08-30 18:46 ` Russell King - ARM Linux
2016-08-30 21:32 ` Robert Jarzmik
2016-08-31 8:49 ` Russell King - ARM Linux
2016-08-31 10:27 ` Russell King - ARM Linux
2016-09-01 7:19 ` Robert Jarzmik
2016-09-01 9:27 ` Russell King - ARM Linux
2016-09-01 21:58 ` Robert Jarzmik
2016-09-01 23:02 ` Russell King - ARM Linux
2016-09-02 17:50 ` Robert Jarzmik
2016-09-02 18:56 ` Russell King - ARM Linux
2016-09-02 21:21 ` Robert Jarzmik
2016-09-02 23:34 ` Russell King - ARM Linux
2016-09-03 9:15 ` Russell King - ARM Linux
2016-09-03 9:09 ` Russell King - ARM Linux
2016-09-03 10:25 ` Russell King - ARM Linux
2016-09-03 11:31 ` Robert Jarzmik
2016-09-04 19:04 ` Robert Jarzmik
2016-09-04 20:18 ` Russell King - ARM Linux
2016-09-05 9:06 ` Linus Walleij
2016-09-05 12:26 ` Russell King - ARM Linux
2016-09-08 13:21 ` Linus Walleij
2016-09-14 8:50 ` Linus Walleij
2016-08-30 21:25 ` Linus Walleij
2016-08-30 21:42 ` Russell King - ARM Linux
2016-08-30 21:47 ` Linus Walleij
2016-09-02 17:00 ` Russell King - ARM Linux
2016-09-04 20:53 ` Linus Walleij
2016-08-29 10:24 ` [PATCH 06/33] ARM: pxa/lubbock: add GPIO driver for LUB_MISC_WR register Russell King
2016-08-29 19:57 ` Robert Jarzmik
2016-08-29 22:58 ` Russell King - ARM Linux
2016-08-29 10:24 ` [PATCH 07/33] ARM: sa1100/assabet: add BCR/BSR GPIO driver Russell King
2016-08-29 10:24 ` [PATCH 08/33] ARM: sa1100/neponset: add GPIO drivers for control and modem registers Russell King
2016-08-29 10:24 ` [PATCH 09/33] ARM: sa1111: implement a gpio_chip for SA1111 GPIOs Russell King
2016-08-29 10:24 ` [PATCH 10/33] pcmcia: soc_common: switch to using gpio_descs Russell King
2016-09-14 11:29 ` Linus Walleij
2016-09-14 12:10 ` Russell King - ARM Linux [this message]
2016-08-29 10:25 ` [PATCH 11/33] pcmcia: soc_common: request legacy detect GPIO with active low Russell King
2016-08-29 10:25 ` [PATCH 12/33] pcmcia: soc_common: add support for reset and bus enable GPIOs Russell King
2016-08-29 10:25 ` [PATCH 13/33] pcmcia: soc_common: restore previous socket state on error Russell King
2016-08-29 10:25 ` [PATCH 14/33] pcmcia: soc_common: add CF socket state helper Russell King
2016-08-29 10:25 ` [PATCH 15/33] pcmcia: soc_common: add support for Vcc and Vpp regulators Russell King
2016-08-29 10:25 ` [PATCH 16/33] pcmcia: soc_common: switch to a per-socket cpufreq notifier Russell King
2016-08-29 10:25 ` [PATCH 17/33] pcmcia: soc_common: constify pcmcia_low_level ops pointer Russell King
2016-08-29 10:25 ` [PATCH 18/33] pcmcia: sa1100: provide generic CF support Russell King
2016-09-14 8:52 ` Linus Walleij
2016-09-14 9:06 ` Russell King - ARM Linux
2016-09-14 11:13 ` Linus Walleij
2016-08-29 10:25 ` [PATCH 19/33] pcmcia: sa1111: add driver-data pointer Russell King
2016-08-29 10:25 ` [PATCH 20/33] pcmcia: add MAX1600 driver Russell King
2016-08-29 10:25 ` [PATCH 21/33] ARM: sa1100: provide infrastructure to support generic CF sockets Russell King
2016-08-29 10:25 ` [PATCH 22/33] ARM: sa1100/assabet: convert to " Russell King
2016-08-29 10:26 ` [PATCH 23/33] ARM: sa1100/cerf: " Russell King
2016-08-29 10:26 ` [PATCH 24/33] ARM: sa1100/h3xxx: switch h3xxx PCMCIA to use gpiod APIs Russell King
2016-08-29 10:26 ` [PATCH 25/33] ARM: sa1100/nanoengine: convert to generic CF sockets Russell King
2016-08-29 10:26 ` [PATCH 26/33] ARM: sa1100/shannon: switch shannon PCMCIA to use gpiod APIs Russell King
2016-08-29 10:26 ` [PATCH 27/33] ARM: sa1100/simpad: switch simpad CF " Russell King
2016-08-29 10:26 ` [PATCH 28/33] ARM: sa1100/neponset: add GPIOs for PCMCIA Russell King
2016-08-29 10:26 ` [PATCH 29/33] pcmcia: sa1111/neponset: convert to use MAX1600 power driver Russell King
2016-08-29 10:26 ` [PATCH 30/33] ARM: sa1100/jornada720: switch jornada720 PCMCIA to gpiod APIs Russell King
2016-08-29 10:26 ` [PATCH 31/33] ARM: pxa/lubbock: convert PCMCIA to use MAX1600 driver Russell King
2016-08-29 10:26 ` [PATCH 32/33] pcmcia: sa1100*: remove redundant bvd1/bvd2 setting Russell King
2016-08-29 10:26 ` [PATCH 33/33] ARM: sa1111: remove legacy GPIO interfaces Russell King
2016-08-30 21:31 ` [RFC PATCH 00/33] SA11x0/PXA GPIO rework (Core + PCMCIA only) Linus Walleij
2016-09-01 15:34 ` Russell King - ARM Linux
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=20160914121056.GC1041@n2100.armlinux.org.uk \
--to=linux@armlinux.org.uk \
--cc=daniel@zonque.org \
--cc=gnurou@gmail.com \
--cc=haojian.zhuang@gmail.com \
--cc=kristoffer.ericson@gmail.com \
--cc=linus.walleij@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-pcmcia@lists.infradead.org \
--cc=robert.jarzmik@free.fr \
/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).