Add pincontrol support to pps-gpio driver for selecting the repective GPIO muxing if applicable.
Signed-off-by: Matt Ranostay <mranos...@gmail.com> --- drivers/pps/clients/pps-gpio.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/drivers/pps/clients/pps-gpio.c b/drivers/pps/clients/pps-gpio.c index eae0eda..8d51d10 100644 --- a/drivers/pps/clients/pps-gpio.c +++ b/drivers/pps/clients/pps-gpio.c @@ -33,6 +33,9 @@ #include <linux/pps-gpio.h> #include <linux/gpio.h> #include <linux/list.h> +#include <linux/pinctrl/pinctrl.h> +#include <linux/pinctrl/pinmux.h> +#include <linux/pinctrl/consumer.h> #include <linux/of_device.h> #include <linux/of_gpio.h> @@ -93,6 +96,7 @@ static int pps_gpio_probe(struct platform_device *pdev) const char *gpio_label; int ret; int pps_default_params; + struct pinctrl *pinctrl; const struct pps_gpio_platform_data *pdata = pdev->dev.platform_data; struct device_node *np = pdev->dev.of_node; @@ -121,6 +125,11 @@ static int pps_gpio_probe(struct platform_device *pdev) data->assert_falling_edge = true; } + /* PINCTL setup */ + pinctrl = devm_pinctrl_get_select_default(&pdev->dev); + if (IS_ERR(pinctrl)) + pr_warn("pins are not configured from the driver\n"); + /* GPIO setup */ ret = devm_gpio_request(&pdev->dev, data->gpio_pin, gpio_label); if (ret) { -- 1.8.2.rc3.6.g407929c -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/