Merge tag 'soundwire-2_5.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/soundwire into char-misc-next

Vinod writes:

soundwire second update for 5.12-rc1

Some late changes for sdw:
 - fix for crash on intel driver
 - support for _no_pm IO calls in sdw regmap

* tag 'soundwire-2_5.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/soundwire:
  regmap: sdw-mbq: use MODULE_LICENSE("GPL")
  regmap: sdw: use no_pm routines for SoundWire 1.2 MBQ
  regmap: sdw: use _no_pm functions in regmap_read/write
  soundwire: intel: fix possible crash when no device is detected
This commit is contained in:
Greg Kroah-Hartman
2021-02-12 12:17:29 +01:00
3 changed files with 9 additions and 8 deletions

View File

@@ -15,11 +15,11 @@ static int regmap_sdw_mbq_write(void *context, unsigned int reg, unsigned int va
struct sdw_slave *slave = dev_to_sdw_dev(dev); struct sdw_slave *slave = dev_to_sdw_dev(dev);
int ret; int ret;
ret = sdw_write(slave, SDW_SDCA_MBQ_CTL(reg), (val >> 8) & 0xff); ret = sdw_write_no_pm(slave, SDW_SDCA_MBQ_CTL(reg), (val >> 8) & 0xff);
if (ret < 0) if (ret < 0)
return ret; return ret;
return sdw_write(slave, reg, val & 0xff); return sdw_write_no_pm(slave, reg, val & 0xff);
} }
static int regmap_sdw_mbq_read(void *context, unsigned int reg, unsigned int *val) static int regmap_sdw_mbq_read(void *context, unsigned int reg, unsigned int *val)
@@ -29,11 +29,11 @@ static int regmap_sdw_mbq_read(void *context, unsigned int reg, unsigned int *va
int read0; int read0;
int read1; int read1;
read0 = sdw_read(slave, reg); read0 = sdw_read_no_pm(slave, reg);
if (read0 < 0) if (read0 < 0)
return read0; return read0;
read1 = sdw_read(slave, SDW_SDCA_MBQ_CTL(reg)); read1 = sdw_read_no_pm(slave, SDW_SDCA_MBQ_CTL(reg));
if (read1 < 0) if (read1 < 0)
return read1; return read1;
@@ -98,4 +98,4 @@ struct regmap *__devm_regmap_init_sdw_mbq(struct sdw_slave *sdw,
EXPORT_SYMBOL_GPL(__devm_regmap_init_sdw_mbq); EXPORT_SYMBOL_GPL(__devm_regmap_init_sdw_mbq);
MODULE_DESCRIPTION("Regmap SoundWire MBQ Module"); MODULE_DESCRIPTION("Regmap SoundWire MBQ Module");
MODULE_LICENSE("GPL v2"); MODULE_LICENSE("GPL");

View File

@@ -13,7 +13,7 @@ static int regmap_sdw_write(void *context, unsigned int reg, unsigned int val)
struct device *dev = context; struct device *dev = context;
struct sdw_slave *slave = dev_to_sdw_dev(dev); struct sdw_slave *slave = dev_to_sdw_dev(dev);
return sdw_write(slave, reg, val); return sdw_write_no_pm(slave, reg, val);
} }
static int regmap_sdw_read(void *context, unsigned int reg, unsigned int *val) static int regmap_sdw_read(void *context, unsigned int reg, unsigned int *val)
@@ -22,7 +22,7 @@ static int regmap_sdw_read(void *context, unsigned int reg, unsigned int *val)
struct sdw_slave *slave = dev_to_sdw_dev(dev); struct sdw_slave *slave = dev_to_sdw_dev(dev);
int read; int read;
read = sdw_read(slave, reg); read = sdw_read_no_pm(slave, reg);
if (read < 0) if (read < 0)
return read; return read;

View File

@@ -405,11 +405,12 @@ int sdw_intel_acpi_scan(acpi_handle *parent_handle,
{ {
acpi_status status; acpi_status status;
info->handle = NULL;
status = acpi_walk_namespace(ACPI_TYPE_DEVICE, status = acpi_walk_namespace(ACPI_TYPE_DEVICE,
parent_handle, 1, parent_handle, 1,
sdw_intel_acpi_cb, sdw_intel_acpi_cb,
NULL, info, NULL); NULL, info, NULL);
if (ACPI_FAILURE(status)) if (ACPI_FAILURE(status) || info->handle == NULL)
return -ENODEV; return -ENODEV;
return sdw_intel_scan_controller(info); return sdw_intel_scan_controller(info);