Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c81e5926 authored by Sebastian Reichel's avatar Sebastian Reichel Committed by Dmitry Torokhov
Browse files

Input: twl4030-pwrbutton - add device tree support



Add device tree support for twl4030 power button driver.

Adding device tree support involved converting the
driver to module_platform_driver().

Signed-off-by: default avatarSebastian Reichel <sre@debian.org>
Acked-by: default avatarKumar Gala <galak@codeaurora.org>
Tested-by: default avatarFlorian Vaussard <florian.vaussard@epfl.ch>
Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
parent fd91a5f0
Loading
Loading
Loading
Loading
+21 −0
Original line number Diff line number Diff line
Texas Instruments TWL family (twl4030) pwrbutton module

This module is part of the TWL4030. For more details about the whole
chip see Documentation/devicetree/bindings/mfd/twl-familly.txt.

This module provides a simple power button event via an Interrupt.

Required properties:
- compatible: should be one of the following
   - "ti,twl4030-pwrbutton": For controllers compatible with twl4030
- interrupts: should be one of the following
   - <8>: For controllers compatible with twl4030

Example:

&twl {
	twl_pwrbutton: pwrbutton {
		compatible = "ti,twl4030-pwrbutton";
		interrupts = <8>;
	};
};
+12 −4
Original line number Diff line number Diff line
@@ -52,7 +52,7 @@ static irqreturn_t powerbutton_irq(int irq, void *_pwr)
	return IRQ_HANDLED;
}

static int __init twl4030_pwrbutton_probe(struct platform_device *pdev)
static int twl4030_pwrbutton_probe(struct platform_device *pdev)
{
	struct input_dev *pwr;
	int irq = platform_get_irq(pdev, 0);
@@ -106,16 +106,24 @@ static int __exit twl4030_pwrbutton_remove(struct platform_device *pdev)
	return 0;
}

#ifdef CONFIG_OF
static const struct of_device_id twl4030_pwrbutton_dt_match_table[] = {
       { .compatible = "ti,twl4030-pwrbutton" },
       {},
};
MODULE_DEVICE_TABLE(of, twl4030_pwrbutton_dt_match_table);
#endif

static struct platform_driver twl4030_pwrbutton_driver = {
	.probe		= twl4030_pwrbutton_probe,
	.remove		= __exit_p(twl4030_pwrbutton_remove),
	.driver		= {
		.name	= "twl4030_pwrbutton",
		.owner	= THIS_MODULE,
		.of_match_table = of_match_ptr(twl4030_pwrbutton_dt_match_table),
	},
};

module_platform_driver_probe(twl4030_pwrbutton_driver,
			twl4030_pwrbutton_probe);
module_platform_driver(twl4030_pwrbutton_driver);

MODULE_ALIAS("platform:twl4030_pwrbutton");
MODULE_DESCRIPTION("Triton2 Power Button");