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

ASoC: SDCA: Use helper macros for control identification

We have the SDCA_CTL_TYPE helper macros, we should use them when
identifying specific controls to simplify the code a little.

Tested-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Reviewed-by: Maciej Strozek <mstrozek@opensource.cirrus.com>
Reviewed-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Tested-by: Richard Fitzgerald <rf@opensource.cirrus.com>
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://patch.msgid.link/20251120153023.2105663-8-ckeepax@opensource.cirrus.com
Reviewed-by: Vinod Koul <vkoul@kernel.org>
Signed-off-by: Mark Brown <broonie@kernel.org>

authored by

Charles Keepax and committed by
Mark Brown
fb62da31 edb82534

+14 -22
+14 -22
sound/soc/sdca/sdca_interrupts.c
··· 456 456 else if (!interrupt) 457 457 continue; 458 458 459 - switch (entity->type) { 460 - case SDCA_ENTITY_TYPE_XU: 461 - if (control->sel != SDCA_CTL_XU_FDL_CURRENTOWNER) 462 - break; 463 - 459 + switch (SDCA_CTL_TYPE(entity->type, control->sel)) { 460 + case SDCA_CTL_TYPE_S(XU, FDL_CURRENTOWNER): 464 461 ret = sdca_irq_data_populate(dev, regmap, NULL, 465 462 function, entity, 466 463 control, interrupt); ··· 531 534 532 535 handler = base_handler; 533 536 534 - switch (entity->type) { 535 - case SDCA_ENTITY_TYPE_ENTITY_0: 536 - if (control->sel == SDCA_CTL_ENTITY_0_FUNCTION_STATUS) 537 - handler = function_status_handler; 537 + switch (SDCA_CTL_TYPE(entity->type, control->sel)) { 538 + case SDCA_CTL_TYPE_S(ENTITY_0, FUNCTION_STATUS): 539 + handler = function_status_handler; 538 540 break; 539 - case SDCA_ENTITY_TYPE_GE: 540 - if (control->sel == SDCA_CTL_GE_DETECTED_MODE) 541 - handler = detected_mode_handler; 541 + case SDCA_CTL_TYPE_S(GE, DETECTED_MODE): 542 + handler = detected_mode_handler; 542 543 break; 543 - case SDCA_ENTITY_TYPE_XU: 544 - if (control->sel == SDCA_CTL_XU_FDL_CURRENTOWNER) { 545 - ret = sdca_fdl_alloc_state(interrupt); 546 - if (ret) 547 - return ret; 544 + case SDCA_CTL_TYPE_S(XU, FDL_CURRENTOWNER): 545 + ret = sdca_fdl_alloc_state(interrupt); 546 + if (ret) 547 + return ret; 548 548 549 - handler = fdl_owner_handler; 550 - } 549 + handler = fdl_owner_handler; 551 550 break; 552 - case SDCA_ENTITY_TYPE_HIDE: 553 - if (control->sel == SDCA_CTL_HIDE_HIDTX_CURRENTOWNER) 554 - handler = hid_handler; 551 + case SDCA_CTL_TYPE_S(HIDE, HIDTX_CURRENTOWNER): 552 + handler = hid_handler; 555 553 break; 556 554 default: 557 555 break;