From patchwork Wed Oct 20 18:48:46 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Fainelli X-Patchwork-Id: 12573047 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3CB4AC433F5 for ; Wed, 20 Oct 2021 18:51:59 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (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 01FBE61212 for ; Wed, 20 Oct 2021 18:51:58 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 01FBE61212 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-Id:Date:Subject:Cc :To:From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=ZSNdORvbSs2m8wexH8lChN7M06U4OEl1apjon8eiNCg=; b=uvegLhMCbZRlar JKNxD9T/fawk/EDbBe3MTldcrOJjN3HwRFvHo3mTyzxYNshenoc5WZevkIMnoTyCLj6M4Zpcln4Kr 4EiVG3miuHPBuwmfv3jhcNre7eZFnNeKPD+Dqd9HJ8zpCqUp53btMtEZbvHpKgUs19Wiib8/8rbtm MozK9hCCNGxZMKKifPqzJj1FpzefJNkRWulZUaEeGFXuKNR3P5tOZbYrkpFzZC01PvqLXyVrTCmjK fiLY0LQRKuVzCkdWjtdyknFo8rxYjjIPI7wNNuvEpAQ4TORNh4mHdk+reT1DCx+HPfhu3hfuYVJGn sAc+kkOEkZYyLKLXbq/w==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mdGfY-005Vue-UC; Wed, 20 Oct 2021 18:50:33 +0000 Received: from mail-pj1-x1032.google.com ([2607:f8b0:4864:20::1032]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1mdGfV-005Vtm-8B for linux-arm-kernel@lists.infradead.org; Wed, 20 Oct 2021 18:50:30 +0000 Received: by mail-pj1-x1032.google.com with SMTP id q10-20020a17090a1b0a00b001a076a59640so4307867pjq.0 for ; Wed, 20 Oct 2021 11:50:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=jCTb2WHpCoALHksNWsQaKHhY8JPhECfpgoUvgy9th8Y=; b=iJguvjx1coWd0eNGdUNUyqXo+TUzvTVmLESIXbT/pGmTkUWVWvBHDtPOD2cM69N/KW MYWrYzeyAwV0MX3vupC221ZIIrqg5E8rYb04svCyOiQIPY20v0BeXleS1pfFPAMFbonG HQuLiiHt3SPaRO734w2e4lbPR0YNB3fQi23n0a6jiGNbcI7Nbs3c8a7ZgJLzbXJjCS89 dQNxwu9Nj6kY0QfNjM3VXQdWgvsxusUCpbSnlB3rnblBY4Z8qXCnahCq+IUcfLdNZTFP OXus2dfyXIC6LJSvxjGT8wobH+ysVoeCzrL0b5BjQZAftRDUiVQgee2+Sml7DFfgbJFm iYpg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=jCTb2WHpCoALHksNWsQaKHhY8JPhECfpgoUvgy9th8Y=; b=LVoXYwiF4bWb8KYvhGBvlO8J69zPAYHRIw2ayOYQy/PmWO+wpULqgf0336nmW5cZw+ nj+bbvGFUmbbvnxaG5h6OxTPrCoGJIC1cKyJfLs7DqQ2EFGHsph9WyQ/rNChOn8Fk84V O5V5bNruLJl7zxczOLyYd5Gzaxn7QytcDqP7HeqWCCZ81qbSnDn4mznyeTBfXdnFOXBy 1/HFmw7vFzJlppTllZXV1Y4c6+D1lCM7YuP/pV5Tcf3ig/vWAx0GW1jBT9fuLHhwUrA3 MosRkziT90GqYoBkIwJBkeS0BQZHBka0Hpv4CKUDK244QbAxHr7mdWFWMsQXKMiUI6xd je/g== X-Gm-Message-State: AOAM532np1AiFcisDS6udKoIJ4JCRWf3XSU0qgSiaWdUKu9QYU7Z0vRP C7JqkoitfV3JME/655dEHVA= X-Google-Smtp-Source: ABdhPJxsrSXaveNPHaZktrIOBkh5ClOyOONpYSte2ljo9Suw+qbalLBZqIShPizPhoBJRQkU9Ngtaw== X-Received: by 2002:a17:902:e5cb:b0:13f:25b7:4d50 with SMTP id u11-20020a170902e5cb00b0013f25b74d50mr719178plf.38.1634755828325; Wed, 20 Oct 2021 11:50:28 -0700 (PDT) Received: from fainelli-desktop.igp.broadcom.net ([192.19.223.252]) by smtp.gmail.com with ESMTPSA id o127sm3267863pfb.216.2021.10.20.11.50.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 20 Oct 2021 11:50:27 -0700 (PDT) From: Florian Fainelli To: linux-kernel@vger.kernel.org Cc: Florian Fainelli , Ray Jui , Scott Branden , bcm-kernel-feedback-list@broadcom.com (maintainer:BROADCOM BCM281XX/BCM11XXX/BCM216XX ARM ARCHITE...), Russell King , Catalin Marinas , Will Deacon , Thomas Bogendoerfer , Thomas Gleixner , Marc Zyngier , Rob Herring , Frank Rowand , linux-arm-kernel@lists.infradead.org (moderated list:ARM SUB-ARCHITECTURES), linux-mips@vger.kernel.org (open list:MIPS), devicetree@vger.kernel.org (open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE) Subject: [PATCH v6 00/13] Modular Broadcom irqchip drivers Date: Wed, 20 Oct 2021 11:48:46 -0700 Message-Id: <20211020184859.2705451-1-f.fainelli@gmail.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20211020_115029_319630_947DFB1F X-CRM114-Status: GOOD ( 17.43 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Hi Thomas, Marc, This patch series aims at allowing the 3 interrupt controller drivers used on Broadcom STB platforms to be built as modules in order for those to be shipped in a GKI enabled system (Android). The irq-bcm7038-l1 requires us to export a number of symbols, which is not great, but there are not obvious solutions other than adding accessor functions to get the same information. Assuming you are happy with the changes though, please do take the last two changes as well through your tree. Thanks! Changes in v6: - dropped changing the prototype of of_init_irq_cb and instead resolved the platform_device from irq-bcm7120-l2 since this is the only driver that needs this to call platform_irq_count() Changes in v5: - put patch #9 as the first one - add missing platform_device argument to the irq-bcm7038-l1 and irq-brcmstb-l2 drivers (Marc) Changes in v4: - added Thomas' Acked-by for patch #1 - added Rob's Reviewed-by for patch 9 and updated qcom-pdc.c as suggested - s/argument/parameter/ in patch #14 as suggested by Sergey Changes in v3: - avoid the use of the cpu_logical_map array for platforms other than MIPS - removed the bogus irq_set_affinity callback for platforms other than MIPS - bring-back the export of irq_gc_noop() lost in the v2 Changes in v2: - avoid using irq_to_desc() and use irq_get_irq_data() instead - re-order patches to avoid linking failure for irq-brcmstb-l2 - removed the use of .irq_cpu_offline() and converted BMIPS to use irq_migrate_all_off_this_cpu() - avoid exporting of_irq_count() and use a platform device passed down from the irqchip platform driver registration code instead - added kernel-doc fix Florian Fainelli (13): MIPS: BMIPS: Remove use of irq_cpu_offline irqchip/irq-bcm7038-l1: Remove .irq_cpu_offline() irqchip/irq-bcm7038-l1: Use irq_get_irq_data() irqchip/irq-bcm7038-l1: Gate use of CPU logical map to MIPS irqchip/irq-bcm7038-l1: Restrict affinity setting to MIPS irqchip/irq-bcm7038-l1: Switch to IRQCHIP_PLATFORM_DRIVER genirq: Export irq_gc_{unmask_enable,mask_disable}_reg irqchip/irq-brcmstb-l2: Switch to IRQCHIP_PLATFORM_DRIVER genirq: Export irq_gc_noop() irqchip/irq-bcm7120-l2: Switch to IRQCHIP_PLATFORM_DRIVER arm64: broadcom: Removed forced select of interrupt controllers ARM: bcm: Removed forced select of interrupt controllers irqchip: Fix kernel-doc parameter typo for IRQCHIP_DECLARE arch/arm/mach-bcm/Kconfig | 4 --- arch/arm64/Kconfig.platforms | 3 -- arch/mips/Kconfig | 1 + arch/mips/kernel/smp-bmips.c | 3 +- drivers/irqchip/Kconfig | 12 ++++++-- drivers/irqchip/irq-bcm7038-l1.c | 47 ++++++++------------------------ drivers/irqchip/irq-bcm7120-l2.c | 21 ++++++++++---- drivers/irqchip/irq-brcmstb-l2.c | 16 ++++++----- include/linux/irqchip.h | 2 +- kernel/irq/generic-chip.c | 3 ++ 10 files changed, 51 insertions(+), 61 deletions(-)