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 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 smtp.lore.kernel.org (Postfix) with ESMTPS id 132CAC433EF for ; Tue, 5 Apr 2022 09:45:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:Content-Type: List-Subscribe:List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id: MIME-Version:References:In-Reply-To:Message-ID:Subject:Cc:To:From:Date: Reply-To:Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date :Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=+Hgfo+EKR617UzXVkhEH/oWEZpMyN25n0pK8DIWSlA4=; b=Fc3Bh7LILbS8kPxK/lDhKGmIpQ NWAhRUJJrfCEufIv0qc7bREPjQjRHb6uyM8sHifNfuVHFLWqPCanzJqKjznQzGkRTP0O934tPEcZt jVleaPJqgbDeSPU+3PDmR3sucLPuqVkTob5ji1QM+njHR6g51p+NRQKtWpcjWWK65g5Pbq2SA2xSd OfT1TsOYnu5yADJ2AaOjAVZFmMc1DpF2zoSzVAdn7O1qlul5p63NsK9ywzabMojpkktERsim9jW3A SdKrnJ5jXDSCJRJWSsqG8u4GhAH4s5qUhHsuLrhpOSRrTkfO1odFSl+eTuMwAnoHAuIplB70OQt0y hwcpjLjQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nbfis-000VuL-AS; Tue, 05 Apr 2022 09:43:38 +0000 Received: from phobos.denx.de ([2a01:238:438b:c500:173d:9f52:ddab:ee01]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nbfiK-000Vfm-Im for linux-arm-kernel@lists.infradead.org; Tue, 05 Apr 2022 09:43:07 +0000 Received: from ktm (85-222-111-42.dynamic.chello.pl [85.222.111.42]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: lukma@denx.de) by phobos.denx.de (Postfix) with ESMTPSA id 425BF83AEF; Tue, 5 Apr 2022 11:42:59 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=denx.de; s=phobos-20191101; t=1649151780; bh=dixxNpypPVsrmhYjsGTnVj0V4vyqiddS+avaCICiwsk=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=oVnMd9Tit1+ICT6sscqUC1DhD6fEE34RdJXUpbKngv8WOU0rg6xyIQ0q6Ao9npGi4 tn94SaQxTdOIqyea09+TlL1SgPIFQ+wfXblS1785Zsw0Aaezftmag6MBBRO+XwS3Oo GZNMx2WLIpiSJDk05wNW8naILFBjEghi2O5qiyssUIuWRvXKQpXY5Qs3d0g628rSFs pSTpN0DAAUNL/5JFsnUAjbrCVzN++575NmRWK3YLGyw25zDeZnsIL+76eLgZ4V7/zm D4utiElMDhUUEqee71gh/k7yu9/hfsCHUim0teBeTamcUASnzSW/7M7kfF+SlYDsY9 CPsocQSMww0BA== Date: Tue, 5 Apr 2022 11:42:58 +0200 From: Lukasz Majewski To: Arnd Bergmann Cc: Arnd Bergmann , Russell King , Hartley Sweeten , Alexander Sverdlin , Hubert Feurstein , Krzysztof Kozlowski , Alim Akhtar , Linus Walleij , Imre Kaloz , Krzysztof Halasa , Andrew Lunn , Gregory Clement , Sebastian Hesselbarth , Simtec Linux Team , Liviu Dudau , Sudeep Holla , Lorenzo Pieralisi , Ard Biesheuvel , Stephen Boyd , Geert Uytterhoeven , linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, patches@opensource.cirrus.com Subject: Re: [PATCH 03/12] ARM: ep93xx: enable SPARSE_IRQ Message-ID: <20220405114258.1ee218d6@ktm> In-Reply-To: <20220405091750.3076973-4-arnd@kernel.org> References: <20220405091750.3076973-1-arnd@kernel.org> <20220405091750.3076973-4-arnd@kernel.org> Organization: denx.de X-Mailer: Claws Mail 3.18.0 (GTK+ 2.24.32; x86_64-pc-linux-gnu) MIME-Version: 1.0 X-Virus-Scanned: clamav-milter 0.103.5 at phobos.denx.de X-Virus-Status: Clean X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220405_024304_957566_C2941E18 X-CRM114-Status: GOOD ( 27.67 ) 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: , Content-Type: multipart/mixed; boundary="===============3408787555083445591==" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org --===============3408787555083445591== Content-Type: multipart/signed; micalg=pgp-sha512; boundary="Sig_/efY+hmlk8r0DJR4I.DiqSlM"; protocol="application/pgp-signature" --Sig_/efY+hmlk8r0DJR4I.DiqSlM Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable On Tue, 5 Apr 2022 11:17:41 +0200 Arnd Bergmann wrote: > From: Arnd Bergmann >=20 > Without CONFIG_SPARSE_IRQ, we rely on mach/irqs.h to define NR_IRQS > globally. Do the minimal conversion by setting .nr_irqs in each > machine descriptor. >=20 > Only the vision_ep9307 machine has extra IRQs for GPIOs, so make > .nr_irqs the original value there, while using the plain > NR_EP93XX_IRQS everywhere else. >=20 > Cc: Hartley Sweeten > Cc: Hubert Feurstein > Cc: Lukasz Majewski > Tested-by: Alexander Sverdlin > Signed-off-by: Arnd Bergmann > --- > arch/arm/Kconfig | 2 ++ > arch/arm/mach-ep93xx/adssphere.c | 1 + > arch/arm/mach-ep93xx/core.c | 1 + > arch/arm/mach-ep93xx/edb93xx.c | 8 ++++++++ > arch/arm/mach-ep93xx/gesbc9312.c | 1 + > arch/arm/mach-ep93xx/{include/mach =3D> }/irqs.h | 7 ------- > arch/arm/mach-ep93xx/micro9.c | 4 ++++ > arch/arm/mach-ep93xx/simone.c | 1 + > arch/arm/mach-ep93xx/snappercl15.c | 1 + > arch/arm/mach-ep93xx/soc.h | 1 + > arch/arm/mach-ep93xx/ts72xx.c | 3 ++- > arch/arm/mach-ep93xx/vision_ep9307.c | 1 + > 12 files changed, 23 insertions(+), 8 deletions(-) > rename arch/arm/mach-ep93xx/{include/mach =3D> }/irqs.h (96%) >=20 > diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig > index 31f024e6e925..5177e54cc14c 100644 > --- a/arch/arm/Kconfig > +++ b/arch/arm/Kconfig > @@ -358,6 +358,8 @@ config ARCH_EP93XX > select CPU_ARM920T > select GPIOLIB > select COMMON_CLK > + select IRQ_DOMAIN > + select SPARSE_IRQ > help > This enables support for the Cirrus EP93xx series of CPUs. > =20 > diff --git a/arch/arm/mach-ep93xx/adssphere.c > b/arch/arm/mach-ep93xx/adssphere.c index 8d5e349a7a6d..0c48d3c5b8e7 > 100644 --- a/arch/arm/mach-ep93xx/adssphere.c > +++ b/arch/arm/mach-ep93xx/adssphere.c > @@ -32,6 +32,7 @@ static void __init adssphere_init_machine(void) > MACHINE_START(ADSSPHERE, "ADS Sphere board") > /* Maintainer: Lennert Buytenhek */ > .atag_offset =3D 0x100, > + .nr_irqs =3D NR_EP93XX_IRQS, > .map_io =3D ep93xx_map_io, > .init_irq =3D ep93xx_init_irq, > .init_time =3D ep93xx_timer_init, > diff --git a/arch/arm/mach-ep93xx/core.c b/arch/arm/mach-ep93xx/core.c > index e4569a5acc3f..2d58e273c96d 100644 > --- a/arch/arm/mach-ep93xx/core.c > +++ b/arch/arm/mach-ep93xx/core.c > @@ -47,6 +47,7 @@ > #include > =20 > #include "soc.h" > +#include "irqs.h" > =20 > /***********************************************************************= ** > * Static I/O mappings that are needed for all EP93xx platforms > diff --git a/arch/arm/mach-ep93xx/edb93xx.c > b/arch/arm/mach-ep93xx/edb93xx.c index af0e22471ebd..4b90899a66e9 > 100644 --- a/arch/arm/mach-ep93xx/edb93xx.c > +++ b/arch/arm/mach-ep93xx/edb93xx.c > @@ -243,6 +243,7 @@ static void __init edb93xx_init_machine(void) > MACHINE_START(EDB9301, "Cirrus Logic EDB9301 Evaluation Board") > /* Maintainer: H Hartley Sweeten > */ .atag_offset =3D 0x100, > + .nr_irqs =3D NR_EP93XX_IRQS, > .map_io =3D ep93xx_map_io, > .init_irq =3D ep93xx_init_irq, > .init_time =3D ep93xx_timer_init, > @@ -255,6 +256,7 @@ MACHINE_END > MACHINE_START(EDB9302, "Cirrus Logic EDB9302 Evaluation Board") > /* Maintainer: George Kashperko */ > .atag_offset =3D 0x100, > + .nr_irqs =3D NR_EP93XX_IRQS, > .map_io =3D ep93xx_map_io, > .init_irq =3D ep93xx_init_irq, > .init_time =3D ep93xx_timer_init, > @@ -267,6 +269,7 @@ MACHINE_END > MACHINE_START(EDB9302A, "Cirrus Logic EDB9302A Evaluation Board") > /* Maintainer: Lennert Buytenhek */ > .atag_offset =3D 0x100, > + .nr_irqs =3D NR_EP93XX_IRQS, > .map_io =3D ep93xx_map_io, > .init_irq =3D ep93xx_init_irq, > .init_time =3D ep93xx_timer_init, > @@ -279,6 +282,7 @@ MACHINE_END > MACHINE_START(EDB9307, "Cirrus Logic EDB9307 Evaluation Board") > /* Maintainer: Herbert Valerio Riedel */ > .atag_offset =3D 0x100, > + .nr_irqs =3D NR_EP93XX_IRQS, > .map_io =3D ep93xx_map_io, > .init_irq =3D ep93xx_init_irq, > .init_time =3D ep93xx_timer_init, > @@ -291,6 +295,7 @@ MACHINE_END > MACHINE_START(EDB9307A, "Cirrus Logic EDB9307A Evaluation Board") > /* Maintainer: H Hartley Sweeten > */ .atag_offset =3D 0x100, > + .nr_irqs =3D NR_EP93XX_IRQS, > .map_io =3D ep93xx_map_io, > .init_irq =3D ep93xx_init_irq, > .init_time =3D ep93xx_timer_init, > @@ -303,6 +308,7 @@ MACHINE_END > MACHINE_START(EDB9312, "Cirrus Logic EDB9312 Evaluation Board") > /* Maintainer: Toufeeq Hussain > */ .atag_offset =3D 0x100, > + .nr_irqs =3D NR_EP93XX_IRQS, > .map_io =3D ep93xx_map_io, > .init_irq =3D ep93xx_init_irq, > .init_time =3D ep93xx_timer_init, > @@ -315,6 +321,7 @@ MACHINE_END > MACHINE_START(EDB9315, "Cirrus Logic EDB9315 Evaluation Board") > /* Maintainer: Lennert Buytenhek */ > .atag_offset =3D 0x100, > + .nr_irqs =3D NR_EP93XX_IRQS, > .map_io =3D ep93xx_map_io, > .init_irq =3D ep93xx_init_irq, > .init_time =3D ep93xx_timer_init, > @@ -327,6 +334,7 @@ MACHINE_END > MACHINE_START(EDB9315A, "Cirrus Logic EDB9315A Evaluation Board") > /* Maintainer: Lennert Buytenhek */ > .atag_offset =3D 0x100, > + .nr_irqs =3D NR_EP93XX_IRQS, > .map_io =3D ep93xx_map_io, > .init_irq =3D ep93xx_init_irq, > .init_time =3D ep93xx_timer_init, > diff --git a/arch/arm/mach-ep93xx/gesbc9312.c > b/arch/arm/mach-ep93xx/gesbc9312.c index d7f9890321eb..0b7043e3e178 > 100644 --- a/arch/arm/mach-ep93xx/gesbc9312.c > +++ b/arch/arm/mach-ep93xx/gesbc9312.c > @@ -32,6 +32,7 @@ static void __init gesbc9312_init_machine(void) > MACHINE_START(GESBC9312, "Glomation GESBC-9312-sx") > /* Maintainer: Lennert Buytenhek */ > .atag_offset =3D 0x100, > + .nr_irqs =3D NR_EP93XX_IRQS, > .map_io =3D ep93xx_map_io, > .init_irq =3D ep93xx_init_irq, > .init_time =3D ep93xx_timer_init, > diff --git a/arch/arm/mach-ep93xx/include/mach/irqs.h > b/arch/arm/mach-ep93xx/irqs.h similarity index 96% > rename from arch/arm/mach-ep93xx/include/mach/irqs.h > rename to arch/arm/mach-ep93xx/irqs.h > index 60c69c4ed7e1..353201b90c66 100644 > --- a/arch/arm/mach-ep93xx/include/mach/irqs.h > +++ b/arch/arm/mach-ep93xx/irqs.h > @@ -1,8 +1,4 @@ > /* SPDX-License-Identifier: GPL-2.0 */ > -/* > - * arch/arm/mach-ep93xx/include/mach/irqs.h > - */ > - > #ifndef __ASM_ARCH_IRQS_H > #define __ASM_ARCH_IRQS_H > =20 > @@ -77,7 +73,4 @@ > #define EP93XX_BOARD_IRQ(x) (NR_EP93XX_IRQS + (x)) > #define EP93XX_BOARD_IRQS 32 > =20 > -#define NR_IRQS (NR_EP93XX_IRQS + > EP93XX_BOARD_IRQS) - > - > #endif > diff --git a/arch/arm/mach-ep93xx/micro9.c > b/arch/arm/mach-ep93xx/micro9.c index e6ead8ded6ee..c121c459aa17 > 100644 --- a/arch/arm/mach-ep93xx/micro9.c > +++ b/arch/arm/mach-ep93xx/micro9.c > @@ -76,6 +76,7 @@ static void __init micro9_init_machine(void) > MACHINE_START(MICRO9, "Contec Micro9-High") > /* Maintainer: Hubert Feurstein > */ .atag_offset =3D 0x100, > + .nr_irqs =3D NR_EP93XX_IRQS, > .map_io =3D ep93xx_map_io, > .init_irq =3D ep93xx_init_irq, > .init_time =3D ep93xx_timer_init, > @@ -88,6 +89,7 @@ MACHINE_END > MACHINE_START(MICRO9M, "Contec Micro9-Mid") > /* Maintainer: Hubert Feurstein > */ .atag_offset =3D 0x100, > + .nr_irqs =3D NR_EP93XX_IRQS, > .map_io =3D ep93xx_map_io, > .init_irq =3D ep93xx_init_irq, > .init_time =3D ep93xx_timer_init, > @@ -100,6 +102,7 @@ MACHINE_END > MACHINE_START(MICRO9L, "Contec Micro9-Lite") > /* Maintainer: Hubert Feurstein > */ .atag_offset =3D 0x100, > + .nr_irqs =3D NR_EP93XX_IRQS, > .map_io =3D ep93xx_map_io, > .init_irq =3D ep93xx_init_irq, > .init_time =3D ep93xx_timer_init, > @@ -112,6 +115,7 @@ MACHINE_END > MACHINE_START(MICRO9S, "Contec Micro9-Slim") > /* Maintainer: Hubert Feurstein > */ .atag_offset =3D 0x100, > + .nr_irqs =3D NR_EP93XX_IRQS, > .map_io =3D ep93xx_map_io, > .init_irq =3D ep93xx_init_irq, > .init_time =3D ep93xx_timer_init, > diff --git a/arch/arm/mach-ep93xx/simone.c > b/arch/arm/mach-ep93xx/simone.c index 5291053023b2..569e72413561 > 100644 --- a/arch/arm/mach-ep93xx/simone.c > +++ b/arch/arm/mach-ep93xx/simone.c > @@ -119,6 +119,7 @@ static void __init simone_init_machine(void) > MACHINE_START(SIM_ONE, "Simplemachines Sim.One Board") > /* Maintainer: Ryan Mallon */ > .atag_offset =3D 0x100, > + .nr_irqs =3D NR_EP93XX_IRQS, > .map_io =3D ep93xx_map_io, > .init_irq =3D ep93xx_init_irq, > .init_time =3D ep93xx_timer_init, > diff --git a/arch/arm/mach-ep93xx/snappercl15.c > b/arch/arm/mach-ep93xx/snappercl15.c index e200d69471e9..1dfb725671b1 > 100644 --- a/arch/arm/mach-ep93xx/snappercl15.c > +++ b/arch/arm/mach-ep93xx/snappercl15.c > @@ -153,6 +153,7 @@ static void __init snappercl15_init_machine(void) > MACHINE_START(SNAPPER_CL15, "Bluewater Systems Snapper CL15") > /* Maintainer: Ryan Mallon */ > .atag_offset =3D 0x100, > + .nr_irqs =3D NR_EP93XX_IRQS, > .map_io =3D ep93xx_map_io, > .init_irq =3D ep93xx_init_irq, > .init_time =3D ep93xx_timer_init, > diff --git a/arch/arm/mach-ep93xx/soc.h b/arch/arm/mach-ep93xx/soc.h > index 94ef7f275f94..f0986e288d19 100644 > --- a/arch/arm/mach-ep93xx/soc.h > +++ b/arch/arm/mach-ep93xx/soc.h > @@ -10,6 +10,7 @@ > #define _EP93XX_SOC_H > =20 > #include > +#include "irqs.h" > =20 > /* > * EP93xx Physical Memory Map: > diff --git a/arch/arm/mach-ep93xx/ts72xx.c > b/arch/arm/mach-ep93xx/ts72xx.c index 12eff8c8074d..e70bac011407 > 100644 --- a/arch/arm/mach-ep93xx/ts72xx.c > +++ b/arch/arm/mach-ep93xx/ts72xx.c > @@ -22,7 +22,6 @@ > =20 > #include "gpio-ep93xx.h" > #include "hardware.h" > -#include > =20 > #include > #include > @@ -350,6 +349,7 @@ static void __init ts72xx_init_machine(void) > MACHINE_START(TS72XX, "Technologic Systems TS-72xx SBC") > /* Maintainer: Lennert Buytenhek */ > .atag_offset =3D 0x100, > + .nr_irqs =3D NR_EP93XX_IRQS, > .map_io =3D ts72xx_map_io, > .init_irq =3D ep93xx_init_irq, > .init_time =3D ep93xx_timer_init, > @@ -413,6 +413,7 @@ static void __init bk3_init_machine(void) > MACHINE_START(BK3, "Liebherr controller BK3.1") > /* Maintainer: Lukasz Majewski */ > .atag_offset =3D 0x100, > + .nr_irqs =3D NR_EP93XX_IRQS, > .map_io =3D ts72xx_map_io, > .init_irq =3D ep93xx_init_irq, > .init_time =3D ep93xx_timer_init, > diff --git a/arch/arm/mach-ep93xx/vision_ep9307.c > b/arch/arm/mach-ep93xx/vision_ep9307.c index > e46281e60bf7..30d9cf3791eb 100644 --- > a/arch/arm/mach-ep93xx/vision_ep9307.c +++ > b/arch/arm/mach-ep93xx/vision_ep9307.c @@ -302,6 +302,7 @@ static > void __init vision_init_machine(void) MACHINE_START(VISION_EP9307, > "Vision Engraving Systems EP9307") /* Maintainer: H Hartley Sweeten > */ .atag_offset =3D 0x100, > + .nr_irqs =3D NR_EP93XX_IRQS + EP93XX_BOARD_IRQS, > .map_io =3D vision_map_io, > .init_irq =3D ep93xx_init_irq, > .init_time =3D ep93xx_timer_init, Reviewed-by: Lukasz Majewski Best regards, Lukasz Majewski -- DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lukma@denx.de --Sig_/efY+hmlk8r0DJR4I.DiqSlM Content-Type: application/pgp-signature Content-Description: OpenPGP digital signature -----BEGIN PGP SIGNATURE----- iQEzBAEBCgAdFiEEgAyFJ+N6uu6+XupJAR8vZIA0zr0FAmJMDyIACgkQAR8vZIA0 zr1prQf+LM4SDlQ/ElhqNkQip7bPDlrhgAJmbSMYaNSDX+cwZONwnlG1y029+V35 pMXY5CtE17krFdsgKcsPwZawe3oOB7rUKdHp/y1uHCT10dfrz3NIl+InCBVUVaZr I8tKtsLQ0UkAmVGvgtBe//i/jsvjNA53g4dROFx3I45sg5+0JuFd/GEeaMPT0udh fFXc2sPkiExjJ0+6zpz8Jt5E5ooSB9nwhCJvUclc8P3TK7TniE77xPOUXM+u3mLJ 0JVoWajmNroiX8bI/gdFrBbrMLRct7qLHNNG+SBvNHyukaA0PZA1kF0L2Xn57Z/a IJ/Zv/EzeEAwYj3VzBCEHOooOvueWg== =BySi -----END PGP SIGNATURE----- --Sig_/efY+hmlk8r0DJR4I.DiqSlM-- --===============3408787555083445591== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel --===============3408787555083445591==-- 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 Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 22D42C433F5 for ; Tue, 5 Apr 2022 22:09:19 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1391817AbiDEWIg (ORCPT ); Tue, 5 Apr 2022 18:08:36 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47428 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1349248AbiDEJt3 (ORCPT ); Tue, 5 Apr 2022 05:49:29 -0400 Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8AE5923154; Tue, 5 Apr 2022 02:43:03 -0700 (PDT) Received: from ktm (85-222-111-42.dynamic.chello.pl [85.222.111.42]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: lukma@denx.de) by phobos.denx.de (Postfix) with ESMTPSA id 425BF83AEF; Tue, 5 Apr 2022 11:42:59 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=denx.de; s=phobos-20191101; t=1649151780; bh=dixxNpypPVsrmhYjsGTnVj0V4vyqiddS+avaCICiwsk=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=oVnMd9Tit1+ICT6sscqUC1DhD6fEE34RdJXUpbKngv8WOU0rg6xyIQ0q6Ao9npGi4 tn94SaQxTdOIqyea09+TlL1SgPIFQ+wfXblS1785Zsw0Aaezftmag6MBBRO+XwS3Oo GZNMx2WLIpiSJDk05wNW8naILFBjEghi2O5qiyssUIuWRvXKQpXY5Qs3d0g628rSFs pSTpN0DAAUNL/5JFsnUAjbrCVzN++575NmRWK3YLGyw25zDeZnsIL+76eLgZ4V7/zm D4utiElMDhUUEqee71gh/k7yu9/hfsCHUim0teBeTamcUASnzSW/7M7kfF+SlYDsY9 CPsocQSMww0BA== Date: Tue, 5 Apr 2022 11:42:58 +0200 From: Lukasz Majewski To: Arnd Bergmann Cc: Arnd Bergmann , Russell King , Hartley Sweeten , Alexander Sverdlin , Hubert Feurstein , Krzysztof Kozlowski , Alim Akhtar , Linus Walleij , Imre Kaloz , Krzysztof Halasa , Andrew Lunn , Gregory Clement , Sebastian Hesselbarth , Simtec Linux Team , Liviu Dudau , Sudeep Holla , Lorenzo Pieralisi , Ard Biesheuvel , Stephen Boyd , Geert Uytterhoeven , linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, patches@opensource.cirrus.com Subject: Re: [PATCH 03/12] ARM: ep93xx: enable SPARSE_IRQ Message-ID: <20220405114258.1ee218d6@ktm> In-Reply-To: <20220405091750.3076973-4-arnd@kernel.org> References: <20220405091750.3076973-1-arnd@kernel.org> <20220405091750.3076973-4-arnd@kernel.org> Organization: denx.de X-Mailer: Claws Mail 3.18.0 (GTK+ 2.24.32; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; boundary="Sig_/efY+hmlk8r0DJR4I.DiqSlM"; protocol="application/pgp-signature" X-Virus-Scanned: clamav-milter 0.103.5 at phobos.denx.de X-Virus-Status: Clean Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --Sig_/efY+hmlk8r0DJR4I.DiqSlM Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable On Tue, 5 Apr 2022 11:17:41 +0200 Arnd Bergmann wrote: > From: Arnd Bergmann >=20 > Without CONFIG_SPARSE_IRQ, we rely on mach/irqs.h to define NR_IRQS > globally. Do the minimal conversion by setting .nr_irqs in each > machine descriptor. >=20 > Only the vision_ep9307 machine has extra IRQs for GPIOs, so make > .nr_irqs the original value there, while using the plain > NR_EP93XX_IRQS everywhere else. >=20 > Cc: Hartley Sweeten > Cc: Hubert Feurstein > Cc: Lukasz Majewski > Tested-by: Alexander Sverdlin > Signed-off-by: Arnd Bergmann > --- > arch/arm/Kconfig | 2 ++ > arch/arm/mach-ep93xx/adssphere.c | 1 + > arch/arm/mach-ep93xx/core.c | 1 + > arch/arm/mach-ep93xx/edb93xx.c | 8 ++++++++ > arch/arm/mach-ep93xx/gesbc9312.c | 1 + > arch/arm/mach-ep93xx/{include/mach =3D> }/irqs.h | 7 ------- > arch/arm/mach-ep93xx/micro9.c | 4 ++++ > arch/arm/mach-ep93xx/simone.c | 1 + > arch/arm/mach-ep93xx/snappercl15.c | 1 + > arch/arm/mach-ep93xx/soc.h | 1 + > arch/arm/mach-ep93xx/ts72xx.c | 3 ++- > arch/arm/mach-ep93xx/vision_ep9307.c | 1 + > 12 files changed, 23 insertions(+), 8 deletions(-) > rename arch/arm/mach-ep93xx/{include/mach =3D> }/irqs.h (96%) >=20 > diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig > index 31f024e6e925..5177e54cc14c 100644 > --- a/arch/arm/Kconfig > +++ b/arch/arm/Kconfig > @@ -358,6 +358,8 @@ config ARCH_EP93XX > select CPU_ARM920T > select GPIOLIB > select COMMON_CLK > + select IRQ_DOMAIN > + select SPARSE_IRQ > help > This enables support for the Cirrus EP93xx series of CPUs. > =20 > diff --git a/arch/arm/mach-ep93xx/adssphere.c > b/arch/arm/mach-ep93xx/adssphere.c index 8d5e349a7a6d..0c48d3c5b8e7 > 100644 --- a/arch/arm/mach-ep93xx/adssphere.c > +++ b/arch/arm/mach-ep93xx/adssphere.c > @@ -32,6 +32,7 @@ static void __init adssphere_init_machine(void) > MACHINE_START(ADSSPHERE, "ADS Sphere board") > /* Maintainer: Lennert Buytenhek */ > .atag_offset =3D 0x100, > + .nr_irqs =3D NR_EP93XX_IRQS, > .map_io =3D ep93xx_map_io, > .init_irq =3D ep93xx_init_irq, > .init_time =3D ep93xx_timer_init, > diff --git a/arch/arm/mach-ep93xx/core.c b/arch/arm/mach-ep93xx/core.c > index e4569a5acc3f..2d58e273c96d 100644 > --- a/arch/arm/mach-ep93xx/core.c > +++ b/arch/arm/mach-ep93xx/core.c > @@ -47,6 +47,7 @@ > #include > =20 > #include "soc.h" > +#include "irqs.h" > =20 > /***********************************************************************= ** > * Static I/O mappings that are needed for all EP93xx platforms > diff --git a/arch/arm/mach-ep93xx/edb93xx.c > b/arch/arm/mach-ep93xx/edb93xx.c index af0e22471ebd..4b90899a66e9 > 100644 --- a/arch/arm/mach-ep93xx/edb93xx.c > +++ b/arch/arm/mach-ep93xx/edb93xx.c > @@ -243,6 +243,7 @@ static void __init edb93xx_init_machine(void) > MACHINE_START(EDB9301, "Cirrus Logic EDB9301 Evaluation Board") > /* Maintainer: H Hartley Sweeten > */ .atag_offset =3D 0x100, > + .nr_irqs =3D NR_EP93XX_IRQS, > .map_io =3D ep93xx_map_io, > .init_irq =3D ep93xx_init_irq, > .init_time =3D ep93xx_timer_init, > @@ -255,6 +256,7 @@ MACHINE_END > MACHINE_START(EDB9302, "Cirrus Logic EDB9302 Evaluation Board") > /* Maintainer: George Kashperko */ > .atag_offset =3D 0x100, > + .nr_irqs =3D NR_EP93XX_IRQS, > .map_io =3D ep93xx_map_io, > .init_irq =3D ep93xx_init_irq, > .init_time =3D ep93xx_timer_init, > @@ -267,6 +269,7 @@ MACHINE_END > MACHINE_START(EDB9302A, "Cirrus Logic EDB9302A Evaluation Board") > /* Maintainer: Lennert Buytenhek */ > .atag_offset =3D 0x100, > + .nr_irqs =3D NR_EP93XX_IRQS, > .map_io =3D ep93xx_map_io, > .init_irq =3D ep93xx_init_irq, > .init_time =3D ep93xx_timer_init, > @@ -279,6 +282,7 @@ MACHINE_END > MACHINE_START(EDB9307, "Cirrus Logic EDB9307 Evaluation Board") > /* Maintainer: Herbert Valerio Riedel */ > .atag_offset =3D 0x100, > + .nr_irqs =3D NR_EP93XX_IRQS, > .map_io =3D ep93xx_map_io, > .init_irq =3D ep93xx_init_irq, > .init_time =3D ep93xx_timer_init, > @@ -291,6 +295,7 @@ MACHINE_END > MACHINE_START(EDB9307A, "Cirrus Logic EDB9307A Evaluation Board") > /* Maintainer: H Hartley Sweeten > */ .atag_offset =3D 0x100, > + .nr_irqs =3D NR_EP93XX_IRQS, > .map_io =3D ep93xx_map_io, > .init_irq =3D ep93xx_init_irq, > .init_time =3D ep93xx_timer_init, > @@ -303,6 +308,7 @@ MACHINE_END > MACHINE_START(EDB9312, "Cirrus Logic EDB9312 Evaluation Board") > /* Maintainer: Toufeeq Hussain > */ .atag_offset =3D 0x100, > + .nr_irqs =3D NR_EP93XX_IRQS, > .map_io =3D ep93xx_map_io, > .init_irq =3D ep93xx_init_irq, > .init_time =3D ep93xx_timer_init, > @@ -315,6 +321,7 @@ MACHINE_END > MACHINE_START(EDB9315, "Cirrus Logic EDB9315 Evaluation Board") > /* Maintainer: Lennert Buytenhek */ > .atag_offset =3D 0x100, > + .nr_irqs =3D NR_EP93XX_IRQS, > .map_io =3D ep93xx_map_io, > .init_irq =3D ep93xx_init_irq, > .init_time =3D ep93xx_timer_init, > @@ -327,6 +334,7 @@ MACHINE_END > MACHINE_START(EDB9315A, "Cirrus Logic EDB9315A Evaluation Board") > /* Maintainer: Lennert Buytenhek */ > .atag_offset =3D 0x100, > + .nr_irqs =3D NR_EP93XX_IRQS, > .map_io =3D ep93xx_map_io, > .init_irq =3D ep93xx_init_irq, > .init_time =3D ep93xx_timer_init, > diff --git a/arch/arm/mach-ep93xx/gesbc9312.c > b/arch/arm/mach-ep93xx/gesbc9312.c index d7f9890321eb..0b7043e3e178 > 100644 --- a/arch/arm/mach-ep93xx/gesbc9312.c > +++ b/arch/arm/mach-ep93xx/gesbc9312.c > @@ -32,6 +32,7 @@ static void __init gesbc9312_init_machine(void) > MACHINE_START(GESBC9312, "Glomation GESBC-9312-sx") > /* Maintainer: Lennert Buytenhek */ > .atag_offset =3D 0x100, > + .nr_irqs =3D NR_EP93XX_IRQS, > .map_io =3D ep93xx_map_io, > .init_irq =3D ep93xx_init_irq, > .init_time =3D ep93xx_timer_init, > diff --git a/arch/arm/mach-ep93xx/include/mach/irqs.h > b/arch/arm/mach-ep93xx/irqs.h similarity index 96% > rename from arch/arm/mach-ep93xx/include/mach/irqs.h > rename to arch/arm/mach-ep93xx/irqs.h > index 60c69c4ed7e1..353201b90c66 100644 > --- a/arch/arm/mach-ep93xx/include/mach/irqs.h > +++ b/arch/arm/mach-ep93xx/irqs.h > @@ -1,8 +1,4 @@ > /* SPDX-License-Identifier: GPL-2.0 */ > -/* > - * arch/arm/mach-ep93xx/include/mach/irqs.h > - */ > - > #ifndef __ASM_ARCH_IRQS_H > #define __ASM_ARCH_IRQS_H > =20 > @@ -77,7 +73,4 @@ > #define EP93XX_BOARD_IRQ(x) (NR_EP93XX_IRQS + (x)) > #define EP93XX_BOARD_IRQS 32 > =20 > -#define NR_IRQS (NR_EP93XX_IRQS + > EP93XX_BOARD_IRQS) - > - > #endif > diff --git a/arch/arm/mach-ep93xx/micro9.c > b/arch/arm/mach-ep93xx/micro9.c index e6ead8ded6ee..c121c459aa17 > 100644 --- a/arch/arm/mach-ep93xx/micro9.c > +++ b/arch/arm/mach-ep93xx/micro9.c > @@ -76,6 +76,7 @@ static void __init micro9_init_machine(void) > MACHINE_START(MICRO9, "Contec Micro9-High") > /* Maintainer: Hubert Feurstein > */ .atag_offset =3D 0x100, > + .nr_irqs =3D NR_EP93XX_IRQS, > .map_io =3D ep93xx_map_io, > .init_irq =3D ep93xx_init_irq, > .init_time =3D ep93xx_timer_init, > @@ -88,6 +89,7 @@ MACHINE_END > MACHINE_START(MICRO9M, "Contec Micro9-Mid") > /* Maintainer: Hubert Feurstein > */ .atag_offset =3D 0x100, > + .nr_irqs =3D NR_EP93XX_IRQS, > .map_io =3D ep93xx_map_io, > .init_irq =3D ep93xx_init_irq, > .init_time =3D ep93xx_timer_init, > @@ -100,6 +102,7 @@ MACHINE_END > MACHINE_START(MICRO9L, "Contec Micro9-Lite") > /* Maintainer: Hubert Feurstein > */ .atag_offset =3D 0x100, > + .nr_irqs =3D NR_EP93XX_IRQS, > .map_io =3D ep93xx_map_io, > .init_irq =3D ep93xx_init_irq, > .init_time =3D ep93xx_timer_init, > @@ -112,6 +115,7 @@ MACHINE_END > MACHINE_START(MICRO9S, "Contec Micro9-Slim") > /* Maintainer: Hubert Feurstein > */ .atag_offset =3D 0x100, > + .nr_irqs =3D NR_EP93XX_IRQS, > .map_io =3D ep93xx_map_io, > .init_irq =3D ep93xx_init_irq, > .init_time =3D ep93xx_timer_init, > diff --git a/arch/arm/mach-ep93xx/simone.c > b/arch/arm/mach-ep93xx/simone.c index 5291053023b2..569e72413561 > 100644 --- a/arch/arm/mach-ep93xx/simone.c > +++ b/arch/arm/mach-ep93xx/simone.c > @@ -119,6 +119,7 @@ static void __init simone_init_machine(void) > MACHINE_START(SIM_ONE, "Simplemachines Sim.One Board") > /* Maintainer: Ryan Mallon */ > .atag_offset =3D 0x100, > + .nr_irqs =3D NR_EP93XX_IRQS, > .map_io =3D ep93xx_map_io, > .init_irq =3D ep93xx_init_irq, > .init_time =3D ep93xx_timer_init, > diff --git a/arch/arm/mach-ep93xx/snappercl15.c > b/arch/arm/mach-ep93xx/snappercl15.c index e200d69471e9..1dfb725671b1 > 100644 --- a/arch/arm/mach-ep93xx/snappercl15.c > +++ b/arch/arm/mach-ep93xx/snappercl15.c > @@ -153,6 +153,7 @@ static void __init snappercl15_init_machine(void) > MACHINE_START(SNAPPER_CL15, "Bluewater Systems Snapper CL15") > /* Maintainer: Ryan Mallon */ > .atag_offset =3D 0x100, > + .nr_irqs =3D NR_EP93XX_IRQS, > .map_io =3D ep93xx_map_io, > .init_irq =3D ep93xx_init_irq, > .init_time =3D ep93xx_timer_init, > diff --git a/arch/arm/mach-ep93xx/soc.h b/arch/arm/mach-ep93xx/soc.h > index 94ef7f275f94..f0986e288d19 100644 > --- a/arch/arm/mach-ep93xx/soc.h > +++ b/arch/arm/mach-ep93xx/soc.h > @@ -10,6 +10,7 @@ > #define _EP93XX_SOC_H > =20 > #include > +#include "irqs.h" > =20 > /* > * EP93xx Physical Memory Map: > diff --git a/arch/arm/mach-ep93xx/ts72xx.c > b/arch/arm/mach-ep93xx/ts72xx.c index 12eff8c8074d..e70bac011407 > 100644 --- a/arch/arm/mach-ep93xx/ts72xx.c > +++ b/arch/arm/mach-ep93xx/ts72xx.c > @@ -22,7 +22,6 @@ > =20 > #include "gpio-ep93xx.h" > #include "hardware.h" > -#include > =20 > #include > #include > @@ -350,6 +349,7 @@ static void __init ts72xx_init_machine(void) > MACHINE_START(TS72XX, "Technologic Systems TS-72xx SBC") > /* Maintainer: Lennert Buytenhek */ > .atag_offset =3D 0x100, > + .nr_irqs =3D NR_EP93XX_IRQS, > .map_io =3D ts72xx_map_io, > .init_irq =3D ep93xx_init_irq, > .init_time =3D ep93xx_timer_init, > @@ -413,6 +413,7 @@ static void __init bk3_init_machine(void) > MACHINE_START(BK3, "Liebherr controller BK3.1") > /* Maintainer: Lukasz Majewski */ > .atag_offset =3D 0x100, > + .nr_irqs =3D NR_EP93XX_IRQS, > .map_io =3D ts72xx_map_io, > .init_irq =3D ep93xx_init_irq, > .init_time =3D ep93xx_timer_init, > diff --git a/arch/arm/mach-ep93xx/vision_ep9307.c > b/arch/arm/mach-ep93xx/vision_ep9307.c index > e46281e60bf7..30d9cf3791eb 100644 --- > a/arch/arm/mach-ep93xx/vision_ep9307.c +++ > b/arch/arm/mach-ep93xx/vision_ep9307.c @@ -302,6 +302,7 @@ static > void __init vision_init_machine(void) MACHINE_START(VISION_EP9307, > "Vision Engraving Systems EP9307") /* Maintainer: H Hartley Sweeten > */ .atag_offset =3D 0x100, > + .nr_irqs =3D NR_EP93XX_IRQS + EP93XX_BOARD_IRQS, > .map_io =3D vision_map_io, > .init_irq =3D ep93xx_init_irq, > .init_time =3D ep93xx_timer_init, Reviewed-by: Lukasz Majewski Best regards, Lukasz Majewski -- DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lukma@denx.de --Sig_/efY+hmlk8r0DJR4I.DiqSlM Content-Type: application/pgp-signature Content-Description: OpenPGP digital signature -----BEGIN PGP SIGNATURE----- iQEzBAEBCgAdFiEEgAyFJ+N6uu6+XupJAR8vZIA0zr0FAmJMDyIACgkQAR8vZIA0 zr1prQf+LM4SDlQ/ElhqNkQip7bPDlrhgAJmbSMYaNSDX+cwZONwnlG1y029+V35 pMXY5CtE17krFdsgKcsPwZawe3oOB7rUKdHp/y1uHCT10dfrz3NIl+InCBVUVaZr I8tKtsLQ0UkAmVGvgtBe//i/jsvjNA53g4dROFx3I45sg5+0JuFd/GEeaMPT0udh fFXc2sPkiExjJ0+6zpz8Jt5E5ooSB9nwhCJvUclc8P3TK7TniE77xPOUXM+u3mLJ 0JVoWajmNroiX8bI/gdFrBbrMLRct7qLHNNG+SBvNHyukaA0PZA1kF0L2Xn57Z/a IJ/Zv/EzeEAwYj3VzBCEHOooOvueWg== =BySi -----END PGP SIGNATURE----- --Sig_/efY+hmlk8r0DJR4I.DiqSlM--