Message ID | aa965067acfbdaa862f5f5de8b66e2c161f276a0.1579501711.git.matti.vaittinen@fi.rohmeurope.com (mailing list archive) |
---|---|
State | Superseded, archived |
Headers | show |
Series | Support ROHM BD71828 PMIC | expand |
On Mon, 20 Jan 2020, 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@fi.rohmeurope.com> > Acked-for-MFD-by: Lee Jones <lee.jones@linaro.org> > --- > No changes since v10 > > drivers/mfd/rohm-bd71828.c | 26 ++++++++++++++++++++++++++ > 1 file changed, 26 insertions(+) Drop the "input:" tag from the subject line please.
Hello Lee, On Mon, 2020-01-20 at 08:55 +0000, Lee Jones wrote: > On Mon, 20 Jan 2020, 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@fi.rohmeurope.com> > > Acked-for-MFD-by: Lee Jones <lee.jones@linaro.org> > > --- > > No changes since v10 > > > > drivers/mfd/rohm-bd71828.c | 26 ++++++++++++++++++++++++++ > > 1 file changed, 26 insertions(+) > > Drop the "input:" tag from the subject line please. > I'll do. And I'll also drop the LED patches (12 and 13) as I noticed the patch 12 has some issues (besides LEDs - other than bindings - still lack ack from Pavel). I'll send v12 after a while. Br, Matti Vaittinen
diff --git a/drivers/mfd/rohm-bd71828.c b/drivers/mfd/rohm-bd71828.c index 0ec386c9f26b..210261d026f2 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"), @@ -35,6 +49,10 @@ static struct mfd_cell bd71828_mfd_cells[] = { .name = "bd71828-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,6 +306,14 @@ static int bd71828_i2c_probe(struct i2c_client *i2c) 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); + if (ret < 0) { + dev_err(&i2c->dev, "Failed to get the power-key IRQ\n"); + return ret; + } + + button.irq = ret; + ret = devm_mfd_add_devices(&i2c->dev, PLATFORM_DEVID_AUTO, bd71828_mfd_cells, ARRAY_SIZE(bd71828_mfd_cells), NULL, 0,
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@fi.rohmeurope.com> Acked-for-MFD-by: Lee Jones <lee.jones@linaro.org> --- No changes since v10 drivers/mfd/rohm-bd71828.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+)