On Fri, 01 Nov 2019, Matti Vaittinen wrote: > Use gpio_keys to send power input-event to user-space when power > button (short) press is detected. > > Signed-off-by: Matti Vaittinen <matti.vaittinen@xxxxxxxxxxxxxxxxx> > --- > > Changes from v2 - No changes > > drivers/mfd/rohm-bd71828.c | 28 ++++++++++++++++++++++++++++ > 1 file changed, 28 insertions(+) > > diff --git a/drivers/mfd/rohm-bd71828.c b/drivers/mfd/rohm-bd71828.c > index b7de79e1fcdb..f77ba1ec3e99 100644 > --- a/drivers/mfd/rohm-bd71828.c > +++ b/drivers/mfd/rohm-bd71828.c > @@ -4,7 +4,9 @@ > // > // ROHM BD71828 PMIC driver > > +#include <linux/gpio_keys.h> > #include <linux/i2c.h> > +#include <linux/input.h> > #include <linux/interrupt.h> > #include <linux/ioport.h> > #include <linux/irq.h> > @@ -15,6 +17,18 @@ > #include <linux/regmap.h> > #include <linux/types.h> > > +static struct gpio_keys_button button = { > + .code = KEY_POWER, > + .gpio = -1, > + .type = EV_KEY, > +}; > + > +static struct gpio_keys_platform_data bd71828_powerkey_data = { > + .buttons = &button, > + .nbuttons = 1, > + .name = "bd71828-pwrkey", > +}; > + > static const struct resource rtc_irqs[] = { > DEFINE_RES_IRQ_NAMED(BD71828_INT_RTC0, "bd71828-rtc-alm-0"), > DEFINE_RES_IRQ_NAMED(BD71828_INT_RTC1, "bd71828-rtc-alm-1"), > @@ -36,6 +50,10 @@ static struct mfd_cell bd71828_mfd_cells[] = { > .name = "bd70528-rtc", > .resources = rtc_irqs, > .num_resources = ARRAY_SIZE(rtc_irqs), > + }, { > + .name = "gpio-keys", > + .platform_data = &bd71828_powerkey_data, > + .pdata_size = sizeof(bd71828_powerkey_data), > }, > }; > > @@ -288,9 +306,19 @@ static int bd71828_i2c_probe(struct i2c_client *i2c, > dev_err(&i2c->dev, "Failed to add IRQ chip\n"); > return ret; > } > + This should be fixed in the last patch. > dev_dbg(&i2c->dev, "Registered %d IRQs for chip\n", > bd71828_irq_chip.num_irqs); > > + ret = regmap_irq_get_virq(irq_data, BD71828_INT_SHORTPUSH); > + Remove this empty line. > + if (ret < 0) { > + dev_err(&i2c->dev, "Failed to get the power-key IRQ\n"); > + return ret; > + } > + > + button.irq = ret; > + Once fixed, please apply my: For my own reference: Acked-for-MFD-by: Lee Jones <lee.jones@xxxxxxxxxx> -- Lee Jones [李琼斯] Linaro Services Technical Lead Linaro.org │ Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog