aboutsummaryrefslogtreecommitdiff
path: root/drivers/soundwire/bus.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/soundwire/bus.c')
-rw-r--r--drivers/soundwire/bus.c22
1 files changed, 13 insertions, 9 deletions
diff --git a/drivers/soundwire/bus.c b/drivers/soundwire/bus.c
index fe745830a261..376505f34c38 100644
--- a/drivers/soundwire/bus.c
+++ b/drivers/soundwire/bus.c
@@ -78,7 +78,7 @@ int sdw_add_bus_master(struct sdw_bus *bus)
if (IS_ENABLED(CONFIG_ACPI) && ACPI_HANDLE(bus->dev))
ret = sdw_acpi_find_slaves(bus);
else
- ret = -ENOTSUPP; /* No ACPI/DT so error out */
+ ret = sdw_of_find_slaves(bus);
if (ret) {
dev_err(bus->dev, "Finding slaves failed:%d\n", ret);
@@ -326,9 +326,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);
@@ -354,9 +356,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);
@@ -600,7 +604,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 */
@@ -625,7 +629,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