Received: by 2002:a05:6358:45e:b0:b5:b6eb:e1f9 with SMTP id 30csp299515rwe; Wed, 31 Aug 2022 03:06:22 -0700 (PDT) X-Google-Smtp-Source: AA6agR4AUkU4LUtZMNY2bp357UTZwpCWAbimhlDyEH+1WAi3cw7mV4MHg0AW7xpYk4NfQKditkJB X-Received: by 2002:a17:903:1248:b0:172:f3c7:97a6 with SMTP id u8-20020a170903124800b00172f3c797a6mr24749837plh.128.1661940381723; Wed, 31 Aug 2022 03:06:21 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1661940381; cv=none; d=google.com; s=arc-20160816; b=F6SC74X6sQfAkE3vOfM7ZXFWltlzRtPJ7mLwbw/eEPg1WAwiWWcubB7EDgQZ/VOR+E FVKlZT1pnVdzmMKbYLQwzmU8gu9XoszxYaYVN56iFlf4Be6VkNOY4mf4uMWwohSVAsxr ZuqN9v/dVBpbr97O/AwSchOYCBo8dmXIfgrtqJWzCV8FzPhFRU90qIySe00kSfmXgozP 0g4Rh9H5UZtcAuSb1lMwtv5QJ3cCZueZbFqr+hK9HI4fUFce4wauy3sPPrZnG5qj8rQY oqMtqsV17vNwb00iQ7hKaa9AyNXVlQxCElUBT212rxXQOKK64GmGRjs+0H9a4nsoqxuj 5qrw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:subject:cc:to:from:date; bh=Nb/bU7vufiaIgVnAcf1lZ1/NQHaDB1u0ZcJpmvRk1lQ=; b=S0e1XKjMoDroEPtVrK4/CgBd5vVHA36W2p3hou4tRUJvxHIj3rx3fWqiHEh9P+bND/ DOtDarsXMRDb/70GH9pqdWtcMEY0FnF2UX3+DkK9x+IEInNoZFwckVg8mLgzfkVIbKvz OaiCpw4aapdUQEv7DBa9iYw1Gesbr4inYqrjsORMBXLgjHJp8lGcXWiSvoLR3cwQ+7QU Swc4nURrq2Y3z8pmw2sGyupj+vHZkRGkBMtoL9yYnnhM2GM1j/4jUwYKAUJZtiLIyHt3 3YTkjEN5ETV0c0AjJl1zV/GzZNlp6bO0ge+SfbbfiDclqjHmyn+f4b+sNozXQWGVrxcg zA8g== ARC-Authentication-Results: i=1; mx.google.com; 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=fail (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=huawei.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id t12-20020a056a0021cc00b0053713b7f1casi14708846pfj.155.2022.08.31.03.06.10; Wed, 31 Aug 2022 03:06:21 -0700 (PDT) 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; 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=fail (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=huawei.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230508AbiHaKAk (ORCPT + 99 others); Wed, 31 Aug 2022 06:00:40 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47554 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230437AbiHaKAR (ORCPT ); Wed, 31 Aug 2022 06:00:17 -0400 Received: from frasgout.his.huawei.com (frasgout.his.huawei.com [185.176.79.56]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 36751DEC4; Wed, 31 Aug 2022 02:59:49 -0700 (PDT) Received: from fraeml705-chm.china.huawei.com (unknown [172.18.147.206]) by frasgout.his.huawei.com (SkyGuard) with ESMTP id 4MHflj3mCTz687Gp; Wed, 31 Aug 2022 17:59:13 +0800 (CST) Received: from lhrpeml500005.china.huawei.com (7.191.163.240) by fraeml705-chm.china.huawei.com (10.206.15.54) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2375.31; Wed, 31 Aug 2022 11:59:46 +0200 Received: from localhost (10.202.226.42) by lhrpeml500005.china.huawei.com (7.191.163.240) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.24; Wed, 31 Aug 2022 10:59:46 +0100 Date: Wed, 31 Aug 2022 10:59:45 +0100 From: Jonathan Cameron To: Robert Richter CC: Alison Schofield , Vishal Verma , Ira Weiny , Ben Widawsky , Dan Williams , , , Bjorn Helgaas , "Rafael J. Wysocki" , Len Brown Subject: Re: [PATCH 03/15] cxl: Unify debug messages when calling devm_cxl_add_port() Message-ID: <20220831105945.00004668@huawei.com> In-Reply-To: <20220831081603.3415-4-rrichter@amd.com> References: <20220831081603.3415-1-rrichter@amd.com> <20220831081603.3415-4-rrichter@amd.com> X-Mailer: Claws Mail 4.0.0 (GTK+ 3.24.29; i686-w64-mingw32) MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit X-Originating-IP: [10.202.226.42] X-ClientProxiedBy: lhrpeml100004.china.huawei.com (7.191.162.219) To lhrpeml500005.china.huawei.com (7.191.163.240) X-CFilter-Loop: Reflected X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_MED, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE 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 On Wed, 31 Aug 2022 10:15:51 +0200 Robert Richter wrote: > CXL ports are added in a couple of code paths using > devm_cxl_add_port(). Debug messages are individually generated, but > are incomplete and inconsistent. Change this by moving its generation > to devm_cxl_add_port(). This unifies the messages and reduces code > duplication. Also, generate messages on failure. > > Signed-off-by: Robert Richter This is one for Dan etc as it is mostly a question of how verbose we want the debug prints to be plus preference for caller or callee being responsible for outputting this sort of message. Patch looks good to me if we want to make this sort of change. > --- > drivers/cxl/acpi.c | 2 -- > drivers/cxl/core/port.c | 39 ++++++++++++++++++++++++++++----------- > 2 files changed, 28 insertions(+), 13 deletions(-) > > diff --git a/drivers/cxl/acpi.c b/drivers/cxl/acpi.c > index fb649683dd3a..767a91f44221 100644 > --- a/drivers/cxl/acpi.c > +++ b/drivers/cxl/acpi.c > @@ -220,7 +220,6 @@ static int add_host_bridge_uport(struct device *match, void *arg) > port = devm_cxl_add_port(host, match, dport->component_reg_phys, dport); > if (IS_ERR(port)) > return PTR_ERR(port); > - dev_dbg(host, "%s: add: %s\n", dev_name(match), dev_name(&port->dev)); > > return 0; > } > @@ -466,7 +465,6 @@ static int cxl_acpi_probe(struct platform_device *pdev) > root_port = devm_cxl_add_port(host, host, CXL_RESOURCE_NONE, NULL); > if (IS_ERR(root_port)) > return PTR_ERR(root_port); > - dev_dbg(host, "add: %s\n", dev_name(&root_port->dev)); > > rc = bus_for_each_dev(adev->dev.bus, NULL, root_port, > add_host_bridge_dport); > diff --git a/drivers/cxl/core/port.c b/drivers/cxl/core/port.c > index bffde862de0b..8604cda88787 100644 > --- a/drivers/cxl/core/port.c > +++ b/drivers/cxl/core/port.c > @@ -666,13 +666,17 @@ struct cxl_port *devm_cxl_add_port(struct device *host, struct device *uport, > resource_size_t component_reg_phys, > struct cxl_dport *parent_dport) > { > - struct cxl_port *port; > + struct cxl_port *port, *parent_port; > struct device *dev; > int rc; > > + parent_port = parent_dport ? parent_dport->port : NULL; > + > port = cxl_port_alloc(uport, component_reg_phys, parent_dport); > - if (IS_ERR(port)) > - return port; > + if (IS_ERR(port)) { > + rc = PTR_ERR(port); > + goto err_out; > + } > > dev = &port->dev; > if (is_cxl_memdev(uport)) > @@ -682,24 +686,39 @@ struct cxl_port *devm_cxl_add_port(struct device *host, struct device *uport, > else > rc = dev_set_name(dev, "root%d", port->id); > if (rc) > - goto err; > + goto err_put; > > rc = device_add(dev); > if (rc) > - goto err; > + goto err_put; > > rc = devm_add_action_or_reset(host, unregister_port, port); > if (rc) > - return ERR_PTR(rc); > + goto err_out; > > rc = devm_cxl_link_uport(host, port); > if (rc) > - return ERR_PTR(rc); > + goto err_out; > > - return port; > + dev_dbg(host, "added %s as%s port of device %s%s%s\n", > + dev_name(&port->dev), > + parent_port ? "" : " root", > + dev_name(uport), > + parent_port ? " to parent port " : "", > + parent_port ? dev_name(&parent_port->dev) : ""); > > -err: > + return port; > +err_put: > put_device(dev); > +err_out: > + dev_dbg(host, "failed to add %s as%s port of device %s%s%s: %d\n", > + dev_name(&port->dev), > + parent_port ? "" : " root", > + dev_name(uport), > + parent_port ? " to parent port " : "", > + parent_port ? dev_name(&parent_port->dev) : "", > + rc); > + > return ERR_PTR(rc); > } > EXPORT_SYMBOL_NS_GPL(devm_cxl_add_port, CXL); > @@ -1140,8 +1159,6 @@ int devm_cxl_add_endpoint(struct cxl_memdev *cxlmd, > if (IS_ERR(endpoint)) > return PTR_ERR(endpoint); > > - dev_dbg(&cxlmd->dev, "add: %s\n", dev_name(&endpoint->dev)); > - > rc = cxl_endpoint_autoremove(cxlmd, endpoint); > if (rc) > return rc;