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