All of lore.kernel.org
 help / color / mirror / Atom feed
From: "mika.westerberg@linux.intel.com" <mika.westerberg@linux.intel.com>
To: "Tirdea, Irina" <irina.tirdea@intel.com>
Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>,
	Bastien Nocera <hadess@hadess.net>,
	Aleksei Mamlin <mamlinav@gmail.com>,
	Karsten Merker <merker@debian.org>,
	"linux-input@vger.kernel.org" <linux-input@vger.kernel.org>,
	Mark Rutland <mark.rutland@arm.com>,
	"Purdila, Octavian" <octavian.purdila@intel.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	"Dolca, Robert" <robert.dolca@intel.com>
Subject: Re: [PATCH v9 2/9] Input: goodix - reset device at init
Date: Mon, 19 Oct 2015 17:52:39 +0300	[thread overview]
Message-ID: <20151019145239.GA1526@lahna.fi.intel.com> (raw)
In-Reply-To: <1F3AC3675D538145B1661F571FE1805F2F101AC0@irsmsx105.ger.corp.intel.com>

On Mon, Oct 19, 2015 at 02:32:24PM +0000, Tirdea, Irina wrote:
> 
> 
> > -----Original Message-----
> > From: linux-input-owner@vger.kernel.org [mailto:linux-input-owner@vger.kernel.org] On Behalf Of
> > mika.westerberg@linux.intel.com
> > Sent: 14 October, 2015 16:44
> > To: Dmitry Torokhov
> > Cc: Tirdea, Irina; Bastien Nocera; Aleksei Mamlin; Karsten Merker; linux-input@vger.kernel.org; Mark Rutland; Purdila, Octavian; linux-
> > kernel@vger.kernel.org; devicetree@vger.kernel.org
> > Subject: Re: [PATCH v9 2/9] Input: goodix - reset device at init
> > 
> > On Wed, Oct 14, 2015 at 02:18:20PM +0300, mika.westerberg@linux.intel.com wrote:
> > > On Tue, Oct 13, 2015 at 11:23:03PM -0700, Dmitry Torokhov wrote:
> > > > I understand why one might use acpi_dev_add_driver_gpios() to augment
> > > > data in ACPI, however here we have completely different issue: driver
> > > > that expects named gpios gets returned gpio that has nothing to do with
> > > > what it requested, because gpiolib acpi code always falls back to
> > > > unnamed gpio if it does not find named gpio. That can be acceptable if
> > > > driver uses the same con_id for all requests to gpiolib, but is not
> > > > working when driver supplies different con_ids.
> > >
> > > Right, the ACPI fallback ignores con_id completely and uses only the
> > > index.
> > >
> > > AFAIK there is only one driver using ACPI _CRS index method:
> > > sdhci-[acpi|pci].c. If we can convert that to use acpi_dev_add_driver_gpios()
> > > to feed names for card detection GPIOs, I think we can remove the
> > > fallback alltogether in favor of named GPIOs for ACPI.
> > 
> > Nah, there seems to be several drivers relying on this already :-/
> 
> Would it be possible to add an optional parameter to the GPIO API
> to specify whether we want to fall back to indexed GPIOs for ACPI?

I don't think it's a good idea to add ACPI specifics to generic APIs.

I went through ACPI enabled drivers calling GPIO APIs and majority of
them are doing this:

static int stk8312_gpio_probe(struct i2c_client *client)
{
        struct device *dev;
        struct gpio_desc *gpio;
        int ret;

        if (!client)
                return -EINVAL;

        dev = &client->dev;

        /* data ready gpio interrupt pin */
        gpio = devm_gpiod_get_index(dev, STK8312_GPIO, 0, GPIOD_IN);
        if (IS_ERR(gpio)) {
                dev_err(dev, "acpi gpio get index failed\n");
                return PTR_ERR(gpio);
        }

        ret = gpiod_to_irq(gpio);
        dev_dbg(dev, "GPIO resource, no:%d irq:%d\n", desc_to_gpio(gpio), ret);

        return ret;
}

We can drop all this because I2C core already handles GpioInt -> interrupt
number translation.

