summaryrefslogtreecommitdiff
path: root/rust/helpers/err.c
diff options
context:
space:
mode:
authorMark Brown <broonie@kernel.org>2025-08-28 21:45:09 +0200
committerMark Brown <broonie@kernel.org>2025-08-28 21:45:09 +0200
commit59f5c92140de48a9ae68db4990c8a53a9ac2492c (patch)
tree25408d8492b94de9b35f2eea520da1cd8d5fa27d /rust/helpers/err.c
parent44e51457861edd47bea0f43fab4ed952fdd901f1 (diff)
parenta37280daa4d583c7212681c49b285de9464a5200 (diff)
ASoC: Intel: avs: Refactor machine-board registration
Merge series from Cezary Rojewski <cezary.rojewski@intel.com>: Set of patches all connected to the machine-board registration process and the board_selection.c file. Apart from LOC reduction, allows for multiple cards of the same 'type' e.g.: avs_rt5640, to be present simultanetously without any workarounds or tricks. The last patch improves debugability - helps us (the devs) deal with basic I2S-boards issues out there without forcing the user to constantly switch between debug-friendly and non-debug options. -- Initially I wanted to have the first two patches (new implementation and the follow up cleanup) to be just one patch. However, the git diff, even with --patience does not look good, at least in my opinion. Decided to split the changes into two separate patches to make it easy to review and comment. As the first two patches carry heaviest load, the summary: - provide a unified avs_register_board() wrapper for platform_device_register_data(PLATFORM_DEVID_AUTO). The _AUTO is what makes every device name unique and prevents any naming conflicts to occur when matching components <-> cards in runtime - provide avs_register_board_pdata(), a wrapper one-level above avs_register_board() that takes all custom parameters in its argument list so that the initialization of 'struct avs_mach_pdata' does not need to be repeated in every function like its done today - make use of the two above to write simpler registration functions: 1. init any interface-type-specific values e.g.: SSP port for I2S board 2. call avs_register_board_pdata() 3. register the ASoC component with avs_register_xxx_component() In regard to the last three patches - two are simplifications, no functional changes just LOC reduction and readability. The last one is to improve debug-ability, especially when working in the open field - often we, the devs, find it useful when debugging production systems to run i2s_test (the debug board) without impacting the 'real' board e.g.: avs_rt5640. By default i2s_test is empty so a typical user and their scenarios are not impacted.
Diffstat (limited to 'rust/helpers/err.c')
0 files changed, 0 insertions, 0 deletions