From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ot1-x329.google.com (mail-ot1-x329.google.com. [2607:f8b0:4864:20::329]) by gmr-mx.google.com with ESMTPS id e26si2538161ios.2.2020.12.27.11.20.52 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 27 Dec 2020 11:20:52 -0800 (PST) Received: by mail-ot1-x329.google.com with SMTP id o11so7610746ote.4 for ; Sun, 27 Dec 2020 11:20:52 -0800 (PST) Return-Path: Sender: Guenter Roeck Date: Sun, 27 Dec 2020 11:20:49 -0800 From: Guenter Roeck Subject: Re: [patch 02/30] genirq: Move status flag checks to core Message-ID: <20201227192049.GA195845@roeck-us.net> References: <20201210192536.118432146@linutronix.de> <20201210194042.703779349@linutronix.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20201210194042.703779349@linutronix.de> To: Thomas Gleixner Cc: LKML , Mark Rutland , Karthikeyan Mitran , Peter Zijlstra , Catalin Marinas , dri-devel@lists.freedesktop.org, Chris Wilson , "James E.J. Bottomley" , Saeed Mahameed , netdev@vger.kernel.org, Will Deacon , Michal Simek , linux-s390@vger.kernel.org, afzal mohammed , Lorenzo Pieralisi , Dave Jiang , xen-devel@lists.xenproject.org, Leon Romanovsky , linux-rdma@vger.kernel.org, Marc Zyngier , Helge Deller , Russell King , Christian Borntraeger , linux-pci@vger.kernel.org, Jakub Kicinski , Heiko Carstens , Wambui Karuga , Allen Hubbe , Juergen Gross , David Airlie , linux-gpio@vger.kernel.org, Stefano Stabellini , Rodrigo Vivi , Bjorn Helgaas , Lee Jones , linux-arm-kernel@lists.infradead.org, Boris Ostrovsky , Tvrtko Ursulin , linux-parisc@vger.kernel.org, Pankaj Bharadiya , Hou Zhiqiang , Tariq Toukan , Jon Mason , linux-ntb@googlegroups.com, intel-gfx@lists.freedesktop.org, "David S. Miller" List-ID: On Thu, Dec 10, 2020 at 08:25:38PM +0100, Thomas Gleixner wrote: > These checks are used by modules and prevent the removal of the export of > irq_to_desc(). Move the accessor into the core. > > Signed-off-by: Thomas Gleixner Yes, but that means that irq_check_status_bit() may be called from modules, but it is not exported, resulting in build errors such as the following. arm64:allmodconfig: ERROR: modpost: "irq_check_status_bit" [drivers/perf/arm_spe_pmu.ko] undefined! Guenter > --- > include/linux/irqdesc.h | 17 +++++------------ > kernel/irq/manage.c | 17 +++++++++++++++++ > 2 files changed, 22 insertions(+), 12 deletions(-) > > --- a/include/linux/irqdesc.h > +++ b/include/linux/irqdesc.h > @@ -223,28 +223,21 @@ irq_set_chip_handler_name_locked(struct > data->chip = chip; > } > > +bool irq_check_status_bit(unsigned int irq, unsigned int bitmask); > + > static inline bool irq_balancing_disabled(unsigned int irq) > { > - struct irq_desc *desc; > - > - desc = irq_to_desc(irq); > - return desc->status_use_accessors & IRQ_NO_BALANCING_MASK; > + return irq_check_status_bit(irq, IRQ_NO_BALANCING_MASK); > } > > static inline bool irq_is_percpu(unsigned int irq) > { > - struct irq_desc *desc; > - > - desc = irq_to_desc(irq); > - return desc->status_use_accessors & IRQ_PER_CPU; > + return irq_check_status_bit(irq, IRQ_PER_CPU); > } > > static inline bool irq_is_percpu_devid(unsigned int irq) > { > - struct irq_desc *desc; > - > - desc = irq_to_desc(irq); > - return desc->status_use_accessors & IRQ_PER_CPU_DEVID; > + return irq_check_status_bit(irq, IRQ_PER_CPU_DEVID); > } > > static inline void > --- a/kernel/irq/manage.c > +++ b/kernel/irq/manage.c > @@ -2769,3 +2769,23 @@ bool irq_has_action(unsigned int irq) > return res; > } > EXPORT_SYMBOL_GPL(irq_has_action); > + > +/** > + * irq_check_status_bit - Check whether bits in the irq descriptor status are set > + * @irq: The linux irq number > + * @bitmask: The bitmask to evaluate > + * > + * Returns: True if one of the bits in @bitmask is set > + */ > +bool irq_check_status_bit(unsigned int irq, unsigned int bitmask) > +{ > + struct irq_desc *desc; > + bool res = false; > + > + rcu_read_lock(); > + desc = irq_to_desc(irq); > + if (desc) > + res = !!(desc->status_use_accessors & bitmask); > + rcu_read_unlock(); > + return res; > +} 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=-15.3 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_SANE_1 autolearn=unavailable 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 C442EC433DB for ; Sun, 27 Dec 2020 19:22:55 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (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 7D7622242A for ; Sun, 27 Dec 2020 19:22:55 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 7D7622242A Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=roeck-us.net Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References:Message-ID: Subject:To:From:Date:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=eKH3Bmd0DstRdRZSMcNR8AEBe/ICjiCIRBTcfLAhbPg=; b=zXffbRatTKUKrFT+/kKHZR7Ik NNWh9klPkWFa56gu0wJo36LV2onNxohN2Yu9zC3z4zfMZRfX1/o3FZ21ktjoKoZgS1iUAxeyea4Au mCOcSQ+g9fM6YzjS5HzhdoX+6HS+ARhfBxD/4+vevgh9u8QTt1UCtChsqLjCNg52uhtFleCz895yE Ax3lCkibuWV8kIJJ1TPIn8q11Bv/shG4b9xC8ourkXuDjkGODtxJgrhL1GibO8FbzighGILJedSXN xl2WkMWJ2SauU4mvOmEufFXHTzBgNv7s+rL9G22OMinK3K5BkGrm1XqZeim1siZw2qC19kRSS0Qbg gvn9XI7ew==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1ktbb8-0004tI-1V; Sun, 27 Dec 2020 19:20:58 +0000 Received: from mail-ot1-x32d.google.com ([2607:f8b0:4864:20::32d]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1ktbb5-0004sZ-Ix for linux-arm-kernel@lists.infradead.org; Sun, 27 Dec 2020 19:20:56 +0000 Received: by mail-ot1-x32d.google.com with SMTP id j12so7577409ota.7 for ; Sun, 27 Dec 2020 11:20:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=0sVC8j/qFLW+R/BiCcbxfbFuWt0QadRRyfbTVS1VwHY=; b=snNRM2UJuxFlYbt0opdNq/Km+jTrugWz+XCv9dvNVL/debD4RiSNjJuvvfbPHP8li7 KIhX0/QgOmUeidxtdeZSEin831Gb4MPxK/Nsdy82P6kpVKu6N4Nc/2a1j/rhKSYYtPfM OdujcskdH0zj17962B4EA6DAWt+WbPQDoOQkCV+q0RBuHOc2AwsMveKzxEy1LnZjcBm6 WwVaL7EiOv3pK+MmaGP2Q6W+EWp/A0H6XAJ9Sli5mcOq3SMT90MXTM6BUD6s+YNQPnp0 3oKuBMFCRu9MNXQfN7PDX/uDAX7jwXSxxMeoGH5bWQ0ZYiFJh6LgmVaIuZavb11TOu03 Stkw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:date:from:to:cc:subject:message-id :references:mime-version:content-disposition:in-reply-to:user-agent; bh=0sVC8j/qFLW+R/BiCcbxfbFuWt0QadRRyfbTVS1VwHY=; b=m5UykJBVLCwnf3W58yrAImrSK8Xw1dlVIet1JjgaICJiOsLnWJQnL3UK4ky60yRf+M iQ0kKEUvZqZNddF8r5KSLJEmi4Frb/wfC7uUKHHHKF6m31UCZCLmppSp9EV7ft5XOdIQ LX/IWw0PE+oXKBy6aeOOzL3KSeVM+tGn4R5JrLdCh7OD7cO40jRte2ZRpGx4ZVXxtL3A xFzrzq0WWcSwGXY/xpsm4If0l68aKt5HQBnaYK452bjurWOT6TVZAZppUt4q9C1fy7M4 OU/DGQqdUPgh0wS5RqmT0GzOwS5zsHxQRikDit5n0t1i9lJs7S3hmSjf6vRItcLYPQ0U CbCw== X-Gm-Message-State: AOAM530kBtABiMUM8+IhMXCYTUrcprbQIVcuZipUSxOXAFiClKqLGPpZ 99GR3scLqtSiulCYMni4tdA= X-Google-Smtp-Source: ABdhPJy5MA8pTqBMHg7t7kC9SkPKcTOcLW8SMiIKlPFipG2wn4l5044FI2Bd1WiObQwt+tJVlAueHQ== X-Received: by 2002:a05:6830:cf:: with SMTP id x15mr30498943oto.55.1609096852047; Sun, 27 Dec 2020 11:20:52 -0800 (PST) Received: from localhost ([2600:1700:e321:62f0:329c:23ff:fee3:9d7c]) by smtp.gmail.com with ESMTPSA id v17sm8555011oou.41.2020.12.27.11.20.50 (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sun, 27 Dec 2020 11:20:50 -0800 (PST) Date: Sun, 27 Dec 2020 11:20:49 -0800 From: Guenter Roeck To: Thomas Gleixner Subject: Re: [patch 02/30] genirq: Move status flag checks to core Message-ID: <20201227192049.GA195845@roeck-us.net> References: <20201210192536.118432146@linutronix.de> <20201210194042.703779349@linutronix.de> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20201210194042.703779349@linutronix.de> User-Agent: Mutt/1.9.4 (2018-02-28) X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20201227_142055_666043_E4D17F38 X-CRM114-Status: GOOD ( 22.71 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Mark Rutland , Karthikeyan Mitran , Pankaj Bharadiya , Peter Zijlstra , Catalin Marinas , Rodrigo Vivi , dri-devel@lists.freedesktop.org, Chris Wilson , "James E.J. Bottomley" , Russell King , afzal mohammed , Boris Ostrovsky , linux-s390@vger.kernel.org, Lorenzo Pieralisi , Dave Jiang , Leon Romanovsky , linux-rdma@vger.kernel.org, Will Deacon , Helge Deller , Michal Simek , Christian Borntraeger , linux-pci@vger.kernel.org, intel-gfx@lists.freedesktop.org, xen-devel@lists.xenproject.org, Hou Zhiqiang , Wambui Karuga , Allen Hubbe , Tvrtko Ursulin , Heiko Carstens , Jon Mason , linux-gpio@vger.kernel.org, Stefano Stabellini , Jakub Kicinski , Bjorn Helgaas , Lee Jones , linux-arm-kernel@lists.infradead.org, Juergen Gross , David Airlie , linux-parisc@vger.kernel.org, netdev@vger.kernel.org, LKML , Tariq Toukan , Marc Zyngier , linux-ntb@googlegroups.com, Saeed Mahameed , "David S. Miller" Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org On Thu, Dec 10, 2020 at 08:25:38PM +0100, Thomas Gleixner wrote: > These checks are used by modules and prevent the removal of the export of > irq_to_desc(). Move the accessor into the core. > > Signed-off-by: Thomas Gleixner Yes, but that means that irq_check_status_bit() may be called from modules, but it is not exported, resulting in build errors such as the following. arm64:allmodconfig: ERROR: modpost: "irq_check_status_bit" [drivers/perf/arm_spe_pmu.ko] undefined! Guenter > --- > include/linux/irqdesc.h | 17 +++++------------ > kernel/irq/manage.c | 17 +++++++++++++++++ > 2 files changed, 22 insertions(+), 12 deletions(-) > > --- a/include/linux/irqdesc.h > +++ b/include/linux/irqdesc.h > @@ -223,28 +223,21 @@ irq_set_chip_handler_name_locked(struct > data->chip = chip; > } > > +bool irq_check_status_bit(unsigned int irq, unsigned int bitmask); > + > static inline bool irq_balancing_disabled(unsigned int irq) > { > - struct irq_desc *desc; > - > - desc = irq_to_desc(irq); > - return desc->status_use_accessors & IRQ_NO_BALANCING_MASK; > + return irq_check_status_bit(irq, IRQ_NO_BALANCING_MASK); > } > > static inline bool irq_is_percpu(unsigned int irq) > { > - struct irq_desc *desc; > - > - desc = irq_to_desc(irq); > - return desc->status_use_accessors & IRQ_PER_CPU; > + return irq_check_status_bit(irq, IRQ_PER_CPU); > } > > static inline bool irq_is_percpu_devid(unsigned int irq) > { > - struct irq_desc *desc; > - > - desc = irq_to_desc(irq); > - return desc->status_use_accessors & IRQ_PER_CPU_DEVID; > + return irq_check_status_bit(irq, IRQ_PER_CPU_DEVID); > } > > static inline void > --- a/kernel/irq/manage.c > +++ b/kernel/irq/manage.c > @@ -2769,3 +2769,23 @@ bool irq_has_action(unsigned int irq) > return res; > } > EXPORT_SYMBOL_GPL(irq_has_action); > + > +/** > + * irq_check_status_bit - Check whether bits in the irq descriptor status are set > + * @irq: The linux irq number > + * @bitmask: The bitmask to evaluate > + * > + * Returns: True if one of the bits in @bitmask is set > + */ > +bool irq_check_status_bit(unsigned int irq, unsigned int bitmask) > +{ > + struct irq_desc *desc; > + bool res = false; > + > + rcu_read_lock(); > + desc = irq_to_desc(irq); > + if (desc) > + res = !!(desc->status_use_accessors & bitmask); > + rcu_read_unlock(); > + return res; > +} _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel 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=-15.1 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 autolearn=unavailable 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 3A39DC433E0 for ; Mon, 28 Dec 2020 10:19:59 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (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 BE35C221F0 for ; Mon, 28 Dec 2020 10:19:58 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org BE35C221F0 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=roeck-us.net Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 995B489B3C; Mon, 28 Dec 2020 10:19:42 +0000 (UTC) Received: from mail-ot1-x332.google.com (mail-ot1-x332.google.com [IPv6:2607:f8b0:4864:20::332]) by gabe.freedesktop.org (Postfix) with ESMTPS id D6967897D0; Sun, 27 Dec 2020 19:20:52 +0000 (UTC) Received: by mail-ot1-x332.google.com with SMTP id q25so7561785otn.10; Sun, 27 Dec 2020 11:20:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=0sVC8j/qFLW+R/BiCcbxfbFuWt0QadRRyfbTVS1VwHY=; b=snNRM2UJuxFlYbt0opdNq/Km+jTrugWz+XCv9dvNVL/debD4RiSNjJuvvfbPHP8li7 KIhX0/QgOmUeidxtdeZSEin831Gb4MPxK/Nsdy82P6kpVKu6N4Nc/2a1j/rhKSYYtPfM OdujcskdH0zj17962B4EA6DAWt+WbPQDoOQkCV+q0RBuHOc2AwsMveKzxEy1LnZjcBm6 WwVaL7EiOv3pK+MmaGP2Q6W+EWp/A0H6XAJ9Sli5mcOq3SMT90MXTM6BUD6s+YNQPnp0 3oKuBMFCRu9MNXQfN7PDX/uDAX7jwXSxxMeoGH5bWQ0ZYiFJh6LgmVaIuZavb11TOu03 Stkw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:date:from:to:cc:subject:message-id :references:mime-version:content-disposition:in-reply-to:user-agent; bh=0sVC8j/qFLW+R/BiCcbxfbFuWt0QadRRyfbTVS1VwHY=; b=PkNB4ULWgcjgRUv3u8xgt2jX2dPtM11bQr5paQ9i0rdoPgdPMuMrwZGpDE3szgfPey XpI1Ux2+AOIdH4gNiJ5d+7lzOTooknRyRwiSRib+nbyT++iheN5PS4KZfcCzQxBDw6c2 IWugl7IPgC3syt7qLetfvNHiLmc6X+RazhTvNDrrEzS3BM1u3MvHJP49qNsZPBdFwjjR q0ucqUMvbGI5H2gKWcI019p5McxLhuUZoiWAeQzEYyP+e1fVgTNSf8j14NuMWJCX3UNR HJZlzZ3OeDQAh6TgQ9nn1SJaFV5xhD13zFENlUhpTb6mLo/sXWHhWnajBkoNXxXIIcGS uMow== X-Gm-Message-State: AOAM532S2BPw19OI5JMzk3C35XqfN4nGtU3R0LVxVOiCqYRJx3sHxf9f MRB2I0ZiL98wBjhknx7dqs4= X-Google-Smtp-Source: ABdhPJy5MA8pTqBMHg7t7kC9SkPKcTOcLW8SMiIKlPFipG2wn4l5044FI2Bd1WiObQwt+tJVlAueHQ== X-Received: by 2002:a05:6830:cf:: with SMTP id x15mr30498943oto.55.1609096852047; Sun, 27 Dec 2020 11:20:52 -0800 (PST) Received: from localhost ([2600:1700:e321:62f0:329c:23ff:fee3:9d7c]) by smtp.gmail.com with ESMTPSA id v17sm8555011oou.41.2020.12.27.11.20.50 (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sun, 27 Dec 2020 11:20:50 -0800 (PST) Date: Sun, 27 Dec 2020 11:20:49 -0800 From: Guenter Roeck To: Thomas Gleixner Subject: Re: [patch 02/30] genirq: Move status flag checks to core Message-ID: <20201227192049.GA195845@roeck-us.net> References: <20201210192536.118432146@linutronix.de> <20201210194042.703779349@linutronix.de> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20201210194042.703779349@linutronix.de> User-Agent: Mutt/1.9.4 (2018-02-28) X-Mailman-Approved-At: Mon, 28 Dec 2020 10:19:13 +0000 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Mark Rutland , Karthikeyan Mitran , Pankaj Bharadiya , Peter Zijlstra , Catalin Marinas , Rodrigo Vivi , dri-devel@lists.freedesktop.org, Chris Wilson , "James E.J. Bottomley" , Russell King , afzal mohammed , Boris Ostrovsky , linux-s390@vger.kernel.org, Lorenzo Pieralisi , Dave Jiang , Leon Romanovsky , linux-rdma@vger.kernel.org, Will Deacon , Helge Deller , Michal Simek , Christian Borntraeger , linux-pci@vger.kernel.org, intel-gfx@lists.freedesktop.org, xen-devel@lists.xenproject.org, Hou Zhiqiang , Wambui Karuga , Allen Hubbe , Tvrtko Ursulin , Heiko Carstens , Jon Mason , linux-gpio@vger.kernel.org, Stefano Stabellini , Jakub Kicinski , Bjorn Helgaas , Lee Jones , linux-arm-kernel@lists.infradead.org, Juergen Gross , David Airlie , linux-parisc@vger.kernel.org, netdev@vger.kernel.org, LKML , Tariq Toukan , Marc Zyngier , linux-ntb@googlegroups.com, Saeed Mahameed , "David S. Miller" Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" On Thu, Dec 10, 2020 at 08:25:38PM +0100, Thomas Gleixner wrote: > These checks are used by modules and prevent the removal of the export of > irq_to_desc(). Move the accessor into the core. > > Signed-off-by: Thomas Gleixner Yes, but that means that irq_check_status_bit() may be called from modules, but it is not exported, resulting in build errors such as the following. arm64:allmodconfig: ERROR: modpost: "irq_check_status_bit" [drivers/perf/arm_spe_pmu.ko] undefined! Guenter > --- > include/linux/irqdesc.h | 17 +++++------------ > kernel/irq/manage.c | 17 +++++++++++++++++ > 2 files changed, 22 insertions(+), 12 deletions(-) > > --- a/include/linux/irqdesc.h > +++ b/include/linux/irqdesc.h > @@ -223,28 +223,21 @@ irq_set_chip_handler_name_locked(struct > data->chip = chip; > } > > +bool irq_check_status_bit(unsigned int irq, unsigned int bitmask); > + > static inline bool irq_balancing_disabled(unsigned int irq) > { > - struct irq_desc *desc; > - > - desc = irq_to_desc(irq); > - return desc->status_use_accessors & IRQ_NO_BALANCING_MASK; > + return irq_check_status_bit(irq, IRQ_NO_BALANCING_MASK); > } > > static inline bool irq_is_percpu(unsigned int irq) > { > - struct irq_desc *desc; > - > - desc = irq_to_desc(irq); > - return desc->status_use_accessors & IRQ_PER_CPU; > + return irq_check_status_bit(irq, IRQ_PER_CPU); > } > > static inline bool irq_is_percpu_devid(unsigned int irq) > { > - struct irq_desc *desc; > - > - desc = irq_to_desc(irq); > - return desc->status_use_accessors & IRQ_PER_CPU_DEVID; > + return irq_check_status_bit(irq, IRQ_PER_CPU_DEVID); > } > > static inline void > --- a/kernel/irq/manage.c > +++ b/kernel/irq/manage.c > @@ -2769,3 +2769,23 @@ bool irq_has_action(unsigned int irq) > return res; > } > EXPORT_SYMBOL_GPL(irq_has_action); > + > +/** > + * irq_check_status_bit - Check whether bits in the irq descriptor status are set > + * @irq: The linux irq number > + * @bitmask: The bitmask to evaluate > + * > + * Returns: True if one of the bits in @bitmask is set > + */ > +bool irq_check_status_bit(unsigned int irq, unsigned int bitmask) > +{ > + struct irq_desc *desc; > + bool res = false; > + > + rcu_read_lock(); > + desc = irq_to_desc(irq); > + if (desc) > + res = !!(desc->status_use_accessors & bitmask); > + rcu_read_unlock(); > + return res; > +} _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel 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=-15.1 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 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 A0ACAC433DB for ; Sun, 27 Dec 2020 19:20:54 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (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 39B2520897 for ; Sun, 27 Dec 2020 19:20:54 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 39B2520897 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=roeck-us.net Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id AD4A8897D0; Sun, 27 Dec 2020 19:20:53 +0000 (UTC) Received: from mail-ot1-x332.google.com (mail-ot1-x332.google.com [IPv6:2607:f8b0:4864:20::332]) by gabe.freedesktop.org (Postfix) with ESMTPS id D6967897D0; Sun, 27 Dec 2020 19:20:52 +0000 (UTC) Received: by mail-ot1-x332.google.com with SMTP id q25so7561785otn.10; Sun, 27 Dec 2020 11:20:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=0sVC8j/qFLW+R/BiCcbxfbFuWt0QadRRyfbTVS1VwHY=; b=snNRM2UJuxFlYbt0opdNq/Km+jTrugWz+XCv9dvNVL/debD4RiSNjJuvvfbPHP8li7 KIhX0/QgOmUeidxtdeZSEin831Gb4MPxK/Nsdy82P6kpVKu6N4Nc/2a1j/rhKSYYtPfM OdujcskdH0zj17962B4EA6DAWt+WbPQDoOQkCV+q0RBuHOc2AwsMveKzxEy1LnZjcBm6 WwVaL7EiOv3pK+MmaGP2Q6W+EWp/A0H6XAJ9Sli5mcOq3SMT90MXTM6BUD6s+YNQPnp0 3oKuBMFCRu9MNXQfN7PDX/uDAX7jwXSxxMeoGH5bWQ0ZYiFJh6LgmVaIuZavb11TOu03 Stkw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:date:from:to:cc:subject:message-id :references:mime-version:content-disposition:in-reply-to:user-agent; bh=0sVC8j/qFLW+R/BiCcbxfbFuWt0QadRRyfbTVS1VwHY=; b=PkNB4ULWgcjgRUv3u8xgt2jX2dPtM11bQr5paQ9i0rdoPgdPMuMrwZGpDE3szgfPey XpI1Ux2+AOIdH4gNiJ5d+7lzOTooknRyRwiSRib+nbyT++iheN5PS4KZfcCzQxBDw6c2 IWugl7IPgC3syt7qLetfvNHiLmc6X+RazhTvNDrrEzS3BM1u3MvHJP49qNsZPBdFwjjR q0ucqUMvbGI5H2gKWcI019p5McxLhuUZoiWAeQzEYyP+e1fVgTNSf8j14NuMWJCX3UNR HJZlzZ3OeDQAh6TgQ9nn1SJaFV5xhD13zFENlUhpTb6mLo/sXWHhWnajBkoNXxXIIcGS uMow== X-Gm-Message-State: AOAM532S2BPw19OI5JMzk3C35XqfN4nGtU3R0LVxVOiCqYRJx3sHxf9f MRB2I0ZiL98wBjhknx7dqs4= X-Google-Smtp-Source: ABdhPJy5MA8pTqBMHg7t7kC9SkPKcTOcLW8SMiIKlPFipG2wn4l5044FI2Bd1WiObQwt+tJVlAueHQ== X-Received: by 2002:a05:6830:cf:: with SMTP id x15mr30498943oto.55.1609096852047; Sun, 27 Dec 2020 11:20:52 -0800 (PST) Received: from localhost ([2600:1700:e321:62f0:329c:23ff:fee3:9d7c]) by smtp.gmail.com with ESMTPSA id v17sm8555011oou.41.2020.12.27.11.20.50 (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sun, 27 Dec 2020 11:20:50 -0800 (PST) Date: Sun, 27 Dec 2020 11:20:49 -0800 From: Guenter Roeck To: Thomas Gleixner Message-ID: <20201227192049.GA195845@roeck-us.net> References: <20201210192536.118432146@linutronix.de> <20201210194042.703779349@linutronix.de> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20201210194042.703779349@linutronix.de> User-Agent: Mutt/1.9.4 (2018-02-28) Subject: Re: [Intel-gfx] [patch 02/30] genirq: Move status flag checks to core X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Mark Rutland , Karthikeyan Mitran , Peter Zijlstra , Catalin Marinas , dri-devel@lists.freedesktop.org, Chris Wilson , "James E.J. Bottomley" , Russell King , afzal mohammed , Boris Ostrovsky , linux-s390@vger.kernel.org, Lorenzo Pieralisi , Dave Jiang , Leon Romanovsky , linux-rdma@vger.kernel.org, Will Deacon , Helge Deller , Michal Simek , Christian Borntraeger , linux-pci@vger.kernel.org, intel-gfx@lists.freedesktop.org, xen-devel@lists.xenproject.org, Hou Zhiqiang , Wambui Karuga , Allen Hubbe , Heiko Carstens , Jon Mason , linux-gpio@vger.kernel.org, Stefano Stabellini , Jakub Kicinski , Bjorn Helgaas , Lee Jones , linux-arm-kernel@lists.infradead.org, Juergen Gross , David Airlie , linux-parisc@vger.kernel.org, netdev@vger.kernel.org, LKML , Tariq Toukan , Marc Zyngier , linux-ntb@googlegroups.com, Saeed Mahameed , "David S. Miller" Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" On Thu, Dec 10, 2020 at 08:25:38PM +0100, Thomas Gleixner wrote: > These checks are used by modules and prevent the removal of the export of > irq_to_desc(). Move the accessor into the core. > > Signed-off-by: Thomas Gleixner Yes, but that means that irq_check_status_bit() may be called from modules, but it is not exported, resulting in build errors such as the following. arm64:allmodconfig: ERROR: modpost: "irq_check_status_bit" [drivers/perf/arm_spe_pmu.ko] undefined! Guenter > --- > include/linux/irqdesc.h | 17 +++++------------ > kernel/irq/manage.c | 17 +++++++++++++++++ > 2 files changed, 22 insertions(+), 12 deletions(-) > > --- a/include/linux/irqdesc.h > +++ b/include/linux/irqdesc.h > @@ -223,28 +223,21 @@ irq_set_chip_handler_name_locked(struct > data->chip = chip; > } > > +bool irq_check_status_bit(unsigned int irq, unsigned int bitmask); > + > static inline bool irq_balancing_disabled(unsigned int irq) > { > - struct irq_desc *desc; > - > - desc = irq_to_desc(irq); > - return desc->status_use_accessors & IRQ_NO_BALANCING_MASK; > + return irq_check_status_bit(irq, IRQ_NO_BALANCING_MASK); > } > > static inline bool irq_is_percpu(unsigned int irq) > { > - struct irq_desc *desc; > - > - desc = irq_to_desc(irq); > - return desc->status_use_accessors & IRQ_PER_CPU; > + return irq_check_status_bit(irq, IRQ_PER_CPU); > } > > static inline bool irq_is_percpu_devid(unsigned int irq) > { > - struct irq_desc *desc; > - > - desc = irq_to_desc(irq); > - return desc->status_use_accessors & IRQ_PER_CPU_DEVID; > + return irq_check_status_bit(irq, IRQ_PER_CPU_DEVID); > } > > static inline void > --- a/kernel/irq/manage.c > +++ b/kernel/irq/manage.c > @@ -2769,3 +2769,23 @@ bool irq_has_action(unsigned int irq) > return res; > } > EXPORT_SYMBOL_GPL(irq_has_action); > + > +/** > + * irq_check_status_bit - Check whether bits in the irq descriptor status are set > + * @irq: The linux irq number > + * @bitmask: The bitmask to evaluate > + * > + * Returns: True if one of the bits in @bitmask is set > + */ > +bool irq_check_status_bit(unsigned int irq, unsigned int bitmask) > +{ > + struct irq_desc *desc; > + bool res = false; > + > + rcu_read_lock(); > + desc = irq_to_desc(irq); > + if (desc) > + res = !!(desc->status_use_accessors & bitmask); > + rcu_read_unlock(); > + return res; > +} _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx