linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCHv7 0/4] twl4030-pwrbutton DT binding
@ 2013-11-08 22:11 Sebastian Reichel
  2013-11-08 22:11 ` [PATCHv7 1/4] Input: twl4030-pwrbutton: add device tree support Sebastian Reichel
                   ` (4 more replies)
  0 siblings, 5 replies; 7+ messages in thread
From: Sebastian Reichel @ 2013-11-08 22:11 UTC (permalink / raw)
  To: Sebastian Reichel, Dmitry Torokhov, Dmitry Torokhov, linux-input
  Cc: Rob Herring, Pawel Moll, Mark Rutland, Stephen Warren,
	Ian Campbell, Rob Landley, Grant Likely, devicetree, linux-doc,
	linux-kernel, Sebastian Reichel

Hi,

This is the seventh iteration of DT support for the TWL4030
power button.

Changes since v6 [0]:
* Splitted DT binding documentation into its own patch
* Updated commit message of first patch
* Added Reviewed-by: Aaro Koskinen
* Added Tested-by: Florian Vaussard
* Added Acked-by: Kumar Gala

[0] https://lkml.org/lkml/2013/10/24/269

-- Sebastian

Sebastian Reichel (4):
  Input: twl4030-pwrbutton: add device tree support
  dt: binding documentation for twl4030-pwrbutton
  Input: twl4030-pwrbutton: use dev_err for errors
  Input: twl4030-pwrbutton: simplify driver using devm_*

 .../bindings/input/twl4030-pwrbutton.txt           | 21 +++++++++++
 drivers/input/misc/twl4030-pwrbutton.c             | 44 +++++++++-------------
 2 files changed, 38 insertions(+), 27 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/input/twl4030-pwrbutton.txt

-- 
1.8.4.rc3


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCHv7 1/4] Input: twl4030-pwrbutton: add device tree support
  2013-11-08 22:11 [PATCHv7 0/4] twl4030-pwrbutton DT binding Sebastian Reichel
@ 2013-11-08 22:11 ` Sebastian Reichel
  2013-11-08 22:11 ` [PATCHv7 2/4] dt: binding documentation for twl4030-pwrbutton Sebastian Reichel
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 7+ messages in thread
From: Sebastian Reichel @ 2013-11-08 22:11 UTC (permalink / raw)
  To: Sebastian Reichel, Dmitry Torokhov, Dmitry Torokhov, linux-input
  Cc: Rob Herring, Pawel Moll, Mark Rutland, Stephen Warren,
	Ian Campbell, Rob Landley, Grant Likely, devicetree, linux-doc,
	linux-kernel, Sebastian Reichel

Add device tree support for twl4030 power button driver.

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

Signed-off-by: Sebastian Reichel <sre@debian.org>
Acked-by: Kumar Gala <galak@codeaurora.org>
Tested-by: Florian Vaussard <florian.vaussard@epfl.ch>
---
 drivers/input/misc/twl4030-pwrbutton.c | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)

diff --git a/drivers/input/misc/twl4030-pwrbutton.c b/drivers/input/misc/twl4030-pwrbutton.c
index b9a05fd..a3a0fe3 100644
--- a/drivers/input/misc/twl4030-pwrbutton.c
+++ b/drivers/input/misc/twl4030-pwrbutton.c
@@ -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;
 }
 
+#if IS_ENABLED(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");
-- 
1.8.4.rc3


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCHv7 2/4] dt: binding documentation for twl4030-pwrbutton
  2013-11-08 22:11 [PATCHv7 0/4] twl4030-pwrbutton DT binding Sebastian Reichel
  2013-11-08 22:11 ` [PATCHv7 1/4] Input: twl4030-pwrbutton: add device tree support Sebastian Reichel
@ 2013-11-08 22:11 ` Sebastian Reichel
  2013-11-08 22:11 ` [PATCHv7 3/4] Input: twl4030-pwrbutton: use dev_err for errors Sebastian Reichel
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 7+ messages in thread
From: Sebastian Reichel @ 2013-11-08 22:11 UTC (permalink / raw)
  To: Sebastian Reichel, Dmitry Torokhov, Dmitry Torokhov, linux-input
  Cc: Rob Herring, Pawel Moll, Mark Rutland, Stephen Warren,
	Ian Campbell, Rob Landley, Grant Likely, devicetree, linux-doc,
	linux-kernel, Sebastian Reichel

Add devicetree binding documentation for twl4030-pwrbutton.

Signed-off-by: Sebastian Reichel <sre@debian.org>
---
 .../devicetree/bindings/input/twl4030-pwrbutton.txt | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/input/twl4030-pwrbutton.txt

diff --git a/Documentation/devicetree/bindings/input/twl4030-pwrbutton.txt b/Documentation/devicetree/bindings/input/twl4030-pwrbutton.txt
new file mode 100644
index 0000000..c864a46
--- /dev/null
+++ b/Documentation/devicetree/bindings/input/twl4030-pwrbutton.txt
@@ -0,0 +1,21 @@
+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>;
+	};
+};
-- 
1.8.4.rc3


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCHv7 3/4] Input: twl4030-pwrbutton: use dev_err for errors
  2013-11-08 22:11 [PATCHv7 0/4] twl4030-pwrbutton DT binding Sebastian Reichel
  2013-11-08 22:11 ` [PATCHv7 1/4] Input: twl4030-pwrbutton: add device tree support Sebastian Reichel
  2013-11-08 22:11 ` [PATCHv7 2/4] dt: binding documentation for twl4030-pwrbutton Sebastian Reichel
@ 2013-11-08 22:11 ` Sebastian Reichel
  2013-11-08 22:11 ` [PATCHv7 4/4] Input: twl4030-pwrbutton: simplify driver using devm_* Sebastian Reichel
  2013-11-24 16:33 ` [PATCHv7 0/4] twl4030-pwrbutton DT binding Sebastian Reichel
  4 siblings, 0 replies; 7+ messages in thread
