All of lore.kernel.org
 help / color / mirror / Atom feed
From: Pierre-Louis Bossart <pierre-louis.bossart@linux.dev>
To: Charles Keepax <ckeepax@opensource.cirrus.com>, broonie@kernel.org
Cc: lgirdwood@gmail.com, peter.ujfalusi@linux.intel.com,
	yung-chuan.liao@linux.intel.com, linux-sound@vger.kernel.org,
	linux-kernel@vger.kernel.org, patches@opensource.cirrus.com
Subject: Re: [PATCH 4/5] ASoC: SDCA: Add missing function type names
Date: Thu, 2 Jan 2025 16:01:19 -0600	[thread overview]
Message-ID: <f2038977-4f5b-4a9a-bd5f-89e6839e1703@linux.dev> (raw)
In-Reply-To: <20241220173516.907406-4-ckeepax@opensource.cirrus.com>



On 12/20/24 11:35, Charles Keepax wrote:
> It is not helpful to error out on some SDCA function types, we
> might as well report the correct name and let the driver core
> simply not bind a driver to those functions for which the code
> lacks support. Also given no functions currently have support,
> it seems odd to select some as unsupported.
> 
> Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
> ---
>   include/sound/sdca_function.h   |  1 +
>   sound/soc/sdca/sdca_functions.c | 12 ++++++++++--
>   2 files changed, 11 insertions(+), 2 deletions(-)
> 
> diff --git a/include/sound/sdca_function.h b/include/sound/sdca_function.h
> index 6943df0851a9..89e42db6d591 100644
> --- a/include/sound/sdca_function.h
> +++ b/include/sound/sdca_function.h
> @@ -42,6 +42,7 @@ enum sdca_function_type {
>   #define	SDCA_FUNCTION_TYPE_RJ_NAME		"RJ"
>   #define	SDCA_FUNCTION_TYPE_SIMPLE_NAME		"SimpleJack"
>   #define	SDCA_FUNCTION_TYPE_HID_NAME		"HID"
> +#define	SDCA_FUNCTION_TYPE_IMP_DEF_NAME		"ImplementationDefined"
>   
>   enum sdca_entity0_controls {
>   	SDCA_CONTROL_ENTITY_0_COMMIT_GROUP_MASK		= 0x01,
> diff --git a/sound/soc/sdca/sdca_functions.c b/sound/soc/sdca/sdca_functions.c
> index a69fdb9c8b15..400763e056fa 100644
> --- a/sound/soc/sdca/sdca_functions.c
> +++ b/sound/soc/sdca/sdca_functions.c
> @@ -75,12 +75,20 @@ static int patch_sdca_function_type(struct device *dev,
>   		*function_name = SDCA_FUNCTION_TYPE_HID_NAME;
>   		break;
>   	case SDCA_FUNCTION_TYPE_SIMPLE_AMP:
> +		*function_name = SDCA_FUNCTION_TYPE_SIMPLE_AMP_NAME;
> +		break;
>   	case SDCA_FUNCTION_TYPE_SIMPLE_MIC:
> +		*function_name = SDCA_FUNCTION_TYPE_SIMPLE_MIC_NAME;
> +		break;
>   	case SDCA_FUNCTION_TYPE_SPEAKER_MIC:
> +		*function_name = SDCA_FUNCTION_TYPE_SPEAKER_MIC_NAME;
> +		break;
>   	case SDCA_FUNCTION_TYPE_RJ:
> +		*function_name = SDCA_FUNCTION_TYPE_RJ_NAME;
> +		break;

the changes above are fine...

>   	case SDCA_FUNCTION_TYPE_IMP_DEF:
> -		dev_warn(dev, "unsupported SDCA function type %d\n", *function_type);
> -		return -EINVAL;
> +		*function_name = SDCA_FUNCTION_TYPE_IMP_DEF_NAME;
> +		break;

but this one is controversial. We really have no idea what to do in this 
case. There could be completely different 'imp-def' functions that 
require different drivers. I don't know how the entire binding mechanism 
would work. Probably best to err on the side of throwing a 'not 
supported' error?

>   	default:
>   		dev_err(dev, "invalid SDCA function type %d\n", *function_type);
>   		return -EINVAL;


  reply	other threads:[~2025-01-02 22:15 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-12-20 17:35 [PATCH 1/5] ASoC: SDCA: Add missing header includes Charles Keepax
2024-12-20 17:35 ` [PATCH 2/5] ASoC: SDCA: Clean up error messages Charles Keepax
2024-12-20 17:35 ` [PATCH 3/5] ASoC: SDCA: Add bounds check for function address Charles Keepax
2024-12-20 17:35 ` [PATCH 4/5] ASoC: SDCA: Add missing function type names Charles Keepax
2025-01-02 22:01   ` Pierre-Louis Bossart [this message]
2025-01-06 12:20     ` Charles Keepax
2024-12-20 17:35 ` [PATCH 5/5] ASoC: SDCA: Split function type patching and function naming Charles Keepax
2024-12-25  1:23 ` [PATCH 1/5] ASoC: SDCA: Add missing header includes Mark Brown
2025-01-06 12:07 ` Mark Brown

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=f2038977-4f5b-4a9a-bd5f-89e6839e1703@linux.dev \
    --to=pierre-louis.bossart@linux.dev \
    --cc=broonie@kernel.org \
    --cc=ckeepax@opensource.cirrus.com \
    --cc=lgirdwood@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-sound@vger.kernel.org \
    --cc=patches@opensource.cirrus.com \
    --cc=peter.ujfalusi@linux.intel.com \
    --cc=yung-chuan.liao@linux.intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.