]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
media: i2c: ds90ub960: Fix use of non-existing registers on UB9702
authorTomi Valkeinen <tomi.valkeinen@ideasonboard.com>
Fri, 6 Dec 2024 08:26:39 +0000 (10:26 +0200)
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Thu, 19 Dec 2024 11:50:15 +0000 (12:50 +0100)
UB9702 doesn't have the registers for SP and EQ. Adjust the code in
ub960_rxport_wait_locks() to not use those registers for UB9702. As
these values are only used for a debug print here, there's no functional
change.

Cc: stable@vger.kernel.org
Fixes: afe267f2d368 ("media: i2c: add DS90UB960 driver")
Reviewed-by: Jai Luthra <jai.luthra@ideasonboard.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
drivers/media/i2c/ds90ub960.c

index 734ed32b151205e08f424f2a2258fb767e30ae43..4642852883a7a4bde2bcb744dffd660b76638306 100644 (file)
@@ -1576,16 +1576,24 @@ static int ub960_rxport_wait_locks(struct ub960_data *priv,
 
                ub960_rxport_read16(priv, nport, UB960_RR_RX_FREQ_HIGH, &v);
 
-               ret = ub960_rxport_get_strobe_pos(priv, nport, &strobe_pos);
-               if (ret)
-                       return ret;
+               if (priv->hw_data->is_ub9702) {
+                       dev_dbg(dev, "\trx%u: locked, freq %llu Hz\n",
+                               nport, (v * 1000000ULL) >> 8);
+               } else {
+                       ret = ub960_rxport_get_strobe_pos(priv, nport,
+                                                         &strobe_pos);
+                       if (ret)
+                               return ret;
 
-               ret = ub960_rxport_get_eq_level(priv, nport, &eq_level);
-               if (ret)
-                       return ret;
+                       ret = ub960_rxport_get_eq_level(priv, nport, &eq_level);
+                       if (ret)
+                               return ret;
 
-               dev_dbg(dev, "\trx%u: locked, SP: %d, EQ: %u, freq %llu Hz\n",
-                       nport, strobe_pos, eq_level, (v * 1000000ULL) >> 8);
+                       dev_dbg(dev,
+                               "\trx%u: locked, SP: %d, EQ: %u, freq %llu Hz\n",
+                               nport, strobe_pos, eq_level,
+                               (v * 1000000ULL) >> 8);
+               }
        }
 
        return 0;