From: Yang Xiwen <forbidden...@outlook.com>

It's also valid to have #reset-cells = <2> while the third arg defaults
to ASSERT_SET.

Signed-off-by: Yang Xiwen <forbidden...@outlook.com>
---
 drivers/reset/reset-hisilicon.c | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

diff --git a/drivers/reset/reset-hisilicon.c b/drivers/reset/reset-hisilicon.c
index 8152cec227..85e02b296b 100644
--- a/drivers/reset/reset-hisilicon.c
+++ b/drivers/reset/reset-hisilicon.c
@@ -49,7 +49,18 @@ static int hisi_reset_assert(struct reset_ctl *rst)
 static int hisi_reset_of_xlate(struct reset_ctl *rst,
                               struct ofnode_phandle_args *args)
 {
-       if (args->args_count != 3) {
+       unsigned long polarity;
+
+       switch (args->args_count) {
+       case 2:
+               polarity = ASSERT_SET;
+               break;
+
+       case 3:
+               polarity = args->args[2];
+               break;
+
+       default:
                debug("Invalid args_count: %d\n", args->args_count);
                return -EINVAL;
        }
@@ -57,7 +68,7 @@ static int hisi_reset_of_xlate(struct reset_ctl *rst,
        /* Use .data field as register offset and .id field as bit shift */
        rst->data = args->args[0];
        rst->id = args->args[1];
-       rst->polarity = args->args[2];
+       rst->polarity = polarity;
 
        return 0;
 }

---
base-commit: f7cca7ccc5117eaafcc2bde91ad1bed6fee7cfc3
change-id: 20240119-rst-0bc8097b847a

Best regards,
-- 
Yang Xiwen <forbidden...@outlook.com>

Reply via email to