linux-next/drivers/soundwire
Pierre-Louis Bossart 093227bc53 soundwire: mipi_disco: add MIPI-specific property_read_bool() helpers
The existing device/fwnode_property_read_bool() helpers only check if
the property is present.

The MIPI DisCo for SoundWire specification allows properties to be
exposed with a value of 'false'. Using the standard helpers to
retrieve the MIPI-defined properties causes all kinds of logical
inversions leading to loss of functionality - such as jack detection
in clock-stop mode broken when the device properties are read in
Realtek codec drivers.

This patch adds new MIPI/SoundWire helpers which first check if the
property is present, and then return the actual value extracted from
platform firmware.

Modifying the default property handling was considered as a possible
solution, but it could lead to other types of logical inversions
breaking 'working' setups. Andy Shevchenko also pointed out that DT
keeps values in the BE32 format, it's probably best to avoid
endianness complications.

The path of least resistance was chosen, with MIPI-specific helpers
which can be tested and with no side effects outside of the SoundWire
subsystem.

Closes: https://github.com/thesofproject/linux/issues/5129
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Link: https://lore.kernel.org/r/20241003070650.62787-2-yung-chuan.liao@linux.intel.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
2024-10-03 13:28:50 +05:30
..
amd_init.c soundwire: amd: pass acp pci revision id as resource data 2024-10-03 12:44:41 +05:30
amd_init.h soundwire: amd: use inline function for register update 2024-03-28 23:39:50 +05:30
amd_manager.c soundwire: amd: refactor existing code for acp 6.3 platform 2024-10-03 12:44:41 +05:30
amd_manager.h soundwire: amd: refactor existing code for acp 6.3 platform 2024-10-03 12:44:41 +05:30
bus_type.c soundwire: bus: clean up probe warnings 2024-07-31 12:27:45 +05:30
bus.c soundwire: Correct some typos in comments 2024-10-03 12:46:23 +05:30
bus.h soundwire: export sdw_compute_slave_ports() function 2023-04-12 15:30:35 +05:30
cadence_master.c soundwire: cadence: re-check Peripheral status with delayed_work 2024-08-18 12:14:24 +05:30
cadence_master.h soundwire: cadence: re-check Peripheral status with delayed_work 2024-08-18 12:14:24 +05:30
debugfs.c soundwire: debugfs: simplify with cleanup.h 2024-07-09 19:12:49 +05:30
dmi-quirks.c ASoC: Intel: common: DMI remap for rebranded Intel NUC M15 (LAPRC710) laptops 2024-02-08 21:23:19 +00:00
generic_bandwidth_allocation.c soundwire: generic_bandwidth_allocation: change port_bo parameter to pointer 2024-06-21 15:26:26 +05:30
intel_ace2x_debugfs.c soundwire: Intel: clarify Copyright information 2024-06-21 15:26:02 +05:30
intel_ace2x.c soundwire: intel: add probe-time check on link id 2024-08-19 12:25:52 +01:00
intel_auxdevice.c soundwire updates for 6.12 2024-09-23 14:00:46 -07:00
intel_auxdevice.h soundwire: intel: export intel_resume_child_device 2024-04-11 22:52:51 +05:30
intel_bus_common.c soundwire: intel_bus_common: enable interrupts before exiting reset 2024-08-18 12:14:53 +05:30
intel_init.c soundwire: intel_init: resume all devices on exit. 2024-04-11 22:52:51 +05:30
intel.c soundwire: intel: simplify with cleanup.h 2024-07-09 19:12:49 +05:30
intel.h soundwire updates for 6.12 2024-09-23 14:00:46 -07:00
irq.c soundwire: bus: Make IRQ handling conditionally built 2023-09-21 11:31:33 +02:00
irq.h soundwire: bus: Make IRQ handling conditionally built 2023-09-21 11:31:33 +02:00
Kconfig soundwire: intel_ace2x: fix SND_SOC_SOF_HDA_MLINK dependency 2023-06-21 16:19:44 +05:30
Makefile soundwire: amd: refactor amd soundwire manager device node creation 2024-01-30 16:06:34 +00:00
master.c soundwire: constify the struct device_type usage 2024-03-03 19:28:06 +05:30
mipi_disco.c soundwire: mipi_disco: add MIPI-specific property_read_bool() helpers 2024-10-03 13:28:50 +05:30
qcom.c soundwire: Correct some typos in comments 2024-10-03 12:46:23 +05:30
slave.c soundwire: slave: simplify code with acpi_get_local_u64_address() 2024-06-10 12:48:20 +01:00
stream.c soundwire: bus: add stream refcount 2024-06-03 17:40:23 +05:30
sysfs_local.h soundwire: sysfs: remove sdw_slave_sysfs_init() 2024-03-28 23:38:47 +05:30
sysfs_slave_dpn.c soundwire: sysfs: remove sdw_slave_sysfs_init() 2024-03-28 23:38:47 +05:30
sysfs_slave.c soundwire: Correct some typos in comments 2024-10-03 12:46:23 +05:30