Patch "pinctrl: sx150x: Register pinctrl before adding the gpiochip" has been added to the 4.15-stable tree
Subsystems (2)
This is a note to let you know that I've just added the patch titled
pinctrl: sx150x: Register pinctrl before adding the gpiochip
to the 4.15-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
pinctrl-sx150x-register-pinctrl-before-adding-the-gpiochip.patch
and it can be found in the queue-4.15 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
1a1d39e1b8dd1d0f92a79da4fcc1ab0be3ae9bfcMon Sep 17 00:00:00 2001
From: Peter Rosin <[email protected]>
Date: Wed, 17 Jan 2018 14:34:22 +0100
Subject: pinctrl: sx150x: Register pinctrl before adding the gpiochip
From: Peter Rosin <[email protected]>
commit 1a1d39e1b8dd1d0f92a79da4fcc1ab0be3ae9bfc upstream.
Various gpiolib activity depend on the pinctrl to be up and kicking. Therefore, register the pinctrl before adding a gpiochip.
--- drivers/pinctrl/pinctrl-sx150x.c | 35 +++++++++++++++++++++-------------- 1 file changed, 21 insertions(+), 14 deletions(-)
drivers/pinctrl/pinctrl-sx150x.c +21 -14
@@ -1144,6 +1144,27 @@ static int sx150x_probe(struct i2c_clienif (ret)return ret; +/* Pinctrl_desc */ + pctl->pinctrl_desc.name ="sx150x-pinctrl" ; + pctl->pinctrl_desc.pctlops = &sx150x_pinctrl_ops; + pctl->pinctrl_desc.confops = &sx150x_pinconf_ops; + pctl->pinctrl_desc.pins = pctl->data->pins; + pctl->pinctrl_desc.npins = pctl->data->npins; + pctl->pinctrl_desc.owner =THIS_MODULE ; + + ret =devm_pinctrl_register_and_init (dev, &pctl->pinctrl_desc, + pctl, &pctl->pctldev); +if (ret) { +dev_err (dev,"Failed to register pinctrl device\n" ); +return ret; + } + + ret =pinctrl_enable (pctl->pctldev); +if (ret) { +dev_err (dev,"Failed to enable pinctrl device\n" ); +return ret; + } +/* Register GPIO controller */ pctl->gpio.label =devm_kstrdup (dev, client->name,GFP_KERNEL ); pctl->gpio.base =-1 ;
@@ -1217,20 +1238,6 @@ static int sx150x_probe(struct i2c_clien client->irq); } -/* Pinctrl_desc */ - pctl->pinctrl_desc.name ="sx150x-pinctrl" ; - pctl->pinctrl_desc.pctlops = &sx150x_pinctrl_ops; - pctl->pinctrl_desc.confops = &sx150x_pinconf_ops; - pctl->pinctrl_desc.pins = pctl->data->pins; - pctl->pinctrl_desc.npins = pctl->data->npins; - pctl->pinctrl_desc.owner =THIS_MODULE ; - - pctl->pctldev =devm_pinctrl_register (dev, &pctl->pinctrl_desc, pctl); -if (IS_ERR (pctl->pctldev)) { -dev_err (dev,"Failed to register pinctrl device\n" ); -return PTR_ERR (pctl->pctldev); - } -return 0 ; }
Patches currently in stable-queue which might be from [email protected] are
queue-4.15/pinctrl-sx150x-register-pinctrl-before-adding-the-gpiochip.patch queue-4.15/pinctrl-sx150x-unregister-the-pinctrl-on-release.patch queue-4.15/pinctrl-sx150x-add-a-static-gpio-pinctrl-pin-range-mapping.patch