qt1070 & gpio_keys add pinctrl consumer
Subsystems (2)
cover qt1070 & gpio_keys add pinctrl consumer
Hi,
The following patch series add the pinctrl support to the follwing keybords:
- gpio_keys
- qt1070
The pinctrl is optionnal as not everyone need it
If no objection I'll apply them via at91 as I have a long patch series of pinctrl for at91
----------------------------------------------------------------
Jean-Christophe PLAGNIOL-VILLARD (2):
input: qt1070: add pinctrl consumer
input: gpio_keys: add pinctrl consumer
drivers/input/keyboard/gpio_keys.c | 11 +++++++++++ drivers/input/keyboard/qt1070.c | 11 +++++++++++ 2 files changed, 22 insertions(+)
Best Regards,
J.
PATCH 1/2 input: qt1070: add pinctrl consumer
If no pinctrl available just report a warning as some architecture may not need to do anything.
--- drivers/input/keyboard/qt1070.c | 11 +++++++++++ 1 file changed, 11 insertions(+)
drivers/input/keyboard/qt1070.c +11 -0
@@ -33,6 +33,7 @@#include <linux/interrupt.h> #include <linux/jiffies.h> #include <linux/delay.h> +#include <linux/pinctrl/consumer.h> /* Address for each register */ #define CHIP_ID 0x00
@@ -147,6 +148,7 @@ static int __devinit qt1070_probe(struct i2c_client *client,struct input_dev *input;int i;int err; +struct pinctrl *pinctrl; err =i2c_check_functionality (client->adapter,I2C_FUNC_SMBUS_BYTE );if (!err) {
@@ -155,6 +157,15 @@ static int __devinit qt1070_probe(struct i2c_client *client,return -ENODEV ; } + pinctrl =devm_pinctrl_get_select_default (&client->dev); +if (IS_ERR (pinctrl)) { + err =PTR_ERR (pinctrl); +if (err == -EPROBE_DEFER ) +return err; + +dev_warn (&client->dev,"No pinctrl provided\n" ); + } +if (!client->irq) {dev_err (&client->dev,"please assign the irq to this device\n" );return -EINVAL ;
Signature · 1 line
1.7.10.4
PATCH 2/2 input: gpio_keys: add pinctrl consumer
If no pinctrl available just report a warning as some architecture may not need to do anything.
--- drivers/input/keyboard/gpio_keys.c | 11 +++++++++++ 1 file changed, 11 insertions(+)
drivers/input/keyboard/gpio_keys.c +11 -0
@@ -29,6 +29,7 @@#include <linux/of_platform.h> #include <linux/of_gpio.h> #include <linux/spinlock.h> +#include <linux/pinctrl/consumer.h> struct gpio_button_data {const struct gpio_keys_button *button;
@@ -666,6 +667,7 @@ static int __devinit gpio_keys_probe(struct platform_device *pdev)struct input_dev *input;int i, error;int wakeup =0 ; +struct pinctrl *pinctrl;if (!pdata) { pdata =gpio_keys_get_devtree_pdata (dev);
@@ -673,6 +675,15 @@ static int __devinit gpio_keys_probe(struct platform_device *pdev)return PTR_ERR (pdata); } + pinctrl =devm_pinctrl_get_select_default (dev); +if (IS_ERR (pinctrl)) { + error =PTR_ERR (pinctrl); +if (error == -EPROBE_DEFER ) +return error; + +dev_warn (dev,"No pinctrl provided\n" ); + } + ddata =kzalloc (sizeof (struct gpio_keys_drvdata ) + pdata->nbuttons *sizeof (struct gpio_button_data ),GFP_KERNEL );
Signature · 1 line
1.7.10.4
PATCH 1/2 input: qt1070: add pinctrl consumer
In reply to Jean-Christophe PLAGNIOL-VILLARDQuoted 9 lines · Jean-Christophe PLAGNIOL-VILLARD
If no pinctrl available just report a warning as some architecture may not need to do anything.
Signed-off-by Jean-Christophe PLAGNIOL-VILLARD <[email protected]>Cc Linus Walleij <[email protected]>Cc linux-input at vger.kernel.org--- drivers/input/keyboard/qt1070.c | 11 +++++++++++ 1 file changed, 11 insertions(+)
Test it on sam9x5ek board with qt1070. It works well.
Quoted 37 lines
drivers/input/keyboard/qt1070.c +11
-0@@ -33,6 +33,7 @@#include <linux/interrupt.h> #include <linux/jiffies.h> #include <linux/delay.h> +#include <linux/pinctrl/consumer.h> /* Address for each register */ #define CHIP_ID 0x00@@ -147,6 +148,7 @@ static int __devinit qt1070_probe(struct i2c_client *client,struct input_dev *input;int i;int err; +struct pinctrl *pinctrl; err =i2c_check_functionality (client->adapter,I2C_FUNC_SMBUS_BYTE );if (!err) {@@ -155,6 +157,15 @@ static int __devinit qt1070_probe(struct i2c_client *client,return -ENODEV ; } + pinctrl =devm_pinctrl_get_select_default (&client->dev); +if (IS_ERR (pinctrl)) { + err =PTR_ERR (pinctrl); +if (err == -EPROBE_DEFER ) +return err; + +dev_warn (&client->dev,"No pinctrl provided\n" ); + } +if (!client->irq) {dev_err (&client->dev,"please assign the irq to this device\n" );return -EINVAL ;
PATCH 1/2 input: qt1070: add pinctrl consumer
In reply to Jean-Christophe PLAGNIOL-VILLARDQuoted 6 lines · Jean-Christophe PLAGNIOL-VILLARD
If no pinctrl available just report a warning as some architecture may not need to do anything.
Signed-off-by Jean-Christophe PLAGNIOL-VILLARD <[email protected]>Cc Linus Walleij <[email protected]>Cc linux-input at vger.kernel.org
We're having a discussion on the level of where to impose pinctrl.
Jean-Christophe, could you please check the thread "Input: omap4-keypad: Add pinctrl support" and tell us what you think is the best approach?
Yours,
Linus Walleij
PATCH 1/2 input: qt1070: add pinctrl consumer
Quoted 11 lines · Linus Walleij
Quoted 6 lines · Jean-Christophe PLAGNIOL-VILLARD
If no pinctrl available just report a warning as some architecture may not need to do anything.
Signed-off-by Jean-Christophe PLAGNIOL-VILLARD <[email protected]>Cc Linus Walleij <[email protected]>Cc linux-input at vger.kernel.org
Quoted 5 lines
We're having a discussion on the level of where to impose pinctrl.
Jean-Christophe, could you please check the thread "Input: omap4-keypad: Add pinctrl support" and tell us what you think is the best approach?
ok I check it
Best Regards,
J.