Received: by 10.223.185.116 with SMTP id b49csp4050779wrg; Tue, 13 Feb 2018 11:54:59 -0800 (PST) X-Google-Smtp-Source: AH8x225hwJdP4yFREt11g/mct1fp7R0wB1IcS7TcnY1wj90zQF8zm8JSQh2UqcDhSpoL7nkVXFN1 X-Received: by 2002:a17:902:781:: with SMTP id 1-v6mr2070950plj.411.1518551699801; Tue, 13 Feb 2018 11:54:59 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1518551699; cv=none; d=google.com; s=arc-20160816; b=NxNg8Q5aRqgUUOSJlkX/QH47BSzbjxXkUM73JKNKOCprYsN5p+FMnaSqT+/3b4hzko 797oTDqZ/jMV22EH7MFQR7ihhjFkqEOPf05O+CBePsLS+aKiZDCwIy/RPUF1usd05mQf 85SWLiWHERnMFJhCnxXVM3N0u7/DD6bFdCiIZ5X9AiBDsdCYEzRoiNKSEnod1CO1KWlT cKvjQjt+Znl++sjrtvKMgDl3XhyNUKmMJ0FB6Mh6jcelwskwj1wamRF2NgRjAVghJF+D g09TNYE93Gj77YAdFQhWd6N72MrOzW28wUg8yZQttXCgnKlUHdOJKJ8pWs/fsGKT1olp McEw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:user-agent:content-disposition :mime-version:subject:cc:to:from:date:arc-authentication-results; bh=GKd44t7Orgxmuz38EowxBoBO3wF5zLhnC0Z5XM3hPv8=; b=u9QzJI6ryJk3eSdIHy+xCKzTNgSPrJO+FonTfpIBMISe2MJakrOhf1p4afGdByXE8N W9ODVFs/pn4Xh8rBpZbh7GWzNQjAvrWs+dBiDZ3Gw/28DhGsa44r5OtvQoQT61BjX1PT EESpLADUe2RJrlXN21plbwnfTZfWjv4zZfYK+Nyg7b9hChLmp2aB8YVkXtRM7dZJa+l8 mPlqrCOq4ibxcYf1nRlb1f4IlptW0IpYn9zc7eikqSNzk0ZZ2tturLQ6QIY3odmFd6jV qfZbjyPrmXqYN1eprNO4NneZPBU4+IYd8NexT4hfE8WemEkolshaWcSp53er+95nwAQm pc5w== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=ibm.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id b18si1734864pgu.8.2018.02.13.11.54.45; Tue, 13 Feb 2018 11:54:59 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=ibm.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S965727AbeBMTxt (ORCPT + 99 others); Tue, 13 Feb 2018 14:53:49 -0500 Received: from mx0a-001b2d01.pphosted.com ([148.163.156.1]:55982 "EHLO mx0a-001b2d01.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S965651AbeBMTxr (ORCPT ); Tue, 13 Feb 2018 14:53:47 -0500 Received: from pps.filterd (m0098409.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.16.0.22/8.16.0.22) with SMTP id w1DJqxNh050899 for ; Tue, 13 Feb 2018 14:53:47 -0500 Received: from e11.ny.us.ibm.com (e11.ny.us.ibm.com [129.33.205.201]) by mx0a-001b2d01.pphosted.com with ESMTP id 2g40xn6y8f-1 (version=TLSv1.2 cipher=AES256-SHA bits=256 verify=NOT) for ; Tue, 13 Feb 2018 14:53:34 -0500 Received: from localhost by e11.ny.us.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Tue, 13 Feb 2018 14:53:33 -0500 Received: from b01cxnp22035.gho.pok.ibm.com (9.57.198.25) by e11.ny.us.ibm.com (146.89.104.198) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; Tue, 13 Feb 2018 14:53:29 -0500 Received: from b01ledav006.gho.pok.ibm.com (b01ledav006.gho.pok.ibm.com [9.57.199.111]) by b01cxnp22035.gho.pok.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id w1DJrTPq50266252; Tue, 13 Feb 2018 19:53:29 GMT Received: from b01ledav006.gho.pok.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 3D207AC03A; Tue, 13 Feb 2018 14:54:51 -0500 (EST) Received: from suka-w540.localdomain (unknown [9.70.94.25]) by b01ledav006.gho.pok.ibm.com (Postfix) with ESMTP id 05788AC040; Tue, 13 Feb 2018 14:54:51 -0500 (EST) Received: by suka-w540.localdomain (Postfix, from userid 1000) id 9EC20229294; Tue, 13 Feb 2018 11:53:27 -0800 (PST) Date: Tue, 13 Feb 2018 11:53:27 -0800 From: Sukadev Bhattiprolu To: Michael Ellerman Cc: Benjamin Herrenschmidt , mikey@neuling.org, hbabu@us.ibm.com, linuxppc-dev@ozlabs.org, linux-kernel@vger.kernel.org Subject: [PATCH] Fix cleanup when VAS is not configured MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline X-Operating-System: Linux 2.0.32 on an i486 User-Agent: Mutt/1.7.1 (2016-10-04) X-TM-AS-GCONF: 00 x-cbid: 18021319-2213-0000-0000-0000026BFB2C X-IBM-SpamModules-Scores: X-IBM-SpamModules-Versions: BY=3.00008528; HX=3.00000241; KW=3.00000007; PH=3.00000004; SC=3.00000253; SDB=6.00989257; UDB=6.00502301; IPR=6.00768611; BA=6.00005827; NDR=6.00000001; ZLA=6.00000005; ZF=6.00000009; ZB=6.00000000; ZP=6.00000000; ZH=6.00000000; ZU=6.00000002; MB=3.00019537; XFM=3.00000015; UTC=2018-02-13 19:53:31 X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused x-cbparentid: 18021319-2214-0000-0000-000059190436 Message-Id: <20180213195327.GA10678@us.ibm.com> X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2018-02-13_10:,, signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 impostorscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1709140000 definitions=main-1802130236 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Sukadev Bhattiprolu Date: Fri, 9 Feb 2018 11:49:06 -0600 Subject: [PATCH 1/1] powerpc/vas: Fix cleanup when VAS is not configured When VAS is not configured, unregister the platform driver. Also simplify cleanup by delaying vas debugfs init until we know VAS is configured. Signed-off-by: Sukadev Bhattiprolu --- Changelog[v2] - [Michael Ellerman] Move vas_init_dbgdir() into a lower level function to keep vas_init() cleaner. --- arch/powerpc/platforms/powernv/vas-debug.c | 11 +++++++++++ arch/powerpc/platforms/powernv/vas.c | 6 +++--- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/arch/powerpc/platforms/powernv/vas-debug.c b/arch/powerpc/platforms/powernv/vas-debug.c index b4de4c6..4f7276e 100644 --- a/arch/powerpc/platforms/powernv/vas-debug.c +++ b/arch/powerpc/platforms/powernv/vas-debug.c @@ -179,6 +179,7 @@ void vas_instance_init_dbgdir(struct vas_instance *vinst) { struct dentry *d; + vas_init_dbgdir(); if (!vas_debugfs) return; @@ -201,8 +202,18 @@ void vas_instance_init_dbgdir(struct vas_instance *vinst) vinst->dbgdir = NULL; } +/* + * Set up the "root" VAS debugfs dir. Return if we already set it up + * (or failed to) in an earlier instance of VAS. + */ void vas_init_dbgdir(void) { + static bool first_time = true; + + if (!first_time) + return; + + first_time = false; vas_debugfs = debugfs_create_dir("vas", NULL); if (IS_ERR(vas_debugfs)) vas_debugfs = NULL; diff --git a/arch/powerpc/platforms/powernv/vas.c b/arch/powerpc/platforms/powernv/vas.c index aebbe95..5a2b24c 100644 --- a/arch/powerpc/platforms/powernv/vas.c +++ b/arch/powerpc/platforms/powernv/vas.c @@ -160,8 +160,6 @@ static int __init vas_init(void) int found = 0; struct device_node *dn; - vas_init_dbgdir(); - platform_driver_register(&vas_driver); for_each_compatible_node(dn, NULL, "ibm,vas") { @@ -169,8 +167,10 @@ static int __init vas_init(void) found++; } - if (!found) + if (!found) { + platform_driver_unregister(&vas_driver); return -ENODEV; + } pr_devel("Found %d instances\n", found); -- 2.7.4