From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-10.7 required=3.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED,DKIM_SIGNED,DKIM_VALID,FREEMAIL_FORGED_FROMDOMAIN, FREEMAIL_FROM,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_RED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5A476C432BE for ; Sun, 29 Aug 2021 20:25:28 +0000 (UTC) Received: from alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id CD4F460524 for ; Sun, 29 Aug 2021 20:25:26 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org CD4F460524 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=alsa-project.org Received: from alsa1.perex.cz (alsa1.perex.cz [207.180.221.201]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by alsa0.perex.cz (Postfix) with ESMTPS id 2F93416B2; Sun, 29 Aug 2021 22:24:34 +0200 (CEST) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa0.perex.cz 2F93416B2 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=alsa-project.org; s=default; t=1630268724; bh=N0ixEwR9IrPsmYEoUb/KJ9XQ6gi3qG6Zk/mzgjkMkjk=; h=In-Reply-To:References:From:Date:Subject:To:Cc:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From; b=VvglWL9IFeDSYjTZwy/agZW4eqvuqprIxaPznMKxvy5rr+xsavemGtP4P0WZ6CIx8 +mE+8AMqZqJnCS21es25Y8jFXonsYo2SUDgX3Os72x+YZUBzsUmd1VABGZ0qemztR+ a5YeOYUofiE0RiwcSe2OoXr5TdOJRc8M4//8AKqg= Received: from alsa1.perex.cz (localhost.localdomain [127.0.0.1]) by alsa1.perex.cz (Postfix) with ESMTP id A10CDF80254; Sun, 29 Aug 2021 22:24:33 +0200 (CEST) Received: by alsa1.perex.cz (Postfix, from userid 50401) id 5E871F8025B; Sun, 29 Aug 2021 22:23:45 +0200 (CEST) Received: from mail-pj1-x102b.google.com (mail-pj1-x102b.google.com [IPv6:2607:f8b0:4864:20::102b]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by alsa1.perex.cz (Postfix) with ESMTPS id 4809DF80246 for ; Sun, 29 Aug 2021 22:22:38 +0200 (CEST) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa1.perex.cz 4809DF80246 Authentication-Results: alsa1.perex.cz; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Pnq/d4Zw" Received: by mail-pj1-x102b.google.com with SMTP id fs6so8074465pjb.4 for ; Sun, 29 Aug 2021 13:22:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=lUdLcEb5Tmdc/FiLqJBGBomz5H00VjNXR4RXZ2to9hc=; b=Pnq/d4ZwKs4CMPhUR+nJGtdzzgOnIH0lRnaD2VgPf7f1WTX5FKHAlV4nAU6AMzVZ3K 2posT+1xQ4N/YXVAY35x1HDK9vAN8P9Mk1Fh0k3mRp96K+83qcEMfvutvsDTIuP/75mV yS6VfAkM7SQrraCDFQL7fCvJA6dyEf7SOFClRjJpzjhY6NkZUhsDzc/IVxpY5jS5a+m9 ZCYegZeFCm7lVys7DaG42zYpMREDMayLjfIC5EubkVzH/Rv28jbJzh1wazALn84+FGGV iJ/viKu9hw5Lvd3oo2AfUxuido4/5GKLeoj7Rzw8j/MXyQ9UT7aLCCA0F8Z3xdGwf9fF XwhA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=lUdLcEb5Tmdc/FiLqJBGBomz5H00VjNXR4RXZ2to9hc=; b=kVXg0N7O/Ltx1OzSU6vzGWBMFpfXq3pYT6vWPRQOHJe7AQsBCDRuibdCi9n6Eqm/v/ T1jvhs53El//num14iASUsYqceCL7tuwDub8euPJb5/iEvvukSvRfX0VJOLBN2zkGCxN fvV766y8D1DiSZlDEJKH8lSQOMKWPDSjxh7qbUrGx/sf9VqquhGEiHrW3OZRFsRjbT5U 1s/r5v6YsdWRxZKrVmdTHgqp9j75v36l/Iakxh5qJ0KIujZ8OZ0VzciEggkJreLCXTzq VmAUQUH6QQkrX8QmU3wen45dJ2J3Cn7HLwNcapyuZ8bnwrGxGLOdMPDYW7WNuWlQobFk BUHQ== X-Gm-Message-State: AOAM530N782Y6Oz/X2pV+kMG78wLbCWStdsSwyb8Rbv8AYlbVXa0L0sW tn0kq3NgqtUWUAxxh/u3k8k5jYxJuG8g1nw+Pf4= X-Google-Smtp-Source: ABdhPJwcuQGvXgpI14StoJe7dwFaCe8Q8QCBhxF3x4K88AGcABAW3cLzJTtNs+VP5wtWikeJPYY0cUvbsVrvZv8vffc= X-Received: by 2002:a17:903:120e:b0:138:d732:3b01 with SMTP id l14-20020a170903120e00b00138d7323b01mr2736458plh.21.1630268555573; Sun, 29 Aug 2021 13:22:35 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:a17:90b:ed4:0:0:0:0 with HTTP; Sun, 29 Aug 2021 13:22:35 -0700 (PDT) In-Reply-To: <20210829170019.384632-2-atafalla@dnyon.com> References: <20210829170019.384632-1-atafalla@dnyon.com> <20210829170019.384632-2-atafalla@dnyon.com> From: Andy Shevchenko Date: Sun, 29 Aug 2021 23:22:35 +0300 Message-ID: Subject: Re: [PATCH RESEND 1/2] ASoC: max98927: Handle reset gpio when probing i2c To: Alejandro Tafalla Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.15 Cc: "devicetree@vger.kernel.org" , "alsa-devel@alsa-project.org" , "linux-kernel@vger.kernel.org" , Takashi Iwai , Rob Herring , Liam Girdwood , Mark Brown X-BeenThere: alsa-devel@alsa-project.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: alsa-devel-bounces@alsa-project.org Sender: "Alsa-devel" On Sunday, August 29, 2021, Alejandro Tafalla wrote: > Drive the reset gpio if defined in the DTS node. > > Signed-off-by: Alejandro Tafalla > --- > sound/soc/codecs/max98927.c | 16 ++++++++++++++++ > sound/soc/codecs/max98927.h | 1 + > 2 files changed, 17 insertions(+) > > diff --git a/sound/soc/codecs/max98927.c b/sound/soc/codecs/max98927.c > index 8b206ee77709..dacf64c4cdf7 100644 > --- a/sound/soc/codecs/max98927.c > +++ b/sound/soc/codecs/max98927.c > @@ -898,6 +898,22 @@ static int max98927_i2c_probe(struct i2c_client *i2c, > return ret; > } > > + max98927->reset_gpio > + = devm_gpiod_get_optional(&i2c->dev, "reset", > GPIOD_OUT_HIGH); > + if (IS_ERR(max98927->reset_gpio)) { > + ret = PTR_ERR(max98927->reset_gpio); > + dev_err(&i2c->dev, > + "Failed to request GPIO reset pin, error %d\n", > ret); > + return ret; Spamming logs is not good. Use return dev_err_probe(...); > + } > + > + if (max98927->reset_gpio) { > + gpiod_set_value_cansleep(max98927->reset_gpio, 0); You may request the pin in a proper state, also with current code you seems mishandle the conception of the logical pin level vs. physical one. > + usleep_range(5, 10) > + gpiod_set_value_cansleep(max98927->reset_gpio, 1); > + usleep_range(1, 5) > + } > + > /* Check Revision ID */ > ret = regmap_read(max98927->regmap, > MAX98927_R01FF_REV_ID, ®); > diff --git a/sound/soc/codecs/max98927.h b/sound/soc/codecs/max98927.h > index 05f495db914d..5c04bf38e24a 100644 > --- a/sound/soc/codecs/max98927.h > +++ b/sound/soc/codecs/max98927.h > @@ -255,6 +255,7 @@ struct max98927_priv { > struct regmap *regmap; > struct snd_soc_component *component; > struct max98927_pdata *pdata; > + struct gpio_desc *reset_gpio; Why? Are you using it outside of ->probe()? > unsigned int spk_gain; > unsigned int sysclk; > unsigned int v_l_slot; > -- > 2.32.0 > > -- With Best Regards, Andy Shevchenko