[alsa-devel] [PATCH v3 1/2] extcon: arizona: Add support for select accessory detect mode when headphone detection
Charles Keepax
ckeepax at opensource.wolfsonmicro.com
Sat Apr 25 14:50:25 CEST 2015
On Wed, Apr 22, 2015 at 08:23:20PM +0900, Inha Song wrote:
> This patch add support for select accessory detect mode to HPDETL or HPDETR.
> Arizona provides a headphone detection circuit on the HPDETL and HPDETR pins
> to measure the impedance of an external load connected to the headphone.
>
> Depending on board design, headphone detect pins can change to HPDETR or HPDETL.
>
> Signed-off-by: Inha Song <ideal.song at samsung.com>
> ---
>
> +static int arizona_extcon_of_get_pdata(struct arizona *arizona)
> +{
> + struct arizona_pdata *pdata = &arizona->pdata;
> + unsigned int val;
I would rather this is "unsigned int val =
ARIZONA_ACCDET_MODE_HPL;".
> +
> + of_property_read_u32(arizona->dev->of_node, "wlf,hpdet-channel", &val);
Because this won't fill val if the DT entry isn't present.
> + switch (val) {
Which means we hit this with val uninitialised.
> + case ARIZONA_ACCDET_MODE_HPL:
> + case ARIZONA_ACCDET_MODE_HPR:
So we may select either channel at random.
> + pdata->hpdet_channel = val;
> + break;
> + default:
> + dev_err(arizona->dev,
> + "Wrong wlf,hpdet-channel DT value %d\n", val);
Or most likely just print an error but the DT being missing
shouldn't really be an error it is an optional entry.
> + pdata->hpdet_channel = ARIZONA_ACCDET_MODE_HPL;
> + }
> +
> + return 0;
> +}
Thanks,
Charles
More information about the Alsa-devel
mailing list