From: Sebastian Reichel @ 2013-11-08 22:11 UTC (permalink / raw)
  To: Sebastian Reichel, Dmitry Torokhov, Dmitry Torokhov, linux-input
  Cc: Rob Herring, Pawel Moll, Mark Rutland, Stephen Warren,
	Ian Campbell, Rob Landley, Grant Likely, devicetree, linux-doc,
	linux-kernel, Sebastian Reichel

Use dev_err() to output errors instead of dev_dbg().

Signed-off-by: Sebastian Reichel <sre@debian.org>
Reviewed-by: Aaro Koskinen <aaro.koskinen@iki.fi>
---
 drivers/input/misc/twl4030-pwrbutton.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/input/misc/twl4030-pwrbutton.c b/drivers/input/misc/twl4030-pwrbutton.c
index a3a0fe3..48639ff 100644
--- a/drivers/input/misc/twl4030-pwrbutton.c
+++ b/drivers/input/misc/twl4030-pwrbutton.c
@@ -74,13 +74,13 @@ static int twl4030_pwrbutton_probe(struct platform_device *pdev)
 			IRQF_TRIGGER_FALLING | IRQF_TRIGGER_RISING,
 			"twl4030_pwrbutton", pwr);
 	if (err < 0) {
-		dev_dbg(&pdev->dev, "Can't get IRQ for pwrbutton: %d\n", err);
+		dev_err(&pdev->dev, "Can't get IRQ for pwrbutton: %d\n", err);
 		goto free_input_dev;
 	}
 
 	err = input_register_device(pwr);
 	if (err) {
-		dev_dbg(&pdev->dev, "Can't register power button: %d\n", err);
+		dev_err(&pdev->dev, "Can't register power button: %d\n", err);
 		goto free_irq;
 	}
 
-- 
1.8.4.rc3


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCHv7 4/4] Input: twl4030-pwrbutton: simplify driver using devm_*
  2013-11-08 22:11 [PATCHv7 0/4] twl4030-pwrbutton DT binding Sebastian Reichel
                   ` (2 preceding siblings ...)
  2013-11-08 22:11 ` [PATCHv7 3/4] Input: twl4030-pwrbutton: use dev_err for errors Sebastian Reichel
@ 2013-11-08 22:11 ` Sebastian Reichel
  2013-11-24 16:33 ` [PATCHv7 0/4] twl4030-pwrbutton DT binding Sebastian Reichel
  4 siblings, 0 replies; 7+ messages in thread
From: Sebastian Reichel @ 2013-11-08 22:11 UTC (permalink / raw)
  To: Sebastian Reichel, Dmitry Torokhov, Dmitry Torokhov, linux-input
  Cc: Rob Herring, Pawel Moll, Mark Rutland, Stephen Warren,
	Ian Campbell, Rob Landley, Grant Likely, devicetree, linux-doc,
	linux-kernel, Sebastian Reichel

Use managed irq resource to simplify the driver.

Signed-off-by: Sebastian Reichel <sre@debian.org>
Reviewed-by: Aaro Koskinen <aaro.koskinen@iki.fi>
---
 drivers/input/misc/twl4030-pwrbutton.c | 26 ++++----------------------
 1 file changed, 4 insertions(+), 22 deletions(-)

diff --git a/drivers/input/misc/twl4030-pwrbutton.c b/drivers/input/misc/twl4030-pwrbutton.c
index 48639ff..be1759c 100644
--- a/drivers/input/misc/twl4030-pwrbutton.c
+++ b/drivers/input/misc/twl4030-pwrbutton.c
@@ -58,7 +58,7 @@ static int twl4030_pwrbutton_probe(struct platform_device *pdev)
 	int irq = platform_get_irq(pdev, 0);
 	int err;
 
