Received: by 2002:a05:6358:3188:b0:123:57c1:9b43 with SMTP id q8csp9060914rwd; Wed, 21 Jun 2023 02:26:05 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ6u7GJzUlPTNtryuoRzbQ2FrzkQlPv0scv3ADV/XpJiFZ95ZV4lINR4AhgS318GYQ4BwxYA X-Received: by 2002:a17:903:230f:b0:1a6:82ac:f277 with SMTP id d15-20020a170903230f00b001a682acf277mr19033894plh.14.1687339565078; Wed, 21 Jun 2023 02:26:05 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1687339565; cv=none; d=google.com; s=arc-20160816; b=ei7lzLH++3FPSCurQUbxScTIDIs6t+gWLs6/b3HDa6kfXOMTTsXo/+hVa3o52B8Y8a M+RJompb3E1mrQhvUvvy9isP5ewwSDnptRZ3nPit37WYnkX4y9zDZoFr+sP4rZgiCIBB xqQUC4tZZ/yP+V0PwI9uSdQrVuEqb754uzbmoyuQshLmaUeOlAS0cWeB+1y4Och1pNDe T72aCIqZAlu4vodudV3j6JSzvVS7LAh3CF8GAF8yBz5vS9B6GnQk2UXd8JT+XuyE0rM+ 8J6QYNSBAylDjBH0Ge4wDwoKFBk23SOsYB3FxpuHLnUyRUA5smH+OothJFfP0E1gFANN /eyA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:user-agent :content-transfer-encoding:references:in-reply-to:date:cc:to:from :subject:message-id; bh=QvN5x33qLNY+nAiqJuhVAdsocEVGAysyvFJ2huZITQM=; b=RjlHV+G3R1uGb8EinYkc5NaKP+LZpuzsda7b30ZLuylXiCsSDKG7Mg0O+t8BeSyCtH CAWfoFxJv+RNbpu41cujHLKbMsO63GR6mfxPpxgHnoKdT0eiAFqf8g3oHQuqtykt9fbp MyD3o9lWtw8qFXGqIRf/fc+/r4Gd5AGE3L8E36jViIjL2BAuIMhIrJQtpMfPFk04AdqU m1JzomHn7Ljg3EZYSDiG8bNRQEHprrUimH+RvScta7YkbjdeHp/AMzKeg48cxCuXMW5T 0d0xJ/xDKCOvpasi5jqwlwBTKR9yp5QKx+T+yIyQ/SKCWQNrJWVKMpEUAmqVNOxyhYZB wrIw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id h2-20020a170902b94200b001b3ca91e3c7si3797019pls.7.2023.06.21.02.25.50; Wed, 21 Jun 2023 02:26:05 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229664AbjFUJIT convert rfc822-to-8bit (ORCPT + 99 others); Wed, 21 Jun 2023 05:08:19 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47610 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230136AbjFUJII (ORCPT ); Wed, 21 Jun 2023 05:08:08 -0400 Received: from metis.ext.pengutronix.de (metis.ext.pengutronix.de [IPv6:2001:67c:670:201:290:27ff:fe1d:cc33]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 978531B4 for ; Wed, 21 Jun 2023 02:08:07 -0700 (PDT) Received: from ptz.office.stw.pengutronix.de ([2a0a:edc0:0:900:1d::77] helo=[IPv6:::1]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1qBtoi-0002P0-7d; Wed, 21 Jun 2023 11:07:56 +0200 Message-ID: <77f62814f98dd2728a1e4747f0db6b2a3cfa2c11.camel@pengutronix.de> Subject: Re: [PATCH v10 01/11] drm/etnaviv: Add a dedicated function to register an irq handler From: Lucas Stach To: Sui Jingfeng <18949883232@163.com>, Russell King , Christian Gmeiner , David Airlie , Daniel Vetter Cc: Sui Jingfeng , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, etnaviv@lists.freedesktop.org, Philipp Zabel , Bjorn Helgaas Date: Wed, 21 Jun 2023 11:07:51 +0200 In-Reply-To: <20230620094716.2231414-2-18949883232@163.com> References: <20230620094716.2231414-1-18949883232@163.com> <20230620094716.2231414-2-18949883232@163.com> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8BIT User-Agent: Evolution 3.46.4 (3.46.4-1.fc37) MIME-Version: 1.0 X-SA-Exim-Connect-IP: 2a0a:edc0:0:900:1d::77 X-SA-Exim-Mail-From: l.stach@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Am Dienstag, dem 20.06.2023 um 17:47 +0800 schrieb Sui Jingfeng: > From: Sui Jingfeng > > Because getting IRQ from a device is platform-dependent, PCI devices have > different methods for getting an IRQ. This patch is a preparation to extend > this driver for supporting the PCI devices. > > Cc: Lucas Stach > Cc: Christian Gmeiner > Cc: Philipp Zabel > Cc: Bjorn Helgaas > Cc: Daniel Vetter > Signed-off-by: Sui Jingfeng > --- > drivers/gpu/drm/etnaviv/etnaviv_gpu.c | 32 +++++++++++++++++++-------- > 1 file changed, 23 insertions(+), 9 deletions(-) > > diff --git a/drivers/gpu/drm/etnaviv/etnaviv_gpu.c b/drivers/gpu/drm/etnaviv/etnaviv_gpu.c > index de8c9894967c..a03e81337d8f 100644 > --- a/drivers/gpu/drm/etnaviv/etnaviv_gpu.c > +++ b/drivers/gpu/drm/etnaviv/etnaviv_gpu.c > @@ -1817,6 +1817,27 @@ static const struct of_device_id etnaviv_gpu_match[] = { > }; > MODULE_DEVICE_TABLE(of, etnaviv_gpu_match); > > +static int etnaviv_gpu_register_irq(struct etnaviv_gpu *gpu, int irq) > +{ > + struct device *dev = gpu->dev; > + int err; > + > + if (irq < 0) > + return irq; > + > + err = devm_request_irq(dev, irq, irq_handler, 0, dev_name(dev), gpu); > + if (err) { > + dev_err(dev, "failed to request irq %u: %d\n", irq, err); > + return err; > + } > + > + gpu->irq = irq; > + > + dev_info(dev, "irq(%d) handler registered\n", irq); There is no reason to put this into the kernel log. It's no different than other resources to the driver and we don't log each one of those either. In fact I don't see any reason for this change in the first place. Effectively you are moving a single function call into a new function, which doesn't seem like an improvement. Regards, Lucas > + > + return 0; > +} > + > static int etnaviv_gpu_platform_probe(struct platform_device *pdev) > { > struct device *dev = &pdev->dev; > @@ -1837,16 +1858,9 @@ static int etnaviv_gpu_platform_probe(struct platform_device *pdev) > return PTR_ERR(gpu->mmio); > > /* Get Interrupt: */ > - gpu->irq = platform_get_irq(pdev, 0); > - if (gpu->irq < 0) > - return gpu->irq; > - > - err = devm_request_irq(&pdev->dev, gpu->irq, irq_handler, 0, > - dev_name(gpu->dev), gpu); > - if (err) { > - dev_err(dev, "failed to request IRQ%u: %d\n", gpu->irq, err); > + err = etnaviv_gpu_register_irq(gpu, platform_get_irq(pdev, 0)); > + if (err) > return err; > - } > > /* Get Clocks: */ > gpu->clk_reg = devm_clk_get_optional(&pdev->dev, "reg");