Skip to content

Commit 5b1a292

Browse files
charleskeepaxvinodkoul
authored andcommitted
soundwire: bus: Simplify sdw_assign_device_num()
Simplify the code in sdw_assign_device_num(). Remove the new_device flag which can be simply handled inline and do a bit less shuffling of dev_num in and out of various variables. This patch should cause no functional changes. Signed-off-by: Charles Keepax <[email protected]> Reviewed-by: Pierre-Louis Bossart <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Vinod Koul <[email protected]>
1 parent 0af2f6b commit 5b1a292

File tree

1 file changed

+12
-17
lines changed

1 file changed

+12
-17
lines changed

drivers/soundwire/bus.c

Lines changed: 12 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -750,49 +750,44 @@ static int sdw_get_device_num(struct sdw_slave *slave)
750750
static int sdw_assign_device_num(struct sdw_slave *slave)
751751
{
752752
struct sdw_bus *bus = slave->bus;
753-
int ret, dev_num;
754-
bool new_device = false;
753+
struct device *dev = bus->dev;
754+
int ret;
755755

756756
/* check first if device number is assigned, if so reuse that */
757757
if (!slave->dev_num) {
758758
if (!slave->dev_num_sticky) {
759+
int dev_num;
760+
759761
mutex_lock(&slave->bus->bus_lock);
760762
dev_num = sdw_get_device_num(slave);
761763
mutex_unlock(&slave->bus->bus_lock);
762764
if (dev_num < 0) {
763-
dev_err(bus->dev, "Get dev_num failed: %d\n",
764-
dev_num);
765+
dev_err(dev, "Get dev_num failed: %d\n", dev_num);
765766
return dev_num;
766767
}
767-
slave->dev_num = dev_num;
768+
768769
slave->dev_num_sticky = dev_num;
769-
new_device = true;
770770
} else {
771-
slave->dev_num = slave->dev_num_sticky;
771+
dev_dbg(dev, "Slave already registered, reusing dev_num: %d\n",
772+
slave->dev_num_sticky);
772773
}
773774
}
774775

775-
if (!new_device)
776-
dev_dbg(bus->dev,
777-
"Slave already registered, reusing dev_num:%d\n",
778-
slave->dev_num);
779-
780776
/* Clear the slave->dev_num to transfer message on device 0 */
781-
dev_num = slave->dev_num;
782777
slave->dev_num = 0;
783778

784-
ret = sdw_write_no_pm(slave, SDW_SCP_DEVNUMBER, dev_num);
779+
ret = sdw_write_no_pm(slave, SDW_SCP_DEVNUMBER, slave->dev_num_sticky);
785780
if (ret < 0) {
786-
dev_err(bus->dev, "Program device_num %d failed: %d\n",
787-
dev_num, ret);
781+
dev_err(dev, "Program device_num %d failed: %d\n",
782+
slave->dev_num_sticky, ret);
788783
return ret;
789784
}
790785

791786
/* After xfer of msg, restore dev_num */
792787
slave->dev_num = slave->dev_num_sticky;
793788

794789
if (bus->ops && bus->ops->new_peripheral_assigned)
795-
bus->ops->new_peripheral_assigned(bus, slave, dev_num);
790+
bus->ops->new_peripheral_assigned(bus, slave, slave->dev_num);
796791

797792
return 0;
798793
}

0 commit comments

Comments
 (0)