Message ID | 1426699279-9258-3-git-send-email-lee.jones@linaro.org |
---|---|
State | New |
Headers | show |
On Wed, Mar 18, 2015 at 6:21 PM, Lee Jones <lee.jones@linaro.org> wrote: > This call fetches the numerical function value a specified pin is > currently operating in. Function zero is more often than not the > GPIO function. Greater than zero values represent an alternative > function. You'd need to either look those up in the Device Tree > sources or the Programmer's Manual. > > Acked-by: Maxime Coquelin <maxime.coquelin@st.com> > Signed-off-by: Lee Jones <lee.jones@linaro.org> Patch applied. Yours, Linus Walleij -- To unsubscribe from this list: send the line "unsubscribe linux-gpio" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/pinctrl/pinctrl-st.c b/drivers/pinctrl/pinctrl-st.c index 9e5ec00..5362e45 100644 --- a/drivers/pinctrl/pinctrl-st.c +++ b/drivers/pinctrl/pinctrl-st.c @@ -460,6 +460,20 @@ static void st_pctl_set_function(struct st_pio_control *pc, regmap_field_write(alt, val); } +static unsigned int st_pctl_get_pin_function(struct st_pio_control *pc, int pin) +{ + struct regmap_field *alt = pc->alt; + unsigned int val; + int offset = pin * 4; + + if (!alt) + return 0; + + regmap_field_read(alt, &val); + + return (val >> offset) & 0xf; +} + static unsigned long st_pinconf_delay_to_bit(unsigned int delay, const struct st_pctl_data *data, unsigned long config) {