-	pwr = input_allocate_device();
+	pwr = devm_input_allocate_device(&pdev->dev);
 	if (!pwr) {
 		dev_dbg(&pdev->dev, "Can't allocate power button\n");
 		return -ENOMEM;
@@ -70,40 +70,23 @@ static int twl4030_pwrbutton_probe(struct platform_device *pdev)
 	pwr->phys = "twl4030_pwrbutton/input0";
 	pwr->dev.parent = &pdev->dev;
 
-	err = request_threaded_irq(irq, NULL, powerbutton_irq,
+	err = devm_request_threaded_irq(&pwr->dev, irq, NULL, powerbutton_irq,
 			IRQF_TRIGGER_FALLING | IRQF_TRIGGER_RISING,
 			"twl4030_pwrbutton", pwr);
 	if (err < 0) {
 		dev_err(&pdev->dev, "Can't get IRQ for pwrbutton: %d\n", err);
-		goto free_input_dev;
+		return err;
 	}
 
 	err = input_register_device(pwr);
 	if (err) {
 		dev_err(&pdev->dev, "Can't register power button: %d\n", err);
-		goto free_irq;
+		return err;
 	}
 
 	platform_set_drvdata(pdev, pwr);
 
 	return 0;
-
-free_irq:
-	free_irq(irq, pwr);
-free_input_dev:
-	input_free_device(pwr);
-	return err;
-}
-
-static int __exit twl4030_pwrbutton_remove(struct platform_device *pdev)
-{
-	struct input_dev *pwr = platform_get_drvdata(pdev);
-	int irq = platform_get_irq(pdev, 0);
-
-	free_irq(irq, pwr);
-	input_unregister_device(pwr);
-
-	return 0;
 }
 
 #if IS_ENABLED(CONFIG_OF)
@@ -116,7 +99,6 @@ MODULE_DEVICE_TABLE(of, twl4030_pwrbutton_dt_match_table);
 
 static struct platform_driver twl4030_pwrbutton_driver = {
 	.probe		= twl4030_pwrbutton_probe,
-	.remove		= __exit_p(twl4030_pwrbutton_remove),
 	.driver		= {
 		.name	= "twl4030_pwrbutton",
 		.owner	= THIS_MODULE,
-- 
1.8.4.rc3


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCHv7 0/4] twl4030-pwrbutton DT binding
  2013-11-08 22:11 [PATCHv7 0/4] twl4030-pwrbutton DT binding Sebastian Reichel
                   ` (3 preceding siblings ...)
  2013-11-08 22:11 ` [PATCHv7 4/4] Input: twl4030-pwrbutton: simplify driver using devm_* Sebastian Reichel
@ 2013-11-24 16:33 ` Sebastian Reichel
  2013-11-26  3:29   ` Dmitry Torokhov
  4 siblings, 1 reply; 7+ messages in thread
From: Sebastian Reichel @ 2013-11-24 16:33 UTC (permalink / raw)
  To: Dmitry Torokhov, Dmitry Torokhov
  Cc: linux-input, devicetree, linux-doc, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 256 bytes --]

Hi,

On Fri, Nov 08, 2013 at 11:11:23PM +0100, Sebastian Reichel wrote:
> This is the seventh iteration of DT support for the TWL4030
> power button.

Dmitry, can you add this patchset to your queue?

It got no further comments in two weeks.

-- Sebastian

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCHv7 0/4] twl4030-pwrbutton DT binding
  2013-11-24 16:33 ` [PATCHv7 0/4] twl4030-pwrbutton DT binding Sebastian Reichel
@ 2013-11-26  3:29   ` Dmitry Torokhov
  0 siblings, 0 replies; 7+ messages in thread
From: Dmitry Torokhov @ 2013-11-26  3:29 UTC (permalink / raw)
  To: linux-input, devicetree, linux-doc, linux-kernel

On Sun, Nov 24, 2013 at 05:33:44PM +0100, Sebastian Reichel wrote:
> Hi,
> 
> On Fri, Nov 08, 2013 at 11:11:23PM +0100, Sebastian Reichel wrote:
> > This is the seventh iteration of DT support for the TWL4030
> > power button.
> 
> Dmitry, can you add this patchset to your queue?
> 
> It got no further comments in two weeks.

Yes, I just applied the series.

Thanks.

-- 
Dmitry

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2013-11-26  3:29 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-11-08 22:11 [PATCHv7 0/4] twl4030-pwrbutton DT binding Sebastian Reichel
2013-11-08 22:11 ` [PATCHv7 1/4] Input: twl4030-pwrbutton: add device tree support Sebastian Reichel
2013-11-08 22:11 ` [PATCHv7 2/4] dt: binding documentation for twl4030-pwrbutton Sebastian Reichel
2013-11-08 22:11 ` [PATCHv7 3/4] Input: twl4030-pwrbutton: use dev_err for errors Sebastian Reichel
2013-11-08 22:11 ` [PATCHv7 4/4] Input: twl4030-pwrbutton: simplify driver using devm_* Sebastian Reichel
2013-11-24 16:33 ` [PATCHv7 0/4] twl4030-pwrbutton DT binding Sebastian Reichel
2013-11-26  3:29   ` Dmitry Torokhov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).