Received: by 2002:a25:1506:0:0:0:0:0 with SMTP id 6csp46675ybv; Wed, 19 Feb 2020 16:07:27 -0800 (PST) X-Google-Smtp-Source: APXvYqzA9wdRGUY77QnC0YZ/kRhlaX2u5rCvkrdeCrRJN0xC1wgcNqHNF9QbnSW697S7t5Kl15+6 X-Received: by 2002:a05:6830:1f0c:: with SMTP id u12mr21164317otg.253.1582157247224; Wed, 19 Feb 2020 16:07:27 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1582157247; cv=none; d=google.com; s=arc-20160816; b=gHB5a5qbrcNaR7qq60ELa9/zDO/ifBsWx+VUmOP5Bf07w8vpSGh8feHPT5ULorARk8 vnJdlkkO0lzmvLxDg/CGzYWIDcznViufjF8vqjVA3ns79mKpj503zXYIB34I8FG/nWK6 c7F+bVkmFjlRLchnJQGDE1Oae8mTqo1mQG+2rMtx1iPbrTnS6iWGG6f+jDSEzswRjaRV OucZSt81fYCnK/1yBxMmR6SDYnYLhy6OfdefM/huVbBJviwmbr2Y1qRWz3Ghxei6epK4 86FTmPsx8Jw8Z3woISd5JMyPQ41iPCoymOB8sXv1ksGxpFrmRcYAQf3RsUOjSCQSqr0F D0bg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:message-id:date:to:cc:from :subject:references:in-reply-to:content-transfer-encoding :mime-version:dkim-signature; bh=10lwg6uQFk9Fjbej0HWmFQxET16K1NofvVmMfuiw36Q=; b=WAsi3wjePyR8dFKa0MeXpXpR92MiQLS9s4xC6Wz8A0qxCGH2oyQvCURXCgpay1N50I D23F6YSWk7hyZFxWI5LnhS6vZcEXu97vhGY1/yFQecyd1coY7mT5wltMKKQanSul7leo gzkDVIsMuqbAGRjMlG6dXJPrtmZKgvchiAyjC3/v4Oa88R+RNdsyJ3UIqak3b/R/vW05 eqnO+VbgDvBS+X/+UI3MTOc7Xw353thjhfV+SKBYLKQ9vPxR3QmrNrpQC+dxFoFe/EfX i+UTNzzoGycUjefJQaOh2xLX61qV2l48BuStoKlzwP69b/mGp6RYo3P7l9CjkDxdkroI 5feA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=lgqabAXO; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id a22si671726otp.84.2020.02.19.16.07.14; Wed, 19 Feb 2020 16:07:27 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=lgqabAXO; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726736AbgBTAFk (ORCPT + 99 others); Wed, 19 Feb 2020 19:05:40 -0500 Received: from mail-pj1-f68.google.com ([209.85.216.68]:54528 "EHLO mail-pj1-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726647AbgBTAFk (ORCPT ); Wed, 19 Feb 2020 19:05:40 -0500 Received: by mail-pj1-f68.google.com with SMTP id dw13so77711pjb.4 for ; Wed, 19 Feb 2020 16:05:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=mime-version:content-transfer-encoding:in-reply-to:references :subject:from:cc:to:date:message-id:user-agent; bh=10lwg6uQFk9Fjbej0HWmFQxET16K1NofvVmMfuiw36Q=; b=lgqabAXOogpxmjlTPgJ/ZaVRlPIrbrYTEsDdU+AnT8v2wpjkFg/v6Ypr5hqqtCnNfz MM40vKyxgop8NzvE8PavjFbEH/+jYeDsRho2gUvShOIbdJVAvXwVxB9QVZ2+F+MwYbwi y+MowmEPQ0/uK9tlbl06j+wC6MTWucooZa4Ho= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:content-transfer-encoding :in-reply-to:references:subject:from:cc:to:date:message-id :user-agent; bh=10lwg6uQFk9Fjbej0HWmFQxET16K1NofvVmMfuiw36Q=; b=AL11WGaGJbMS1vEwTHe5QQ5LAzutwseGNoEAmuom3Gm4O2ZgjidB9qcK5mM5Vdga/l 2pVnaS0MZak3yamO6Q2+IbyFtSO8Oa8cM4l28QJx5cjavto35A7kvk5GBNl26I/jN+1Y aZCrAn1AUWvEX9Fjwyca1KD0a2WwY2cCZyIS+ZYUIMPbIASCdVzOTBpkb9BBQgojeQgZ RDosLw0ERv3PHJJzGQQubujoSy7s7V4pyiP4qnlIxmLXCED7byPVDrD6yBAJdwpM+Ywr iiB2KBSUAoCv+fODA/25L+KeWOSsS31t0Sx3X9EXnmqphosmZGyVQbDsXZ0dXDw96E+7 ncPQ== X-Gm-Message-State: APjAAAWB7GQSIF3PRAAXQPdAGWJtQoGAu06Qo6p6+PP2uqzXzvnFypWr JtE+Rzkxm2uFm+hbSD2MPxSGyQ== X-Received: by 2002:a17:902:bb83:: with SMTP id m3mr28811680pls.258.1582157138446; Wed, 19 Feb 2020 16:05:38 -0800 (PST) Received: from chromium.org ([2620:15c:202:1:fa53:7765:582b:82b9]) by smtp.gmail.com with ESMTPSA id r7sm774111pfg.34.2020.02.19.16.05.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 19 Feb 2020 16:05:37 -0800 (PST) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable In-Reply-To: <4f5a4175371ac7973061cd4f9d19674ac308672c.1582048155.git.amit.kucheria@linaro.org> References: <4f5a4175371ac7973061cd4f9d19674ac308672c.1582048155.git.amit.kucheria@linaro.org> Subject: Re: [PATCH v5 5/8] drivers: thermal: tsens: Add critical interrupt support From: Stephen Boyd Cc: Amit Kucheria , linux-pm@vger.kernel.org To: Amit Kucheria , Andy Gross , bjorn.andersson@linaro.org, daniel.lezcano@linaro.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, sivaa@codeaurora.org Date: Wed, 19 Feb 2020 16:05:36 -0800 Message-ID: <158215713699.184098.4863049384855658604@swboyd.mtv.corp.google.com> User-Agent: alot/0.9 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Quoting Amit Kucheria (2020-02-18 10:12:09) > diff --git a/drivers/thermal/qcom/tsens.c b/drivers/thermal/qcom/tsens.c > index 0e7cf5236932..5b003d598234 100644 > --- a/drivers/thermal/qcom/tsens.c > +++ b/drivers/thermal/qcom/tsens.c > @@ -125,6 +125,28 @@ static int tsens_register(struct tsens_priv *priv) > goto err_put_device; > } > =20 > + if (priv->feat->crit_int) { > + irq_crit =3D platform_get_irq_byname(pdev, "critical"); > + if (irq_crit < 0) { > + ret =3D irq_crit; > + /* For old DTs with no IRQ defined */ > + if (irq_crit =3D=3D -ENXIO) > + ret =3D 0; > + goto err_crit_int; > + } > + ret =3D devm_request_threaded_irq(&pdev->dev, irq_crit, > + NULL, tsens_critical_irq_= thread, > + IRQF_ONESHOT, > + dev_name(&pdev->dev), pri= v); > + if (ret) { > + dev_err(&pdev->dev, "%s: failed to get critical i= rq\n", __func__); > + goto err_crit_int; > + } > + > + enable_irq_wake(irq_crit); > + } > + > +err_crit_int: Why use a goto? Can't this be done with if-else statements? if (priv->feat->crit_int) { irq_crit =3D platform_get_irq_byname(pdev, "critical"); if (irq_crit < 0) { ... } else { ret =3D devm_request_threaded_irq(&pdev->dev, irq_cr= it, NULL, tsens_critical= _irq_thread, IRQF_ONESHOT, dev_name(&pdev->dev)= , priv); if (ret) dev_err(&pdev->dev, "%s: failed to get criti= cal irq\n", __func__); else enable_irq_wake(irq_crit); } } Or if the nesting is so deep that we need goto labels then perhaps it needs to be another function. > enable_irq_wake(irq); > =20 > err_put_device: