i2c: brcmstb: Use i2c_10bit_addr_*_from_msg() helpers
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Thu, 13 Feb 2025 14:07:18 +0000 (16:07 +0200)
committerAndi Shyti <andi.shyti@kernel.org>
Tue, 18 Mar 2025 20:53:54 +0000 (21:53 +0100)
Use i2c_10bit_addr_*_from_msg() helpers instead of local copy.
No functional change intended.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20250213141045.2716943-5-andriy.shevchenko@linux.intel.com
Signed-off-by: Andi Shyti <andi.shyti@kernel.org>
drivers/i2c/busses/i2c-brcmstb.c

index 00f1a046e985353d5cbdd37e6a2e1b334b2738e7..5fa30e8926c53a3db6938b2a8f7ba8e5ad51847f 100644 (file)
@@ -414,23 +414,22 @@ static int brcmstb_i2c_do_addr(struct brcmstb_i2c_dev *dev,
 
        if (msg->flags & I2C_M_TEN) {
                /* First byte is 11110XX0 where XX is upper 2 bits */
-               addr = 0xF0 | ((msg->addr & 0x300) >> 7);
+               addr = i2c_10bit_addr_hi_from_msg(msg) & ~I2C_M_RD;
                bsc_writel(dev, addr, chip_address);
 
                /* Second byte is the remaining 8 bits */
-               addr = msg->addr & 0xFF;
+               addr = i2c_10bit_addr_lo_from_msg(msg);
                if (brcmstb_i2c_write_data_byte(dev, &addr, 0) < 0)
                        return -EREMOTEIO;
 
                if (msg->flags & I2C_M_RD) {
                        /* For read, send restart without stop condition */
-                       brcmstb_set_i2c_start_stop(dev, COND_RESTART
-                                                  | COND_NOSTOP);
+                       brcmstb_set_i2c_start_stop(dev, COND_RESTART | COND_NOSTOP);
+
                        /* Then re-send the first byte with the read bit set */
-                       addr = 0xF0 | ((msg->addr & 0x300) >> 7) | 0x01;
+                       addr = i2c_10bit_addr_hi_from_msg(msg);
                        if (brcmstb_i2c_write_data_byte(dev, &addr, 0) < 0)
                                return -EREMOTEIO;
-
                }
        } else {
                addr = i2c_8bit_addr_from_msg(msg);