soundwire: bus: use FIELD_GET()
authorVinod Koul <vkoul@kernel.org>
Thu, 3 Sep 2020 11:44:57 +0000 (17:14 +0530)
committerVinod Koul <vkoul@kernel.org>
Fri, 4 Sep 2020 09:16:41 +0000 (14:46 +0530)
use FIELD_GET() in bus code to extract field values instead of open
coding masks and shift operations.

Signed-off-by: Vinod Koul <vkoul@kernel.org>
Tested-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Link: https://lore.kernel.org/r/20200903114504.1202143-3-vkoul@kernel.org
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/soundwire/bus.c

index e6e0fb9..d808f02 100644 (file)
@@ -347,8 +347,8 @@ int sdw_fill_msg(struct sdw_msg *msg, struct sdw_slave *slave,
                return -EINVAL;
        }
 
-       msg->addr_page1 = (addr >> SDW_REG_SHIFT(SDW_SCP_ADDRPAGE1_MASK));
-       msg->addr_page2 = (addr >> SDW_REG_SHIFT(SDW_SCP_ADDRPAGE2_MASK));
+       msg->addr_page1 = FIELD_GET(SDW_SCP_ADDRPAGE1_MASK, addr);
+       msg->addr_page2 = FIELD_GET(SDW_SCP_ADDRPAGE2_MASK, addr);
        msg->addr |= BIT(15);
        msg->page = true;
 
@@ -1420,7 +1420,7 @@ static int sdw_handle_slave_alerts(struct sdw_slave *slave)
                port = buf & SDW_SCP_INT1_PORT0_3;
 
                /* To get port number corresponding to bits, shift it */
-               port = port >> SDW_REG_SHIFT(SDW_SCP_INT1_PORT0_3);
+               port = FIELD_GET(SDW_SCP_INT1_PORT0_3, port);
                for_each_set_bit(bit, &port, 8) {
                        sdw_handle_port_interrupt(slave, bit,
                                                  &port_status[bit]);