# Re: \[PATCH v2 07/11\] ASoC: SDCA: register SDCA\_FUNCTION\_TYPE\_SIMPLE\_JACK in class function driver

- From: Pierre-Louis Bossart \<pierre-louis.bossart@linux.dev\>
- Date: 2026-09-07 11:32:27 
- List: linux-devicetree
- Page: https://ratatoskr.run/linux-devicetree/2026/09/17524744
- Thread: https://ratatoskr.run/linux-sound/2026/09/17523622/t.md

```text
On 9/7/26 10:37, Srinivas Kandagatla wrote:
> Add SDCA_FUNCTION_TYPE_SIMPLE_JACK to the class function driver's
> auxiliary id table so a SimpleJack auxdev is bound and enumerated as
> an ASoC component.  Wire set_jack for this function type so the machine
> driver can register an ASoC jack against it.
> 
> Signed-off-by: Srinivas Kandagatla <redacted>
> Reviewed-by: Charles Keepax <ckeepax@opensource.cirrus.com>

This should be submitted separately, there's no dependency on DT stuff?

Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.dev>

> ---
>  sound/soc/sdca/sdca_class_function.c | 5 +++++
>  sound/soc/sdca/sdca_functions.c      | 2 ++
>  2 files changed, 7 insertions(+)
> 
> diff --git a/sound/soc/sdca/sdca_class_function.c b/sound/soc/sdca/sdca_class_function.c
> index ab043e23878e..713a34d5954a 100644
> --- a/sound/soc/sdca/sdca_class_function.c
> +++ b/sound/soc/sdca/sdca_class_function.c
> @@ -408,6 +408,7 @@ static int class_function_probe(struct auxiliary_device *auxdev,
>  	switch (drv->function->desc->type) {
>  	case SDCA_FUNCTION_TYPE_UAJ:
>  	case SDCA_FUNCTION_TYPE_RJ:
> +	case SDCA_FUNCTION_TYPE_SIMPLE_JACK:
>  		cmp_drv->set_jack = class_function_set_jack;
>  		break;
>  	default:
> @@ -593,6 +594,10 @@ static const struct auxiliary_device_id class_function_id_table[] = {
>  		.name = "snd_soc_sdca." SDCA_FUNCTION_TYPE_RJ_NAME,
>  		.driver_data = SDCA_FUNCTION_TYPE_RJ,
>  	},
> +	{
> +		.name = "snd_soc_sdca." SDCA_FUNCTION_TYPE_SIMPLE_NAME,
> +		.driver_data = SDCA_FUNCTION_TYPE_SIMPLE_JACK,
> +	},
>  	{},
>  };
>  MODULE_DEVICE_TABLE(auxiliary, class_function_id_table);
> diff --git a/sound/soc/sdca/sdca_functions.c b/sound/soc/sdca/sdca_functions.c
> index 47dedb62c24c..25f95575c731 100644
> --- a/sound/soc/sdca/sdca_functions.c
> +++ b/sound/soc/sdca/sdca_functions.c
> @@ -79,6 +79,8 @@ static const char *get_sdca_function_name(u32 function_type)
>  		return SDCA_FUNCTION_TYPE_SPEAKER_MIC_NAME;
>  	case SDCA_FUNCTION_TYPE_RJ:
>  		return SDCA_FUNCTION_TYPE_RJ_NAME;
> +	case SDCA_FUNCTION_TYPE_SIMPLE_JACK:
> +		return SDCA_FUNCTION_TYPE_SIMPLE_NAME;
>  	case SDCA_FUNCTION_TYPE_COMPANION_AMP:
>  		return SDCA_FUNCTION_TYPE_COMPANION_AMP_NAME;
>  	case SDCA_FUNCTION_TYPE_IMP_DEF:

```
