Presently, get_function_mux returns an unsigned int and cannot
differentiate between failure and correct function value. Change its
return type to int and check for failure in the caller.

Additionally, updated drivers/pinctrl/qcom/pinctrl-*.c to accommodate the
above return type change. Only compile test done.

Signed-off-by: Varadarajan Narayanan <quic_var...@quicinc.com>
---
 drivers/pinctrl/qcom/pinctrl-apq8016.c  | 4 ++--
 drivers/pinctrl/qcom/pinctrl-apq8096.c  | 4 ++--
 drivers/pinctrl/qcom/pinctrl-ipq4019.c  | 3 +--
 drivers/pinctrl/qcom/pinctrl-qcm2290.c  | 2 +-
 drivers/pinctrl/qcom/pinctrl-qcom.c     | 5 ++++-
 drivers/pinctrl/qcom/pinctrl-qcom.h     | 3 +--
 drivers/pinctrl/qcom/pinctrl-qcs404.c   | 4 ++--
 drivers/pinctrl/qcom/pinctrl-sdm845.c   | 4 ++--
 drivers/pinctrl/qcom/pinctrl-sm6115.c   | 2 +-
 drivers/pinctrl/qcom/pinctrl-sm8150.c   | 4 ++--
 drivers/pinctrl/qcom/pinctrl-sm8250.c   | 2 +-
 drivers/pinctrl/qcom/pinctrl-sm8550.c   | 4 ++--
 drivers/pinctrl/qcom/pinctrl-sm8650.c   | 4 ++--
 drivers/pinctrl/qcom/pinctrl-x1e80100.c | 4 ++--
 14 files changed, 25 insertions(+), 24 deletions(-)

diff --git a/drivers/pinctrl/qcom/pinctrl-apq8016.c 
b/drivers/pinctrl/qcom/pinctrl-apq8016.c
index 0c7437822f..9ae07d43d9 100644
--- a/drivers/pinctrl/qcom/pinctrl-apq8016.c
+++ b/drivers/pinctrl/qcom/pinctrl-apq8016.c
@@ -50,8 +50,8 @@ static const char *apq8016_get_pin_name(struct udevice *dev,
        }
 }
 
-static unsigned int apq8016_get_function_mux(__maybe_unused unsigned int pin,
-                                            unsigned int selector)
+static int apq8016_get_function_mux(__maybe_unused unsigned int pin,
+                                   unsigned int selector)
 {
        return msm_pinctrl_functions[selector].val;
 }
diff --git a/drivers/pinctrl/qcom/pinctrl-apq8096.c 
b/drivers/pinctrl/qcom/pinctrl-apq8096.c
index 132ece868b..eaa927c6e2 100644
--- a/drivers/pinctrl/qcom/pinctrl-apq8096.c
+++ b/drivers/pinctrl/qcom/pinctrl-apq8096.c
@@ -43,8 +43,8 @@ static const char *apq8096_get_pin_name(struct udevice *dev,
        }
 }
 
-static unsigned int apq8096_get_function_mux(__maybe_unused unsigned int pin,
-                                            unsigned int selector)
+static int apq8096_get_function_mux(__maybe_unused unsigned int pin,
+                                   unsigned int selector)
 {
        return msm_pinctrl_functions[selector].val;
 }
diff --git a/drivers/pinctrl/qcom/pinctrl-ipq4019.c 
b/drivers/pinctrl/qcom/pinctrl-ipq4019.c
index 3215c677b2..dafcd494df 100644
--- a/drivers/pinctrl/qcom/pinctrl-ipq4019.c
+++ b/drivers/pinctrl/qcom/pinctrl-ipq4019.c
@@ -311,8 +311,7 @@ static const char *ipq4019_get_pin_name(struct udevice *dev,
        return pin_name;
 }
 
