For Sx1504/5/6 only SX1506 has RegAdvanced, so put some code in place to
account for that.

Tested-by: Neil Armstrong <[email protected]>
Acked-by: Neil Armstrong <[email protected]>
Signed-off-by: Andrey Smirnov <[email protected]>
---
 drivers/pinctrl/pinctrl-sx150x.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/drivers/pinctrl/pinctrl-sx150x.c b/drivers/pinctrl/pinctrl-sx150x.c
index 27194e7..d51ec73 100644
--- a/drivers/pinctrl/pinctrl-sx150x.c
+++ b/drivers/pinctrl/pinctrl-sx150x.c
@@ -936,6 +936,13 @@ static int sx150x_init_misc(struct sx150x_pinctrl *pctl)
        case SX150X_456:
                reg   = pctl->data->pri.x456.reg_advance;
                value = 0x00;
+
+               /*
+                * Only SX1506 has RegAdvanced, SX1504/5 are expected
+                * to initialize this offset to zero
+                */
+               if (!reg)
+                       return 0;
                break;
        case SX150X_123:
                reg   = pctl->data->pri.x123.reg_advance;
-- 
2.5.5

Reply via email to