Mirror the driver as prepared for mainline (work/linux commit
917ea639925b, "ASoC: codecs: wcd9378: add TX/capture codec driver"),
per the carry-mirrors-upstream rule. On top of the previous carry
state this brings the maintainer-eye pre-review fixes:
- latch the per-ADC sys-usage bit and target SDCA function at
PRE_PMU; POST_PMD previously recomputed them from the live input
mux and could tear down the wrong function after a mux change
- clear the requested sys_usage_mask bit when no profile matches
- drop the unreachable -EACCES carve-out on the TX runtime-PM hold
(caused a usage-count underflow in unbind)
- mark the write-1-clear FUNC_STAT registers volatile
- drop the unused is_dapm parameter, the stale sys_usage write-skip
cache, the SDW_SCP_INT1_IMPL_DEF unmask and the PS0 re-request
hack; clamp DT channel-map reads
- name the SWRS_SCP_SDCA_INTRTYPE registers; trim the PS0-failure
debug dump; Kconfig imply + help text
One deviation from the mainline patch: v7.1.2 predates
sdw_slave_wait_for_init(), so the open-coded
wait_for_completion_timeout() stays here.
Assisted-by: Claude:claude-fable-5
Signed-off-by: Jorijn van der Graaf <jorijnvdgraaf@catcrafts.net>