diff options
Diffstat (limited to 'drivers/soundwire/bus.c')
-rw-r--r-- | drivers/soundwire/bus.c | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/drivers/soundwire/bus.c b/drivers/soundwire/bus.c index fc53dbe57f85..a4bc1746289f 100644 --- a/drivers/soundwire/bus.c +++ b/drivers/soundwire/bus.c @@ -334,9 +334,11 @@ int sdw_nread(struct sdw_slave *slave, u32 addr, size_t count, u8 *val) if (ret < 0) return ret; - ret = pm_runtime_get_sync(slave->bus->dev); - if (ret < 0) - return ret; + if (pm_runtime_enabled(slave->bus->dev)) { + ret = pm_runtime_get_sync(slave->bus->dev); + if (ret < 0) + return ret; + } ret = sdw_transfer(slave->bus, &msg); pm_runtime_put(slave->bus->dev); @@ -362,9 +364,11 @@ int sdw_nwrite(struct sdw_slave *slave, u32 addr, size_t count, u8 *val) if (ret < 0) return ret; - ret = pm_runtime_get_sync(slave->bus->dev); - if (ret < 0) - return ret; + if (pm_runtime_enabled(slave->bus->dev)) { + ret = pm_runtime_get_sync(slave->bus->dev); + if (ret < 0) + return ret; + } ret = sdw_transfer(slave->bus, &msg); pm_runtime_put(slave->bus->dev); @@ -610,7 +614,7 @@ int sdw_configure_dpn_intr(struct sdw_slave *slave, u32 addr; int ret; u8 val = 0; - +return 0; //HACK to not setup interrupts addr = SDW_DPN_INTMASK(port); /* Set/Clear port ready interrupt mask */ @@ -635,7 +639,7 @@ static int sdw_initialize_slave(struct sdw_slave *slave) struct sdw_slave_prop *prop = &slave->prop; int ret; u8 val; - +return 0; //HACK to not setup interrupts /* * Set bus clash, parity and SCP implementation * defined interrupt mask |