All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: Hans de Goede <hdegoede@redhat.com>,
	Mika Westerberg <mika.westerberg@linux.intel.com>,
	Daniel Vetter <daniel@ffwll.ch>
Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>,
	"russianneuromancer @ ya . ru" <russianneuromancer@ya.ru>,
	Gregor Riepl <onitake@gmail.com>,
	linux-input@vger.kernel.org,
	Linus Walleij <linus.walleij@linaro.org>
Subject: Re: [PATCH v2] Input: silead - Do not try to directly access the GPIO when using ACPI pm
Date: Wed, 08 Mar 2017 19:01:26 +0200	[thread overview]
Message-ID: <1488992486.20145.151.camel@linux.intel.com> (raw)
In-Reply-To: <1488973582.20145.125.camel@linux.intel.com>

On Wed, 2017-03-08 at 13:46 +0200, Andy Shevchenko wrote:
> On Wed, 2017-03-08 at 12:27 +0100, Hans de Goede wrote:
> > On 08-03-17 11:30, Andy Shevchenko wrote:
> > > On Wed, 2017-03-08 at 10:08 +0100, Hans de Goede wrote:
> > > > On 07-03-17 14:55, Hans de Goede wrote:

> > > > Unfortunately it no longer works, there are 2 problems:
> > > > 
> > > > 1) "Input: soc_button_array - Add GPIO ACPI mapping table"
> > > > should
> > > > also replace:
> > > > 
> > > > 	desc = gpiod_get_index(dev, info->name, info-
> > > > >acpi_index,
> > > > GPIOD_ASIS);
> > > > 
> > > > with:
> > > > 
> > > > 	desc = gpiod_get(dev, info->name, GPIOD_ASIS);
> > > > 
> > > > At which point we can also drop the acpi_index field from the
> > > > buttoninfo struct
> > > > altogether.

> Obviously not.

However this statement still true, you seems to be right about indexes.
What a horrible mess :-)

Below corrections to my initial view.

> Just really small pseudo ASL to consider:
> 
> _CRS:
> 
> GpioIo(...)  { pin #5 }
> GpioIo(...)  { pin #3, pin #4, pin #2 }
> GpioIo(...)  { pin #15 }
> 
> In Linux (for example) [index, connection ID]:
> 

> index 0  "reset"  (pin #2)
> index 1  "func1"  (pin #4)
> index 2  "func2"  (pin #3)

An this is completely reversed, should be

index 2  "reset"  (pin #2)
index 1  "func1"  (pin #4)
index 0  "func2"  (pin #3)

> index 3  "enable" (pin #5)
> index 4  "ready"  (pin #15)

Both above should have indexes 0 on Linux side!

> Mapping Linux <-> _CRS (either from _DSD or hard coded mapping table):
> 
> index 0  pin #2    to 1,2
> index 1  pin #4    to 1,1
> index 2  pin #3    to 1,0
> index 3  pin #5    to 0,0
> index 4  pin #15   to 2,0

Ditto.

So, basically with GPIO ACPI mapping table we have to replace indexes in
most cases to 0, which effectively means drop of _index() variant of
gpiod_get() calls. And here you are right.

Sorry for my broken picture.

-- 
Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Intel Finland Oy

  reply	other threads:[~2017-03-08 17:06 UTC|newest]

Thread overview: 53+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-01-22 20:00 [PATCH v2] Input: silead - Do not try to directly access the GPIO when using ACPI pm Hans de Goede
2017-01-22 22:20 ` Dmitry Torokhov
2017-01-23 10:05   ` Hans de Goede
2017-02-01 17:42     ` Dmitry Torokhov
2017-02-02 10:41       ` Mika Westerberg
2017-02-02 11:57         ` Hans de Goede
2017-02-02 12:10           ` Mika Westerberg
2017-02-02 12:32             ` Mika Westerberg
2017-02-02 12:50               ` Hans de Goede
2017-02-02 13:12                 ` Mika Westerberg
2017-02-02 13:27                   ` Hans de Goede
2017-02-02 13:44                     ` Mika Westerberg
2017-02-02 13:55                       ` Hans de Goede
2017-02-02 14:18                         ` Mika Westerberg
2017-02-02 14:24                           ` Gregor Riepl
2017-03-14 10:21                             ` Linus Walleij
2017-03-14 11:07                               ` Hans de Goede
2017-03-14 13:09                               ` Andy Shevchenko
2017-03-14 18:12                               ` Gregor Riepl
2017-02-10 11:52                   ` Hans de Goede
2017-02-10 13:02                     ` Mika Westerberg
2017-02-12 10:40                     ` Hans de Goede
2017-02-13 11:00                       ` Andy Shevchenko
2017-02-22 15:52                       ` Andy Shevchenko
2017-02-23 14:19                         ` Hans de Goede
2017-03-02 11:38                           ` Andy Shevchenko
2017-03-02 15:34                             ` Hans de Goede
2017-03-03 14:57                               ` Andy Shevchenko
2017-03-03 15:19                                 ` Hans de Goede
2017-03-03 15:23                                   ` Andy Shevchenko
2017-03-06  9:31                                     ` Hans de Goede
2017-03-07 11:51                                       ` Andy Shevchenko
2017-03-07 13:55                                         ` Hans de Goede
2017-03-08  9:08                                           ` Hans de Goede
2017-03-08 10:30                                             ` Andy Shevchenko
2017-03-08 11:27                                               ` Hans de Goede
2017-03-08 11:46                                                 ` Andy Shevchenko
2017-03-08 17:01                                                   ` Andy Shevchenko [this message]
2017-03-08 17:08                                                     ` Hans de Goede
2017-03-08 17:14                                                     ` Andy Shevchenko
2017-03-08 17:05                                                   ` Hans de Goede
2017-03-08 18:25                                                     ` Andy Shevchenko
2017-03-09 13:57                                                       ` Hans de Goede
2017-03-09 14:03                                                         ` Andy Shevchenko
2017-03-09 14:45                                                           ` Hans de Goede
2017-03-09 15:03                                                             ` Andy Shevchenko
2017-03-09 15:40                                                               ` Hans de Goede
2017-03-09 18:48                                                             ` Hans de Goede
2017-03-09 21:32                                                               ` Dmitry Torokhov
2017-03-10 10:35                                                                 ` Mika Westerberg
2017-03-10 11:33                                                               ` Andy Shevchenko
2017-03-10 11:58                                                                 ` Andy Shevchenko
2017-03-10 20:49                                                                 ` Hans de Goede

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=1488992486.20145.151.camel@linux.intel.com \
    --to=andriy.shevchenko@linux.intel.com \
    --cc=daniel@ffwll.ch \
    --cc=dmitry.torokhov@gmail.com \
    --cc=hdegoede@redhat.com \
    --cc=linus.walleij@linaro.org \
    --cc=linux-input@vger.kernel.org \
    --cc=mika.westerberg@linux.intel.com \
    --cc=onitake@gmail.com \
    --cc=russianneuromancer@ya.ru \
    /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.