-static unsigned int ipq4019_get_function_mux(unsigned int pin,
-                                            unsigned int selector)
+static int ipq4019_get_function_mux(unsigned int pin, unsigned int selector)
 {
        unsigned int i;
        const msm_pin_function *func = ipq4019_pin_functions + pin;
diff --git a/drivers/pinctrl/qcom/pinctrl-qcm2290.c 
b/drivers/pinctrl/qcom/pinctrl-qcm2290.c
index af969e177d..0c2222ce66 100644
--- a/drivers/pinctrl/qcom/pinctrl-qcm2290.c
+++ b/drivers/pinctrl/qcom/pinctrl-qcm2290.c
@@ -38,7 +38,7 @@ static const char *qcm2290_get_pin_name(struct udevice *dev, 
unsigned int select
        return pin_name;
 }
 
-static unsigned int qcm2290_get_function_mux(__maybe_unused unsigned int pin, 
unsigned int selector)
+static int qcm2290_get_function_mux(__maybe_unused unsigned int pin, unsigned 
int selector)
 {
        return msm_pinctrl_functions[selector].val;
 }
diff --git a/drivers/pinctrl/qcom/pinctrl-qcom.c 
b/drivers/pinctrl/qcom/pinctrl-qcom.c
index 26a3fba194..24d031947a 100644
--- a/drivers/pinctrl/qcom/pinctrl-qcom.c
+++ b/drivers/pinctrl/qcom/pinctrl-qcom.c
@@ -92,7 +92,10 @@ static int msm_pinmux_set(struct udevice *dev, unsigned int 
pin_selector,
                          unsigned int func_selector)
 {
        struct msm_pinctrl_priv *priv = dev_get_priv(dev);
-       u32 func = priv->data->get_function_mux(pin_selector, func_selector);
+       int func = priv->data->get_function_mux(pin_selector, func_selector);
+
+       if (func < 0)
+               return func;
 
        /* Always NOP for special pins, assume they're in the correct state */
        if (qcom_is_special_pin(&priv->data->pin_data, pin_selector))
diff --git a/drivers/pinctrl/qcom/pinctrl-qcom.h 
b/drivers/pinctrl/qcom/pinctrl-qcom.h
index 49b7bfbc00..cd167e6386 100644
--- a/drivers/pinctrl/qcom/pinctrl-qcom.h
+++ b/drivers/pinctrl/qcom/pinctrl-qcom.h
@@ -18,8 +18,7 @@ struct msm_pinctrl_data {
        int functions_count;
        const char *(*get_function_name)(struct udevice *dev,
                                         unsigned int selector);
-       unsigned int (*get_function_mux)(unsigned int pin,
-                                        unsigned int selector);
+       int (*get_function_mux)(unsigned int pin, unsigned int selector);
        const char *(*get_pin_name)(struct udevice *dev,
                                    unsigned int selector);
 };
diff --git a/drivers/pinctrl/qcom/pinctrl-qcs404.c 
b/drivers/pinctrl/qcom/pinctrl-qcs404.c
index fb6defaedd..c272595aa2 100644
--- a/drivers/pinctrl/qcom/pinctrl-qcs404.c
+++ b/drivers/pinctrl/qcom/pinctrl-qcs404.c
@@ -93,8 +93,8 @@ static const char *qcs404_get_pin_name(struct udevice *dev,
        }
 }
 
-static unsigned int qcs404_get_function_mux(__maybe_unused unsigned int pin,
-                                           unsigned int selector)
+static int qcs404_get_function_mux(__maybe_unused unsigned int pin,
+                                  unsigned int selector)
 {
        return msm_pinctrl_functions[selector].val;
 }
diff --git a/drivers/pinctrl/qcom/pinctrl-sdm845.c 
b/drivers/pinctrl/qcom/pinctrl-sdm845.c
index f1a23f5109..3f55fc81c8 100644
--- a/drivers/pinctrl/qcom/pinctrl-sdm845.c
+++ b/drivers/pinctrl/qcom/pinctrl-sdm845.c
@@ -80,8 +80,8 @@ static const char *sdm845_get_pin_name(struct udevice *dev,
        return pin_name;
 }
 
-static unsigned int sdm845_get_function_mux(__maybe_unused unsigned int pin,
-                                           unsigned int selector)
+static int sdm845_get_function_mux(__maybe_unused unsigned int pin,
+                                  unsigned int selector)
 {
        return msm_pinctrl_functions[selector].val;
 }
diff --git a/drivers/pinctrl/qcom/pinctrl-sm6115.c 
b/drivers/pinctrl/qcom/pinctrl-sm6115.c
index f07f39f4ac..7e80ea39a1 100644
--- a/drivers/pinctrl/qcom/pinctrl-sm6115.c
+++ b/drivers/pinctrl/qcom/pinctrl-sm6115.c
@@ -167,7 +167,7 @@ static const char *sm6115_get_pin_name(struct udevice *dev, 
unsigned int selecto
        return pin_name;
 }
 
-static unsigned int sm6115_get_function_mux(__maybe_unused unsigned int pin, 
unsigned int selector)
+static int sm6115_get_function_mux(__maybe_unused unsigned int pin, unsigned 
int selector)
 {
        return msm_pinctrl_functions[selector].val;
 }
diff --git a/drivers/pinctrl/qcom/pinctrl-sm8150.c 
b/drivers/pinctrl/qcom/pinctrl-sm8150.c
index 1fb2ffb959..fe789e8639 100644
--- a/drivers/pinctrl/qcom/pinctrl-sm8150.c
+++ b/drivers/pinctrl/qcom/pinctrl-sm8150.c
@@ -123,8 +123,8 @@ static const char *sm8150_get_pin_name(struct udevice *dev,
        return pin_name;
 }
 
-static unsigned int sm8150_get_function_mux(__maybe_unused unsigned int pin,
-                                           unsigned int selector)
+static int sm8150_get_function_mux(__maybe_unused unsigned int pin,
+                                  unsigned int selector)
 {
        return msm_pinctrl_functions[selector].val;
 }
diff --git a/drivers/pinctrl/qcom/pinctrl-sm8250.c 
b/drivers/pinctrl/qcom/pinctrl-sm8250.c
index cab42fa64e..992366250c 100644
--- a/drivers/pinctrl/qcom/pinctrl-sm8250.c
+++ b/drivers/pinctrl/qcom/pinctrl-sm8250.c
@@ -99,7 +99,7 @@ static const char *sm8250_get_pin_name(struct udevice *dev, 
unsigned int selecto
        return pin_name;
 }
 
-static unsigned int sm8250_get_function_mux(__maybe_unused unsigned int pin, 
unsigned int selector)
+static int sm8250_get_function_mux(__maybe_unused unsigned int pin, unsigned 
int selector)
 {
        return msm_pinctrl_functions[selector].val;
 }
diff --git a/drivers/pinctrl/qcom/pinctrl-sm8550.c 
b/drivers/pinctrl/qcom/pinctrl-sm8550.c
index 25b972a6d8..f7fcad0e4a 100644
--- a/drivers/pinctrl/qcom/pinctrl-sm8550.c
+++ b/drivers/pinctrl/qcom/pinctrl-sm8550.c
@@ -68,8 +68,8 @@ static const char *sm8550_get_pin_name(struct udevice *dev,
        return pin_name;
 }
 
-static unsigned int sm8550_get_function_mux(__maybe_unused unsigned int pin,
-                                           unsigned int selector)
+static int sm8550_get_function_mux(__maybe_unused unsigned int pin,
+                                  unsigned int selector)
 {
        return msm_pinctrl_functions[selector].val;
 }
diff --git a/drivers/pinctrl/qcom/pinctrl-sm8650.c 
b/drivers/pinctrl/qcom/pinctrl-sm8650.c
index 9146d6abd9..6b9d56b105 100644
--- a/drivers/pinctrl/qcom/pinctrl-sm8650.c
+++ b/drivers/pinctrl/qcom/pinctrl-sm8650.c
@@ -69,8 +69,8 @@ static const char *sm8650_get_pin_name(struct udevice *dev,
        return pin_name;
 }
 
-static unsigned int sm8650_get_function_mux(__maybe_unused unsigned int pin,
-                                           unsigned int selector)
+static int sm8650_get_function_mux(__maybe_unused unsigned int pin,
+                                  unsigned int selector)
 {
        return msm_pinctrl_functions[selector].val;
 }
diff --git a/drivers/pinctrl/qcom/pinctrl-x1e80100.c 
b/drivers/pinctrl/qcom/pinctrl-x1e80100.c
index f39dc426d6..319667bfc1 100644
--- a/drivers/pinctrl/qcom/pinctrl-x1e80100.c
+++ b/drivers/pinctrl/qcom/pinctrl-x1e80100.c
@@ -72,8 +72,8 @@ static const char *x1e80100_get_pin_name(struct udevice *dev,
        return pin_name;
 }
 
-static unsigned int x1e80100_get_function_mux(__maybe_unused unsigned int pin,
-                                             unsigned int selector)
+static int x1e80100_get_function_mux(__maybe_unused unsigned int pin,
+                                    unsigned int selector)
 {
        return msm_pinctrl_functions[selector].val;
 }
-- 
2.34.1

Reply via email to