From patchwork Mon Nov 21 14:36:22 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Thomas Gleixner X-Patchwork-Id: 23792 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp1626367wrr; Mon, 21 Nov 2022 06:37:32 -0800 (PST) X-Google-Smtp-Source: AA0mqf6/BKAzOEMkxBmG5fBeo0s6pX/5iQVvHeKTiQoKr0TaKZMJp7MpWBL/xI+tpF26dkvGerJL X-Received: by 2002:a05:6a02:108:b0:46b:3acb:77ab with SMTP id bg8-20020a056a02010800b0046b3acb77abmr17952484pgb.359.1669041452036; Mon, 21 Nov 2022 06:37:32 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1669041452; cv=none; d=google.com; s=arc-20160816; b=M5uO7MWlfFjSOWPjubZtO/FZGxShdTFm0GMSjd19wyYQIXKy7Q0PnHpDWjHRyCB4Aw T73Lf0Wz1vAaiopicgj2lxlgPT+855tVSBvAq4rOWA1oc0pok+Y3cSXYc6ObjHojwZQd +2Jb8tWVERld9t6OnKT2WFET+1kWnesSzuXmRkU4/6TRzbD4gZgTAYPcde5A+8BXF54R b7IOur+cTAgrxGq8Z0dkK+QIivw5x+qmcrIeqG8K0bgOmJvDvgD72zDL+M+6qRPT3xzu 1zngmURO6zGcjxhEqZ4/917Ng3uV3WmGqJSeefkbW5PzxpwCrtMhxz6o/ttLfkLVUmax zA6w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:date:mime-version:references:subject:cc:to:from :dkim-signature:dkim-signature:message-id; bh=r4t3gJp+Epgg61Tiq3or6HjYA/efOz+SN1LtRddhdOs=; b=cwtEjc/XJp0mXsjBt3pHIDnbYC2M33s0SzJ1kN5Vh4rvPDYcZKlDe9qv2MCxw9zBre veZ7OBG84uPCKlC/jQIpXez7a2UNU4PjMr8aZ3K+OfqwKsIV99A4InJUFSvQGV2MqEWz tD3DtRM76hOaB68BMhH8cD4GiBAuPPeQySKwj0kc8JnUyG0boV3sb3GZDemSG13uBcVd Hcn+0jhGoOt/zIi47k5im/uXzHY9H8RGLVVJ9PjUVlJUjczIYHcM9gnNQVlyUT0ca02v kGA1HaCHolAqGfWI4i58zrTRnmxeHpK9atI0WVojLC1iSSsrB2pybOaUF7xsEhUSBFrQ H7YA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linutronix.de header.s=2020 header.b=ByJ4TGTD; dkim=neutral (no key) header.i=@linutronix.de; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=linutronix.de Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id j9-20020a632309000000b00476f4361438si11097819pgj.382.2022.11.21.06.37.18; Mon, 21 Nov 2022 06:37:32 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linutronix.de header.s=2020 header.b=ByJ4TGTD; dkim=neutral (no key) header.i=@linutronix.de; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=linutronix.de Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231318AbiKUOg7 (ORCPT + 99 others); Mon, 21 Nov 2022 09:36:59 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47782 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230016AbiKUOgi (ORCPT ); Mon, 21 Nov 2022 09:36:38 -0500 Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id ADD99C80F7; Mon, 21 Nov 2022 06:36:23 -0800 (PST) Message-ID: <20221121083325.684903415@linutronix.de> DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1669041382; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: references:references; bh=r4t3gJp+Epgg61Tiq3or6HjYA/efOz+SN1LtRddhdOs=; b=ByJ4TGTDiZ/BCKI9AZssqVDMX6vzAcNgwwDKR9d9tUEqtIqB7eYIjBJ8UATg87Yta+GF/1 4vU8hFIIP3pgRnRpoDk/NXC9rcKc6dhdaBKS7VjKzPEoQRCGKMzk+YNCGOuiMiK9+SKUIt 4ai1idtByA/HKdfh43swzNhSDkRuC2GkkMRG5br9Nj3I1Xd5Oep6nru74DT9U80IbXR+7w X+MnA1Y/WNJOUv+VJBqbnNRxaCiS7C/xZ5usb0hdm4wAraeS3y9jUDC8qSAyyGH1NhV8HU 3LFpI79QKgF/lqPvCyFMAVIaZztJ95Du29vdMT5XYWGcKC4ziYa/oDuRKqmqLg== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1669041382; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: references:references; bh=r4t3gJp+Epgg61Tiq3or6HjYA/efOz+SN1LtRddhdOs=; b=C377Nk6LN+Na+cdZLBgNMKV2GHWZARy1u0FfATTUT5yEm2Fmv1vj7kR6hCVIxojpsep9fx MZbSP3mGqvJ0BADA== From: Thomas Gleixner To: LKML Cc: x86@kernel.org, Joerg Roedel , Will Deacon , linux-pci@vger.kernel.org, Bjorn Helgaas , Lorenzo Pieralisi , Marc Zyngier , Greg Kroah-Hartman , Jason Gunthorpe , Dave Jiang , Alex Williamson , Kevin Tian , Dan Williams , Logan Gunthorpe , Ashok Raj , Jon Mason , Allen Hubbe , Jason Gunthorpe Subject: [patch V2 03/21] genirq/irqdomain: Rename irq_domain::dev to irq_domain::pm_dev References: <20221121083210.309161925@linutronix.de> MIME-Version: 1.0 Date: Mon, 21 Nov 2022 15:36:22 +0100 (CET) X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED,SPF_HELO_NONE, SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1750116809385607764?= X-GMAIL-MSGID: =?utf-8?q?1750116809385607764?= irq_domain::dev is a misnomer as it's usually the rule that a device pointer points to something which is directly related to the instance. irq_domain::dev can point to some other device for power management to ensure that this underlying device is not powered down when an interrupt is allocated. The upcoming per device MSI domains really require a pointer to the device which instantiated the irq domain and not to some random other device which is required for power management down the chain. Rename irq_domain::dev to irq_domain::pm_dev and fixup the few sites which use that pointer. Conversion was done with the help of coccinelle. Signed-off-by: Thomas Gleixner Reviewed-by: Jason Gunthorpe Reviewed-by: Marc Zyngier --- drivers/irqchip/irq-gic.c | 4 ++-- include/linux/irqdomain.h | 6 +++--- kernel/irq/chip.c | 8 ++++---- 3 files changed, 9 insertions(+), 9 deletions(-) --- a/drivers/irqchip/irq-gic.c +++ b/drivers/irqchip/irq-gic.c @@ -401,8 +401,8 @@ static void gic_irq_print_chip(struct ir { struct gic_chip_data *gic = irq_data_get_irq_chip_data(d); - if (gic->domain->dev) - seq_printf(p, gic->domain->dev->of_node->name); + if (gic->domain->pm_dev) + seq_printf(p, gic->domain->pm_dev->of_node->name); else seq_printf(p, "GIC-%d", (int)(gic - &gic_data[0])); } --- a/include/linux/irqdomain.h +++ b/include/linux/irqdomain.h @@ -131,7 +131,7 @@ struct irq_domain_chip_generic; * @gc: Pointer to a list of generic chips. There is a helper function for * setting up one or more generic chips for interrupt controllers * drivers using the generic chip library which uses this pointer. - * @dev: Pointer to a device that can be utilized for power management + * @pm_dev: Pointer to a device that can be utilized for power management * purposes related to the irq domain. * @parent: Pointer to parent irq_domain to support hierarchy irq_domains * @@ -153,7 +153,7 @@ struct irq_domain { struct fwnode_handle *fwnode; enum irq_domain_bus_token bus_token; struct irq_domain_chip_generic *gc; - struct device *dev; + struct device *pm_dev; #ifdef CONFIG_IRQ_DOMAIN_HIERARCHY struct irq_domain *parent; #endif @@ -206,7 +206,7 @@ static inline void irq_domain_set_pm_dev struct device *dev) { if (d) - d->dev = dev; + d->pm_dev = dev; } #ifdef CONFIG_IRQ_DOMAIN --- a/kernel/irq/chip.c +++ b/kernel/irq/chip.c @@ -1561,10 +1561,10 @@ int irq_chip_compose_msi_msg(struct irq_ return 0; } -static struct device *irq_get_parent_device(struct irq_data *data) +static struct device *irq_get_pm_device(struct irq_data *data) { if (data->domain) - return data->domain->dev; + return data->domain->pm_dev; return NULL; } @@ -1578,7 +1578,7 @@ static struct device *irq_get_parent_dev */ int irq_chip_pm_get(struct irq_data *data) { - struct device *dev = irq_get_parent_device(data); + struct device *dev = irq_get_pm_device(data); int retval = 0; if (IS_ENABLED(CONFIG_PM) && dev) @@ -1597,7 +1597,7 @@ int irq_chip_pm_get(struct irq_data *dat */ int irq_chip_pm_put(struct irq_data *data) { - struct device *dev = irq_get_parent_device(data); + struct device *dev = irq_get_pm_device(data); int retval = 0; if (IS_ENABLED(CONFIG_PM) && dev)