Received: by 2002:a05:6a10:a841:0:0:0:0 with SMTP id d1csp4456410pxy; Tue, 27 Apr 2021 05:38:45 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwH7C7lpTRZYWx9LxHg33/LmHI2680f4bLtNkHsspMpvCWSt50gFbeCfkEWcqceiEg10mgc X-Received: by 2002:a17:906:cb11:: with SMTP id lk17mr23380307ejb.517.1619527125458; Tue, 27 Apr 2021 05:38:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1619527125; cv=none; d=google.com; s=arc-20160816; b=ZPHSbioft6PbQPnC19Y/l5x0vL0Yl0pvD/XFlTcj+c/P1ZMtsNW+/Fb68/q+5pGmf9 vIj+Gm3S/pB9ydAcBldoQq0ZLNaWlAmbZzuJEm7wrMwSgWZ+iAam5NkASruHCPnNn/52 L/yilWMogf1CViekSbZuPg3C568Yj2hqV1PtUEiFzl98qjUGo65zlmJqpgLULPxTKxqB uSpNulV0quwlYFcQ78yhq9Q3Fn6c0CTUGcugkBf/dRHNmCO7NouGpfXyE45VVOKdwI5X mbTPdDcKo6gxG4SI5v4lN2ZvVr7/eRtbaQ3aI/Q6zvneN4TXFGJvJLLkBeRdR0zGEQKw g96A== 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:references:in-reply-to :subject:cc:to:from:message-id:date; bh=eewqrxAb9z7xz+AKZlBugkPfj6oaIBpt3D7qXOCuHE4=; b=WSzVGVwnJqkEVIbnmfnQxhrOJczQjjhCi1tW4V2LIyYranewP6tQClISP+g+N11i3A eejSTiJC31HLG13x3bSoYGeCSNthGcNVJcSHZN4NxCDoDCGFPW2tOe1/gSoYh/3K+z2s IIIW2R79BnVGod9D2JDQF3d1nL8xDU/ivWwv1q6zBffIPDuNrhcJAFtZDA/xa0UjLmLA G24e9+VZo9qGfE73rXUjygdLloUlhYCkVFdrEcmvGUSiOnJIOZ1bkLKDIG4SS+EODS0+ mHV1kkpbqoV/zJt5ACU70CT28Dzvi9XlV1s1qnf6NDic4lctbk8VpDMikd+g4rGQSObR W+8w== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id x9si16274477ejv.362.2021.04.27.05.38.22; Tue, 27 Apr 2021 05:38:45 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236075AbhD0Mf4 (ORCPT + 99 others); Tue, 27 Apr 2021 08:35:56 -0400 Received: from mail.kernel.org ([198.145.29.99]:52418 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235410AbhD0Mf4 (ORCPT ); Tue, 27 Apr 2021 08:35:56 -0400 Received: from disco-boy.misterjones.org (disco-boy.misterjones.org [51.254.78.96]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 16CF9613C1; Tue, 27 Apr 2021 12:35:13 +0000 (UTC) Received: from 78.163-31-62.static.virginmediabusiness.co.uk ([62.31.163.78] helo=why.misterjones.org) by disco-boy.misterjones.org with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94) (envelope-from ) id 1lbMvm-009g6L-VJ; Tue, 27 Apr 2021 13:35:11 +0100 Date: Tue, 27 Apr 2021 13:35:10 +0100 Message-ID: <87lf93oqgx.wl-maz@kernel.org> From: Marc Zyngier To: Anirudha Sarangi Cc: Thomas Gleixner , Michal Simek , Valentin Schneider , Douglas Anderson , Hans de Goede , Maulik Shah , Zhen Lei , , , Rob Herring , Frank Rowand , , Subject: Re: [PATCH 2/3] irqchip: Add support to remove irqchip driver modules. In-Reply-To: <20210427113136.12469-3-anirudha.sarangi@xilinx.com> References: <20210427113136.12469-1-anirudha.sarangi@xilinx.com> <20210427113136.12469-3-anirudha.sarangi@xilinx.com> User-Agent: Wanderlust/2.15.9 (Almost Unreal) SEMI-EPG/1.14.7 (Harue) FLIM-LB/1.14.9 (=?UTF-8?B?R29qxY0=?=) APEL-LB/10.8 EasyPG/1.0.0 Emacs/27.1 (x86_64-pc-linux-gnu) MULE/6.0 (HANACHIRUSATO) MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Content-Type: text/plain; charset=US-ASCII X-SA-Exim-Connect-IP: 62.31.163.78 X-SA-Exim-Rcpt-To: anirudha.sarangi@xilinx.com, tglx@linutronix.de, michal.simek@xilinx.com, valentin.schneider@arm.com, dianders@chromium.org, hdegoede@redhat.com, mkshah@codeaurora.org, thunder.leizhen@huawei.com, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, robh+dt@kernel.org, frowand.list@gmail.com, devicetree@vger.kernel.org, git@xilinx.com X-SA-Exim-Mail-From: maz@kernel.org X-SA-Exim-Scanned: No (on disco-boy.misterjones.org); SAEximRunCond expanded to false Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, 27 Apr 2021 12:31:35 +0100, Anirudha Sarangi wrote: > > The existing irqchip implementation does not fully support use cases > where an irqchip driver has to be used as a module. In particular there > is no support to remove an irqchip driver module. > The use cases where an irqchip driver has to be loaded and then removed > as a module are really relevant in fpga world. A user can decide to > have a irqchip as part of a removable partial fpga region. In such cases > not only the corresponding irqchip driver has to be loaded as a module, > but must also be removed when the removable partial region is removed. > > The existing implementation updates the existing framework to achieve > the above said goal. > > Signed-off-by: Anirudha Sarangi There is absolutely no way we can entertain the removal of an interrupt controller based on *this*. What happen to the irqdesc structures? What happen when a client driver decides to do a disable_irq(), or any other interaction with the interrupt controller that now has dangling pointers everywhere (if your third patch is supposed to be an example of how to use this functionality)? So no, you can't do that until you figure out all the dependencies that need to be accounted for to safely remove an interrupt controller. M. -- Without deviation from the norm, progress is not possible.