Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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

+9 -8
+5 -5
drivers/base/regmap/regmap-sdw-mbq.c
··· 15 15 struct sdw_slave *slave = dev_to_sdw_dev(dev); 16 16 int ret; 17 17 18 - ret = sdw_write(slave, SDW_SDCA_MBQ_CTL(reg), (val >> 8) & 0xff); 18 + ret = sdw_write_no_pm(slave, SDW_SDCA_MBQ_CTL(reg), (val >> 8) & 0xff); 19 19 if (ret < 0) 20 20 return ret; 21 21 22 - return sdw_write(slave, reg, val & 0xff); 22 + return sdw_write_no_pm(slave, reg, val & 0xff); 23 23 } 24 24 25 25 static int regmap_sdw_mbq_read(void *context, unsigned int reg, unsigned int *val) ··· 29 29 int read0; 30 30 int read1; 31 31 32 - read0 = sdw_read(slave, reg); 32 + read0 = sdw_read_no_pm(slave, reg); 33 33 if (read0 < 0) 34 34 return read0; 35 35 36 - read1 = sdw_read(slave, SDW_SDCA_MBQ_CTL(reg)); 36 + read1 = sdw_read_no_pm(slave, SDW_SDCA_MBQ_CTL(reg)); 37 37 if (read1 < 0) 38 38 return read1; 39 39 ··· 98 98 EXPORT_SYMBOL_GPL(__devm_regmap_init_sdw_mbq); 99 99 100 100 MODULE_DESCRIPTION("Regmap SoundWire MBQ Module"); 101 - MODULE_LICENSE("GPL v2"); 101 + MODULE_LICENSE("GPL");
+2 -2
drivers/base/regmap/regmap-sdw.c
··· 13 13 struct device *dev = context; 14 14 struct sdw_slave *slave = dev_to_sdw_dev(dev); 15 15 16 - return sdw_write(slave, reg, val); 16 + return sdw_write_no_pm(slave, reg, val); 17 17 } 18 18 19 19 static int regmap_sdw_read(void *context, unsigned int reg, unsigned int *val) ··· 22 22 struct sdw_slave *slave = dev_to_sdw_dev(dev); 23 23 int read; 24 24 25 - read = sdw_read(slave, reg); 25 + read = sdw_read_no_pm(slave, reg); 26 26 if (read < 0) 27 27 return read; 28 28
+2 -1
drivers/soundwire/intel_init.c
··· 405 405 { 406 406 acpi_status status; 407 407 408 + info->handle = NULL; 408 409 status = acpi_walk_namespace(ACPI_TYPE_DEVICE, 409 410 parent_handle, 1, 410 411 sdw_intel_acpi_cb, 411 412 NULL, info, NULL); 412 - if (ACPI_FAILURE(status)) 413 + if (ACPI_FAILURE(status) || info->handle == NULL) 413 414 return -ENODEV; 414 415 415 416 return sdw_intel_scan_controller(info);