• Hans de Goede's avatar
    mfd: arizona-spi: Set pdata.hpdet_channel for ACPI enumerated devs · 831d1af8
    Hans de Goede authored
    Commit 9e86b2ad changed the channel used for HPDET detection
    (headphones vs lineout detection) from being hardcoded to
    ARIZONA_ACCDET_MODE_HPL (HP left channel) to it being configurable
    through arizona_pdata.hpdet_channel the DT/OF parsing added for
    filling arizona_pdata on devicetree platforms ensures that
    arizona_pdata.hpdet_channel gets set to ARIZONA_ACCDET_MODE_HPL
    when not specified in the devicetree-node.
    
    But on ACPI platforms where arizona_pdata is filled by
    arizona_spi_acpi_probe() arizona_pdata.hpdet_channel was not
    getting set, causing it to default to 0 aka ARIZONA_ACCDET_MODE_MIC.
    
    This causes headphones to get misdetected as line-out on some models.
    Fix this by setting hpdet_channel = ARIZONA_ACCDET_MODE_HPL.
    
    Fixes: e9338367 ("mfd: arizona: Add support for ACPI enumeration of WM5102 connected over SPI")
    Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
    Link: https://lore.kernel.org/r/20231014205414.59415-1-hdegoede@redhat.comSigned-off-by: default avatarLee Jones <lee@kernel.org>
    831d1af8
arizona-spi.c 8.46 KB