Few drivers are doing something more complex but I think we can still convert
them to use acpi_dev_add_driver_gpios() and eventually get rid of the whole
_CRS index lookup.

  reply	other threads:[~2015-10-19 14:52 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-10-12 15:24 [PATCH v9 0/9] Goodix touchscreen enhancements Irina Tirdea
2015-10-12 15:24 ` Irina Tirdea
2015-10-12 15:24 ` [PATCH v9 1/9] Input: goodix - use actual config length for each device type Irina Tirdea
2015-10-12 15:24 ` [PATCH v9 2/9] Input: goodix - reset device at init Irina Tirdea
2015-10-12 16:48   ` Dmitry Torokhov
2015-10-13  6:38     ` Tirdea, Irina
2015-10-13  7:08       ` Dmitry Torokhov
2015-10-13  7:08         ` Dmitry Torokhov
2015-10-13  8:54         ` Tirdea, Irina
2015-10-13 10:07           ` mika.westerberg
2015-10-14  6:23             ` Dmitry Torokhov
2015-10-14 11:18               ` mika.westerberg
2015-10-14 13:44                 ` mika.westerberg
2015-10-14 13:44                   ` mika.westerberg-VuQAYsv1563Yd54FQh9/CA
2015-10-19 14:32                   ` Tirdea, Irina
2015-10-19 14:52                     ` mika.westerberg [this message]
2015-10-30 16:33                       ` Dmitry Torokhov
2015-10-31 17:28                         ` Dmitry Torokhov
2015-11-02 10:17                         ` mika.westerberg
2015-11-02 10:17                           ` mika.westerberg-VuQAYsv1563Yd54FQh9/CA
2015-10-12 15:24 ` [PATCH v9 3/9] Input: goodix - write configuration data to device Irina Tirdea
2015-10-12 15:24 ` [PATCH v9 4/9] Input: goodix - add power management support Irina Tirdea
2015-10-12 15:24 ` [PATCH v9 5/9] Input: goodix - use goodix_i2c_write_u8 instead of i2c_master_send Irina Tirdea
2015-10-12 15:24 ` [PATCH v9 6/9] Input: goodix - add support for ESD Irina Tirdea
2015-10-12 15:24 ` [PATCH v9 7/9] Input: goodix - add sysfs interface to dump config Irina Tirdea
2015-10-12 15:24 ` [PATCH v9 8/9] Input: goodix - add runtime power management support Irina Tirdea
2015-10-12 15:24 ` [PATCH v9 9/9] Input: goodix - sort includes using inverse Xmas tree order Irina Tirdea
2015-10-12 15:39   ` Mark Rutland
2015-10-12 15:39     ` Mark Rutland
2015-10-12 15:40     ` Bastien Nocera
2015-10-12 15:51       ` Mark Rutland
2015-10-12 15:51         ` Mark Rutland
2015-10-12 15:53         ` Bastien Nocera
2015-10-12 16:30           ` Dmitry Torokhov
2015-10-12 16:30             ` Dmitry Torokhov
2015-10-13  6:42             ` Tirdea, Irina
2015-10-13  6:42               ` Tirdea, Irina
2015-10-26 15:06 ` [PATCH v9 0/9] Goodix touchscreen enhancements Bastien Nocera
2015-10-26 15:06   ` Bastien Nocera
2015-10-26 18:21   ` Karsten Merker
2015-10-26 18:40     ` Bastien Nocera
2015-10-26 23:32     ` Dmitry Torokhov
2015-10-27  9:13       ` Tirdea, Irina
2015-10-27  9:13         ` Tirdea, Irina
2015-10-27  9:15     ` Tirdea, Irina
2015-10-27  9:15       ` Tirdea, Irina

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=20151019145239.GA1526@lahna.fi.intel.com \
    --to=mika.westerberg@linux.intel.com \
    --cc=devicetree@vger.kernel.org \
    --cc=dmitry.torokhov@gmail.com \
    --cc=hadess@hadess.net \
    --cc=irina.tirdea@intel.com \
    --cc=linux-input@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mamlinav@gmail.com \
    --cc=mark.rutland@arm.com \
    --cc=merker@debian.org \
    --cc=octavian.purdila@intel.com \
    --cc=robert.dolca@intel.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 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.