Re: [PATCH v5] gpio: Add driver for ACPI INT0002 Virtual GPIO device

Andy Shevchenko
2017-05-24T11:27:59Z

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 <jlee@suse.com>
> Cc: Takashi Iwai <tiwai@suse.de>
> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
> Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>

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 <andriy.shevchenko@linux.intel.com>
Intel Finland Oy