On Mon, Dec 09, 2019 at 03:09:02PM +0200, Andy Shevchenko wrote: > Andy Shevchenko (24): > pinctrl: lynxpoint: Move GPIO driver to pin controller folder > pinctrl: lynxpoint: Use raw_spinlock for locking > pinctrl: lynxpoint: Correct amount of pins > pinctrl: lynxpoint: Drop useless assignment > pinctrl: lynxpoint: Use %pR to print IO resource > pinctrl: lynxpoint: Use standard pattern for memory allocation > pinctrl: lynxpoint: Assume 2 bits for mode selector > pinctrl: lynxpoint: Relax GPIO request rules > pinctrl: lynxpoint: Keep pointer to struct device instead of its > container > pinctrl: lynxpoint: Switch to memory mapped IO accessors > pinctrl: lynxpoint: Convert unsigned to unsigned int > pinctrl: lynxpoint: Extract lp_gpio_acpi_use() for future use > pinctrl: lynxpoint: Move ->remove closer to ->probe() > pinctrl: lynxpoint: Move lp_irq_type() closer to IRQ related routines > pinctrl: lynxpoint: Move ownership check to IRQ chip > pinctrl: lynxpoint: Implement ->irq_ack() callback > pinctrl: lynxpoint: Implement intel_gpio_get_direction callback > pinctrl: lynxpoint: Add pin control data structures > pinctrl: lynxpoint: Reuse struct intel_pinctrl in the driver > pinctrl: lynxpoint: Add pin control operations > pinctrl: lynxpoint: Implement ->pin_dbg_show() > pinctrl: lynxpoint: Add GPIO <-> pin mapping ranges via callback > pinctrl: lynxpoint: Switch to pin control API > pinctrl: lynxpoint: Update summary in the driver Looks great to me! For the whole series, Acked-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx>