From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andy Shevchenko Subject: Re: [PATCH v5] gpio: Add driver for ACPI INT0002 Virtual GPIO device Date: Wed, 24 May 2017 14:23:23 +0300 Message-ID: <1495625003.6967.93.camel@linux.intel.com> References: <20170524104216.23643-1-hdegoede@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <20170524104216.23643-1-hdegoede@redhat.com> Sender: linux-acpi-owner@vger.kernel.org To: Hans de Goede , "Rafael J . Wysocki" , Linus Walleij , Alexandre Courbot Cc: linux-acpi@vger.kernel.org, linux-gpio@vger.kernel.org, joeyli , Takashi Iwai List-Id: linux-gpio@vger.kernel.org On Wed, 2017-05-24 at 12:42 +0200, Hans de Goede wrote: > Some peripherals on Bay Trail and Cherry Trail platforms signal PME to > the > PMC to wakeup the system. When this happens software needs to clear > the > PME_B0_STS bit in the GPE0a_STS register to avoid an IRQ storm on IRQ > 9. > > This is modeled in ACPI through the INT0002 ACPI Virtual GPIO device. > > This commit adds a driver which registers the Virtual GPIOs expected > by the DSDT on these devices, letting gpiolib-acpi claim the > virtual GPIO and install a GPIO-interrupt handler which call the _L02 > handler as it would for a real GPIO controller. > > Cc: joeyli > Cc: Takashi Iwai > Signed-off-by: Hans de Goede > Reviewed-by: Andy Shevchenko In addition to my comment to v4 (if you are going to apply it) couple of nits below. (I'm fine with current version, as tag says, though consider them anyway) > +#define GPE0A_PME_B0_STS_BIT BIT(13) > +#define GPE0A_PME_B0_EN_BIT BIT(13) > +#define GPE0A_STS_PORT 0x420 > +#define GPE0A_EN_PORT 0x428 Perhaps squeeze bits after actual ports like ADDRESSa ADDRa_BITa ADDRESSb ADDRb_BITa > + for (i = 0; i < GPE0A_PME_B0_VIRT_GPIO_PIN; i++) > + clear_bit(i, chip->irq_valid_mask); bitmap_zero() ? -- Andy Shevchenko Intel Finland Oy