On Wed, 18 Mar 2015, Maxime Coquelin wrote:Just re-checked the code, and yes you are right.
That is the assumption that I've made. Is there isn't an alt, then a
On 03/18/2015 11:51 AM, Lee Jones wrote:
This call fetches the numerical function value a specified pin isShouldn't we print something if alt is NULL?
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.
Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx>
---
drivers/pinctrl/pinctrl-st.c | 14 ++++++++++++++
1 file changed, 14 insertions(+)
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;
Else we can think we are on alternate 0.
pin can only be on Alt-0. Have I made the incorrect assumption here?