• Linus Walleij's avatar
    ASoC: tas2781-i2c: Drop weird GPIO code · c2c0b67d
    Linus Walleij authored
    The tas2781-i2c driver gets an IRQ from either ACPI or device tree,
    then proceeds to check if the IRQ has a corresponding GPIO and in
    case it does enforce the GPIO as input and set a label on it.
    
    This is abuse of the API:
    
    - First we cannot guarantee that the numberspaces of the GPIOs and
      the IRQs are the same, i.e that an IRQ number corresponds to
      a GPIO number like that.
    
    - Second, GPIO chips and IRQ chips should be treated as orthogonal
      APIs, the irqchip needs to ascertain that the backing GPIO line
      is set to input etc just using the irqchip.
    
    - Third it is using the legacy <linux/gpio.h> API which should not
      be used in new code yet this was added just a year ago.
    
    Delete the offending code.
    
    If this creates problems the GPIO and irqchip maintainers can help
    to fix the issues.
    
    It *should* not create any problems, because the irq isn't
    used anywhere in the driver, it's just obtained and then
    left unused.
    
    Fixes: ef3bcde7 ("ASoC: tas2781: Add tas2781 driver")
    Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
    Link: https://patch.msgid.link/20240807-asoc-tas-gpios-v2-1-bd0f2705d58b@linaro.orgSigned-off-by: default avatarMark Brown <broonie@kernel.org>
    c2c0b67d
tas2781-comlib.c 12.5 KB