From patchwork Tue May 30 07:19:08 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= X-Patchwork-Id: 100575 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp1994133vqr; Tue, 30 May 2023 00:20:25 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ5lkHUqDyul8f5IMCAst2fWETCwK7R/mTfg0KW1j6Ohpk5GqSx/4VVEGZRi0PYMxdmqTpiN X-Received: by 2002:a17:90a:fc97:b0:256:3cd5:4fde with SMTP id ci23-20020a17090afc9700b002563cd54fdemr1533038pjb.44.1685431225426; Tue, 30 May 2023 00:20:25 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1685431225; cv=none; d=google.com; s=arc-20160816; b=XALnDplSXfcotn1ksIz8BNCO2gtkLAQlA6yXDLJ6U9OWHL+fbo87vQ51Vt9xXdUwc2 5Ai0olBIU1bXinzOW0bGXmf+Gy/aTfevLDdiJO0pPlzW9et43dIp5f69R5qBqIhmrOmX Zy0OQRljmpye4jFYxTx8ZHEBotsernRf4sxRfjsoQbY68Z6QVm3BKVLAah3gTXhecsNn d7qO7xkefnPV0ChT3XKPLoQGOdZJK1TV25Hy0euZ94ikYp2SPwmqo8+HE4yBpD17bqbR e0kcegXskCV0HDZPClog+Rn3bZXPj3Bo+jiNB4EHVsOd6iBCnpZoPwYEIHZba7TiiG24 3taQ== 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:date:subject:cc:to:from; bh=VcdFkCSPT1VCwQcg/caR3ngbHD0M0bnyp+WRXD4m14g=; b=m2gVMShJsSC6G7cF3q62WFt7GLFjUi48Qu6Mfc/7VdoW7ovJKLAPY0YzvuGJ+Q+LL2 +nnNcCdxKcEJ6+UjIPdhD11ocdTHzESs0EIRfBxILJAK1bIDJ4UtdmxaMoDem1R/JCaW Ngq3yBsIPOpMNYTWLeOGE7zfOyH/NRAjt3xby29rjwSNEB+WNrqYX4lSuoumctK1WlvS MfmNjXGoxQm2pPqWjSPRHEYniIvFN4p/BRtmKbZgR3OWByIIgcP1t+EH7Lv8wrkI55wm ATkrBGKUY5lM3B8C8Qb13MEDM9jUcweuDCW3BwZShxoEb5xk+AIQHF6wq1Qqx+t7wehU S5zw== 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 Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id s29-20020a63925d000000b0052c766051d3si10652199pgn.199.2023.05.30.00.20.12; Tue, 30 May 2023 00:20:25 -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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230269AbjE3HTa (ORCPT + 99 others); Tue, 30 May 2023 03:19:30 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50644 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229627AbjE3HTY (ORCPT ); Tue, 30 May 2023 03:19:24 -0400 Received: from metis.ext.pengutronix.de (metis.ext.pengutronix.de [IPv6:2001:67c:670:201:290:27ff:fe1d:cc33]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 31F4990 for ; Tue, 30 May 2023 00:19:23 -0700 (PDT) Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1q3tdZ-0006UP-0S; Tue, 30 May 2023 09:19:21 +0200 Received: from [2a0a:edc0:0:900:1d::77] (helo=ptz.office.stw.pengutronix.de) by drehscheibe.grey.stw.pengutronix.de with esmtp (Exim 4.94.2) (envelope-from ) id 1q3tdY-003orI-5S; Tue, 30 May 2023 09:19:20 +0200 Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1q3tdW-009OQk-PA; Tue, 30 May 2023 09:19:18 +0200 From: =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= To: Greg Kroah-Hartman Cc: Minas Harutyunyan , linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, kernel@pengutronix.de, Minas Harutyunyan Subject: [PATCH v2 1/6] usb: dwc2/platform: Convert to platform remove callback returning void Date: Tue, 30 May 2023 09:19:08 +0200 Message-Id: <20230530071913.2192214-2-u.kleine-koenig@pengutronix.de> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230530071913.2192214-1-u.kleine-koenig@pengutronix.de> References: <20230530071913.2192214-1-u.kleine-koenig@pengutronix.de> MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=1921; i=u.kleine-koenig@pengutronix.de; h=from:subject; bh=ftSCFNBqW4RCJYtuDczd14yu9FrAHicQAwihlFp9aNE=; b=owEBbQGS/pANAwAKAY+A+1h9Ev5OAcsmYgBkdaNoOOlLGJfWGniNRqHtS99WBUZhA06l0i85g 8ZMrJVttqeJATMEAAEKAB0WIQQ/gaxpOnoeWYmt/tOPgPtYfRL+TgUCZHWjaAAKCRCPgPtYfRL+ TmsqB/4x//lvQZlITmETYWDiAdUXAM3zUX2qZOfKuKKXCwKOOicz3Od20jxBOepmDkaL7wBauA8 FWz0ldEhoibRJhfkDOh+74AyBrJwR19qiaRTF/iJNLpKzNHJRKYTbpK2a0FbwYSj1Ur9eSpHxfI 6V21ATu0l5EQncpPt+z+osRIbaP2ya0/IRYv+/pQUcOFoGSFseEiIqbrUaZUjVAm6sL+5XHQS02 fgJkz0FpL/SyVEkZGcvFrpPNYYRCO9xEbDFa7Nn6NPTmMQP1aIAmKCvg+dBy+NfuyRJmEcuo+3R +jdRhFRYhRy83CPzgF6BG0OwE2NVX8rnVcp3hrSw5gJVRmOx X-Developer-Key: i=u.kleine-koenig@pengutronix.de; a=openpgp; fpr=0D2511F322BFAB1C1580266BE2DCDD9132669BD6 X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2 X-SA-Exim-Mail-From: ukl@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable 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?1767302732928010026?= X-GMAIL-MSGID: =?utf-8?q?1767302732928010026?= The .remove() callback for a platform driver returns an int which makes many driver authors wrongly assume it's possible to do error handling by returning an error code. However the value returned is ignored (apart from emitting a warning) and this typically results in resource leaks. To improve here there is a quest to make the remove callback return void. In the first step of this quest all drivers are converted to .remove_new() which already returns void. Eventually after all drivers are converted, .remove_new() is renamed to .remove(). Trivially convert this driver from always returning zero in the remove callback to the void returning variant. Acked-by: Minas Harutyunyan Signed-off-by: Uwe Kleine-König --- drivers/usb/dwc2/platform.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/usb/dwc2/platform.c b/drivers/usb/dwc2/platform.c index 5cf025511cce..0a806f80217e 100644 --- a/drivers/usb/dwc2/platform.c +++ b/drivers/usb/dwc2/platform.c @@ -301,7 +301,7 @@ static int dwc2_lowlevel_hw_init(struct dwc2_hsotg *hsotg) * stops device processing. Any resources used on behalf of this device are * freed. */ -static int dwc2_driver_remove(struct platform_device *dev) +static void dwc2_driver_remove(struct platform_device *dev) { struct dwc2_hsotg *hsotg = platform_get_drvdata(dev); struct dwc2_gregs_backup *gr; @@ -351,8 +351,6 @@ static int dwc2_driver_remove(struct platform_device *dev) if (hsotg->ll_hw_enabled) dwc2_lowlevel_hw_disable(hsotg); - - return 0; } /** @@ -756,7 +754,7 @@ static struct platform_driver dwc2_platform_driver = { .pm = &dwc2_dev_pm_ops, }, .probe = dwc2_driver_probe, - .remove = dwc2_driver_remove, + .remove_new = dwc2_driver_remove, .shutdown = dwc2_driver_shutdown, }; From patchwork Tue May 30 07:19:09 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= X-Patchwork-Id: 100581 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp1995190vqr; Tue, 30 May 2023 00:23:07 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ7vYYa5zq3casRBquRSXpNuLLE4/7RFGMqzBvvIIzSCA1hkxkVmF6nbqrjgDvLJ0Ua3Rsqg X-Received: by 2002:a05:6a20:258b:b0:10e:ed51:a552 with SMTP id k11-20020a056a20258b00b0010eed51a552mr1535636pzd.59.1685431387413; Tue, 30 May 2023 00:23:07 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1685431387; cv=none; d=google.com; s=arc-20160816; b=lOarOJ/mcGlbByDurh9usuLgyfiTSei4G/KhXJ+jlN+bc7gI8vhB5Ki+96DW5iSUrO qzNQNyBYec0IbeKSHWhCNki1JSV6Y4RRnYmNHR6K2rRYY+0cfKvOpaMnphvO/HdGu7O8 kdS621kWEjTO+3XWM8zB7pQF7RIvQQdt7Rx0YkHSukrTuXdLo/UWzVfk4Zr7Yszx1fVy IV4KzGAckh7/9HBPFrwGL+CvePH0JLjlQWhKyiKV3HAB1NTqtzQ0F0SA3fpFJNYLyeC3 fv9+vmR7qKPoHSPjL+eljMmSyHp7nhniifvw6JJ2taZ4Z7ovSb5ShZ8kNS9ME6oafS4Z tF1A== 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:date:subject:cc:to:from; bh=R9iK8/Qr83WD20zjkUdlFLaJ4r9msfW/BbEQh2qr+zY=; b=F6PgNcweY/baUykIFXy+Fh3E9ztPxlLjpxkr8TjHBosWxJIIvhYR9/yxd8oEDQcpVl 1LD+UY5fdyoZioFFvKhm/YqhP8CGbHTFckxzoWPUJ2FzzL44ieJOMIP4hjFRKrOgoBpV gqqSTRurqZgRQ1T0LG+KwtbSxVnZ2Kc8niGFG2UlqXayRoTEwe9gAohxTq93XER9lPrK UDf6qsh3dTxvB7/2KoDv8RDYPitG55HNjq6tDx3Ai6+v34Vv26sL7Ffk294kI4HNZ4Fy JOWcZ81+fFHxv0FAWdYD8kCroQ2VYf1u1OCXq9RKf90n77yWObNWXbNbEyCv8uva31iw /TJQ== 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 Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id bu26-20020a63295a000000b00534dbd0d219si364819pgb.301.2023.05.30.00.22.53; Tue, 30 May 2023 00:23:07 -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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230312AbjE3HTi (ORCPT + 99 others); Tue, 30 May 2023 03:19:38 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50666 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230021AbjE3HT1 (ORCPT ); Tue, 30 May 2023 03:19:27 -0400 Received: from metis.ext.pengutronix.de (metis.ext.pengutronix.de [IPv6:2001:67c:670:201:290:27ff:fe1d:cc33]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 255C990 for ; Tue, 30 May 2023 00:19:26 -0700 (PDT) Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1q3tdZ-0006UO-9v; Tue, 30 May 2023 09:19:21 +0200 Received: from [2a0a:edc0:0:900:1d::77] (helo=ptz.office.stw.pengutronix.de) by drehscheibe.grey.stw.pengutronix.de with esmtp (Exim 4.94.2) (envelope-from ) id 1q3tdX-003orD-P3; Tue, 30 May 2023 09:19:19 +0200 Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1q3tdW-009OQn-Vo; Tue, 30 May 2023 09:19:18 +0200 From: =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= To: Greg Kroah-Hartman Cc: Mathias Nyman , linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, kernel@pengutronix.de Subject: [PATCH v2 2/6] usb: xhci-histb: Convert to platform remove callback returning void Date: Tue, 30 May 2023 09:19:09 +0200 Message-Id: <20230530071913.2192214-3-u.kleine-koenig@pengutronix.de> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230530071913.2192214-1-u.kleine-koenig@pengutronix.de> References: <20230530071913.2192214-1-u.kleine-koenig@pengutronix.de> MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=1910; i=u.kleine-koenig@pengutronix.de; h=from:subject; bh=U3rXptJKZVfEw+MHdwyDbq+XxbeLCznWrbH7lif8zkw=; b=owEBbQGS/pANAwAKAY+A+1h9Ev5OAcsmYgBkdaNquZ36UD22fQhXa1UNpGm8ZYvjDueQv+VLQ q8kKGk4Q9eJATMEAAEKAB0WIQQ/gaxpOnoeWYmt/tOPgPtYfRL+TgUCZHWjagAKCRCPgPtYfRL+ TmChB/9ofZMjHxKtzPBb1AnM7b50A36Jlk5NmqBFdbt74LsoPwOUP4faqHwnxXwNGRxOfkYV4q+ A/4ZBkQ22sv0ad3gqOjA7KPQ6VjPmoPd0ibrVSxCwdirwFalmrv6sbAIl1tCJ+3eKVnlyhAWeOE IcqmzWQBuryg2/CVFybJq2wxl+B+4Rp79ltol5+Ikwm9RaVdqjimMKSD/1FExTxzKuowPuhk/jN iewHMdhg3RvLMDp1pf/1khxGWz//27vlE4/A/nDCP+tton+SZ0gCYgLcIYWk0sTG9P3TxBVZInl TxvdYYAdQceNrewwnzP8wWpHTLRD8Pnp3qnNwfqndghy7lZZ X-Developer-Key: i=u.kleine-koenig@pengutronix.de; a=openpgp; fpr=0D2511F322BFAB1C1580266BE2DCDD9132669BD6 X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2 X-SA-Exim-Mail-From: ukl@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable 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?1767302902573634347?= X-GMAIL-MSGID: =?utf-8?q?1767302902573634347?= The .remove() callback for a platform driver returns an int which makes many driver authors wrongly assume it's possible to do error handling by returning an error code. However the value returned is ignored (apart from emitting a warning) and this typically results in resource leaks. To improve here there is a quest to make the remove callback return void. In the first step of this quest all drivers are converted to .remove_new() which already returns void. Eventually after all drivers are converted, .remove_new() is renamed to .remove(). Trivially convert this driver from always returning zero in the remove callback to the void returning variant. Signed-off-by: Uwe Kleine-König --- drivers/usb/host/xhci-histb.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/usb/host/xhci-histb.c b/drivers/usb/host/xhci-histb.c index 91ce97821de5..d8aba07e802d 100644 --- a/drivers/usb/host/xhci-histb.c +++ b/drivers/usb/host/xhci-histb.c @@ -319,7 +319,7 @@ static int xhci_histb_probe(struct platform_device *pdev) return ret; } -static int xhci_histb_remove(struct platform_device *dev) +static void xhci_histb_remove(struct platform_device *dev) { struct xhci_hcd_histb *histb = platform_get_drvdata(dev); struct usb_hcd *hcd = histb->hcd; @@ -339,8 +339,6 @@ static int xhci_histb_remove(struct platform_device *dev) usb_put_hcd(hcd); pm_runtime_put_sync(&dev->dev); pm_runtime_disable(&dev->dev); - - return 0; } static int __maybe_unused xhci_histb_suspend(struct device *dev) @@ -385,7 +383,7 @@ MODULE_DEVICE_TABLE(of, histb_xhci_of_match); static struct platform_driver histb_xhci_driver = { .probe = xhci_histb_probe, - .remove = xhci_histb_remove, + .remove_new = xhci_histb_remove, .driver = { .name = "xhci-histb", .pm = DEV_PM_OPS, From patchwork Tue May 30 07:19:10 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= X-Patchwork-Id: 100594 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp1997023vqr; Tue, 30 May 2023 00:27:50 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ7za/HUYvbHtYULDitIqte6oIlTKGD+/yLSbniWiOhpgatprJX7JWb+zgqv8uxm0CWuyoyK X-Received: by 2002:a05:6a20:a58b:b0:10c:1047:68ba with SMTP id bc11-20020a056a20a58b00b0010c104768bamr1642412pzb.35.1685431670181; Tue, 30 May 2023 00:27:50 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1685431670; cv=none; d=google.com; s=arc-20160816; b=bgf7O1buWohfW6H2yVYzrl7TtAbgKC51n8r3SuUV/jyaPoJh2MDQpPrsSUwlFR6Bsu LcAGteVib6Jim9MVIw78L23lFRjRckUpVdW4Tti1nF4TQJa8Xq9QdZ+z+2MadMnr7Y0v b2jz8+UAw4bMi3rP031FOzFAtgk72lvHH1+4N0jOk16uP9/uBBnki6fP5VFTatgorKDA qi4dCwoKqa7TKgeGPA00PCHOBuHD0QXDDcLOPXZjA+Z/RnC0ubpRQkIQzuADmDYVRpeU IKk5ds1UxlgSD3TYdt08WAcGZPRnZ0nSuiP56RLRmf3YfagqWx2mwG9mMjWZvU4P+13y xH/A== 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:date:subject:cc:to:from; bh=EDIztD+iiDj5BUbHUf3oD3hZ4JgrjpxzgEYF0In0+tA=; b=xigzHy1AAVGU1DGEvJmC06MaIeBjOLfWp4Xi2jbo7K6DIxGQ/7LFiE1E8KpxPXrN/I gti8YVHbOcrWknYlM3pUWmP7qrLCHlRMgg9rXAZxOVYSzXDTtSh+lfY1n7lIzINQbZDG pZyCDzW/+9ANNb2gd7dtJZ/MLsLTyAOkQYc81nJY8eImOsQqL4MKP37uw7kQnkN0xhDC Lx+2PwGuYNxtdTnUXCxAywrQm3CYMrx588uJuqXEyaldfU35B4Xet6OqUS7TODa6GpeK Uk1jP5RMT1RjDvZdok12VJZFopj8oUBDzl7TQUARJIwsRH+p+u4WuAsBJErSNip4Eq/q OOXQ== 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 Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id p9-20020a17090b010900b0025625ecb9c1si1789881pjz.89.2023.05.30.00.27.37; Tue, 30 May 2023 00:27:50 -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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230519AbjE3HUN (ORCPT + 99 others); Tue, 30 May 2023 03:20:13 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51130 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230507AbjE3HTz (ORCPT ); Tue, 30 May 2023 03:19:55 -0400 Received: from metis.ext.pengutronix.de (metis.ext.pengutronix.de [IPv6:2001:67c:670:201:290:27ff:fe1d:cc33]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1277B185 for ; Tue, 30 May 2023 00:19:37 -0700 (PDT) Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1q3tda-0006UR-VG; Tue, 30 May 2023 09:19:23 +0200 Received: from [2a0a:edc0:0:900:1d::77] (helo=ptz.office.stw.pengutronix.de) by drehscheibe.grey.stw.pengutronix.de with esmtp (Exim 4.94.2) (envelope-from ) id 1q3tdY-003orL-BX; Tue, 30 May 2023 09:19:20 +0200 Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1q3tdX-009OQq-6I; Tue, 30 May 2023 09:19:19 +0200 From: =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= To: Greg Kroah-Hartman Cc: Mathias Nyman , Chunfeng Yun , Matthias Brugger , AngeloGioacchino Del Regno , linux-usb@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-kernel@vger.kernel.org, kernel@pengutronix.de Subject: [PATCH v2 3/6] usb: xhci-mtk: Convert to platform remove callback returning void Date: Tue, 30 May 2023 09:19:10 +0200 Message-Id: <20230530071913.2192214-4-u.kleine-koenig@pengutronix.de> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230530071913.2192214-1-u.kleine-koenig@pengutronix.de> References: <20230530071913.2192214-1-u.kleine-koenig@pengutronix.de> MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=1962; i=u.kleine-koenig@pengutronix.de; h=from:subject; bh=RinVfZYjAScwU7jEpi6Dz9/WO/ViUXjuFQrBaAhOb1w=; b=owEBbQGS/pANAwAKAY+A+1h9Ev5OAcsmYgBkdaNrHSUjvY7u/dQD2YJ/vxI2vJy7rtRQ7QLtD qNgRQmQVyKJATMEAAEKAB0WIQQ/gaxpOnoeWYmt/tOPgPtYfRL+TgUCZHWjawAKCRCPgPtYfRL+ TnkrB/9LiRr878SVBC3p+kwbWsp4YeWJUwXVWtY6TnRl+gt29oeuPcTuXlXau7LXhDf5/NIQBi/ fVD2KW3vabRfI2tkjSDFTvNVW8yE27rdQenfmn0eI08GZpUygumXtVJlotokQqTlLSmbqco2Lh4 fWvhlob6tyk5cc+NzlMLa0qZFm09SDAhtPmCb7jTFsBYjUvTskWOU5aJebYvRGc35KNJURDMyvZ P9FCeVWVqT715HfyPLsSRZ7pvpwyUs2iTA0mhJRXz72LAD9H7B0bNXhAtTQrp3cSCb5irOJmuHj kJrXxHBq9I/U4DEpa5IdPl5dRx0vh2cHF9tzpSDa+IQbyWN5 X-Developer-Key: i=u.kleine-koenig@pengutronix.de; a=openpgp; fpr=0D2511F322BFAB1C1580266BE2DCDD9132669BD6 X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2 X-SA-Exim-Mail-From: ukl@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable 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?1767303198858979351?= X-GMAIL-MSGID: =?utf-8?q?1767303198858979351?= The .remove() callback for a platform driver returns an int which makes many driver authors wrongly assume it's possible to do error handling by returning an error code. However the value returned is ignored (apart from emitting a warning) and this typically results in resource leaks. To improve here there is a quest to make the remove callback return void. In the first step of this quest all drivers are converted to .remove_new() which already returns void. Eventually after all drivers are converted, .remove_new() is renamed to .remove(). Trivially convert this driver from always returning zero in the remove callback to the void returning variant. Reviewed-by: AngeloGioacchino Del Regno Signed-off-by: Uwe Kleine-König --- drivers/usb/host/xhci-mtk.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/usb/host/xhci-mtk.c b/drivers/usb/host/xhci-mtk.c index 90cf40d6d0c3..8d9a55b0281b 100644 --- a/drivers/usb/host/xhci-mtk.c +++ b/drivers/usb/host/xhci-mtk.c @@ -673,7 +673,7 @@ static int xhci_mtk_probe(struct platform_device *pdev) return ret; } -static int xhci_mtk_remove(struct platform_device *pdev) +static void xhci_mtk_remove(struct platform_device *pdev) { struct xhci_hcd_mtk *mtk = platform_get_drvdata(pdev); struct usb_hcd *hcd = mtk->hcd; @@ -703,8 +703,6 @@ static int xhci_mtk_remove(struct platform_device *pdev) pm_runtime_disable(dev); pm_runtime_put_noidle(dev); pm_runtime_set_suspended(dev); - - return 0; } static int __maybe_unused xhci_mtk_suspend(struct device *dev) @@ -824,7 +822,7 @@ MODULE_DEVICE_TABLE(of, mtk_xhci_of_match); static struct platform_driver mtk_xhci_driver = { .probe = xhci_mtk_probe, - .remove = xhci_mtk_remove, + .remove_new = xhci_mtk_remove, .driver = { .name = "xhci-mtk", .pm = DEV_PM_OPS, From patchwork Tue May 30 07:19:11 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= X-Patchwork-Id: 100579 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp1995023vqr; Tue, 30 May 2023 00:22:44 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ440dd0wRMfWgBPmxNdaM17KICBxletbjuFBIC17cJ5p90hjMeblgxNe2HjNs4zyfDNyFhL X-Received: by 2002:a05:6a00:2d90:b0:625:efa4:4c01 with SMTP id fb16-20020a056a002d9000b00625efa44c01mr1320563pfb.3.1685431363809; Tue, 30 May 2023 00:22:43 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1685431363; cv=none; d=google.com; s=arc-20160816; b=rhxW7MC5DPnfz3GSSfBnl2NPEWpGDRYmAsr9aLKRy7RY5gFxlAh5SFsQluZmPrNdAR 1yMHCyXOnFas4kNdtDts+RTGPtfwFEnsoM9iFKSG7e4/2P7q8r0gNzEIzuCfnDvmZHKB mf7eCfQ/5oIPp6U8FKMaL7TlfV8a5n8EOl+/+LgJZ8sZZ1Rm0evONBr7xkkvYoudAjXA 4s2XbKxP4wjoWEDCoQxWKPm6NpsRPUL522UJzRnzlxEhX4txb2pZ8ML1CHgNAY5QPVHE Dtoj7IjffxFuTm/bp2JfKqZJ+Lb6EZ0ikedBcOgiD4MigNr/aQSbfS/ec0UobdTldXZH esuQ== 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:date:subject:cc:to:from; bh=vkbXpmeUMBhHLJn/h7h2A5fcDiW9O9M97LzC+lX4ygc=; b=FK7Lso1DKhqDiQy4/0rN0fBeRlxNok+2y4Mikc33hOesdbkqnMGpJCjQtCA6WzV/w6 234IrEoETT2NNjG++5bPdtupWkTMit6zaQ1k99qitFZqkuU47s9yLeIaqoMPnaW2Fcnl roeuBwCkNFp32R7dBEux74TSlRi/t4VdqGIjTDnkbYrK7hoZm4/NvmcFln9UvCNN34ZW 388snU0b/ajfgjes5BBvKr2vpqMvPlrsanuV0qwNAN22zTH1Eu6SKwdq0ir3mfEDBiW8 t3x0KXNfHHTlcJJ3jrbZgpZgsnWKvtmTyGjthcKUG+/9qF5pkcsx7JPIF+qp8TScrPL2 pATg== 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 Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id m21-20020a638c15000000b005346ba599ffsi54963pgd.716.2023.05.30.00.22.29; Tue, 30 May 2023 00:22:43 -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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230434AbjE3HTl (ORCPT + 99 others); Tue, 30 May 2023 03:19:41 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50670 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230048AbjE3HT2 (ORCPT ); Tue, 30 May 2023 03:19:28 -0400 Received: from metis.ext.pengutronix.de (metis.ext.pengutronix.de [IPv6:2001:67c:670:201:290:27ff:fe1d:cc33]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C81E2A0 for ; Tue, 30 May 2023 00:19:26 -0700 (PDT) Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1q3tdZ-0006US-9t; Tue, 30 May 2023 09:19:21 +0200 Received: from [2a0a:edc0:0:900:1d::77] (helo=ptz.office.stw.pengutronix.de) by drehscheibe.grey.stw.pengutronix.de with esmtp (Exim 4.94.2) (envelope-from ) id 1q3tdY-003orM-Cf; Tue, 30 May 2023 09:19:20 +0200 Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1q3tdX-009OQt-Co; Tue, 30 May 2023 09:19:19 +0200 From: =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= To: Greg Kroah-Hartman Cc: Mathias Nyman , linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, kernel@pengutronix.de Subject: [PATCH v2 4/6] usb: xhci-plat: Convert to platform remove callback returning void Date: Tue, 30 May 2023 09:19:11 +0200 Message-Id: <20230530071913.2192214-5-u.kleine-koenig@pengutronix.de> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230530071913.2192214-1-u.kleine-koenig@pengutronix.de> References: <20230530071913.2192214-1-u.kleine-koenig@pengutronix.de> MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=3314; i=u.kleine-koenig@pengutronix.de; h=from:subject; bh=YYc694febUOSmPcBF9ut/bBjNN5AUTaNWOSw51GRHbk=; b=owEBbQGS/pANAwAKAY+A+1h9Ev5OAcsmYgBkdaNslW7H6OYyDOVIF/bbx8UO3wm9DXLAhk0jo LoMaMJnOMuJATMEAAEKAB0WIQQ/gaxpOnoeWYmt/tOPgPtYfRL+TgUCZHWjbAAKCRCPgPtYfRL+ Tty/CACEUxJnhSekiONvj04ozkJ91q9iWgXaaJUNw7lmJ7Jl/fYx9lYG2784dj3ibhp8iUffqBa HOkIKxvSA2hZ6JHfmC3ITeoq7gLHKisGzyBXObj5kW6kjokSzmDrm2cT/GdOHQi/pz0ULQaK9KH MA4SHM3phvtlIouMtiLTfhS64TjVFB3cY0tHbtiISUQAxRaGg7SoyVzmD4j5LacT4eZMCJCk2QC 0O1UZMVMMd5m3kM94L/MqCQlpuAKK33aN+Wptu8VhTcGREJeDJC/p9d6Lx537afVMsO7ybJNkJk Qt9b30USgwAPGXbgFFQdcAEIx6i1mYA9fwhGIydv7+G8AsEp X-Developer-Key: i=u.kleine-koenig@pengutronix.de; a=openpgp; fpr=0D2511F322BFAB1C1580266BE2DCDD9132669BD6 X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2 X-SA-Exim-Mail-From: ukl@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable 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?1767302877787361200?= X-GMAIL-MSGID: =?utf-8?q?1767302877787361200?= The .remove() callback for a platform driver returns an int which makes many driver authors wrongly assume it's possible to do error handling by returning an error code. However the value returned is ignored (apart from emitting a warning) and this typically results in resource leaks. To improve here there is a quest to make the remove callback return void. In the first step of this quest all drivers are converted to .remove_new() which already returns void. Eventually after all drivers are converted, .remove_new() is renamed to .remove(). To convert the xhci-plat driver, change the prototype of xhci_plat_remove() to return void. As this function is exported and used by the xhci-rcar driver, convert this driver at the same time accordingly. Signed-off-by: Uwe Kleine-König --- drivers/usb/host/xhci-plat.c | 6 ++---- drivers/usb/host/xhci-plat.h | 2 +- drivers/usb/host/xhci-rcar.c | 6 +++--- 3 files changed, 6 insertions(+), 8 deletions(-) diff --git a/drivers/usb/host/xhci-plat.c b/drivers/usb/host/xhci-plat.c index a666b21c21bb..a52d73c2cd80 100644 --- a/drivers/usb/host/xhci-plat.c +++ b/drivers/usb/host/xhci-plat.c @@ -395,7 +395,7 @@ static int xhci_generic_plat_probe(struct platform_device *pdev) return xhci_plat_probe(pdev, sysdev, priv_match); } -int xhci_plat_remove(struct platform_device *dev) +void xhci_plat_remove(struct platform_device *dev) { struct usb_hcd *hcd = platform_get_drvdata(dev); struct xhci_hcd *xhci = hcd_to_xhci(hcd); @@ -426,8 +426,6 @@ int xhci_plat_remove(struct platform_device *dev) pm_runtime_disable(&dev->dev); pm_runtime_put_noidle(&dev->dev); pm_runtime_set_suspended(&dev->dev); - - return 0; } EXPORT_SYMBOL_GPL(xhci_plat_remove); @@ -526,7 +524,7 @@ MODULE_DEVICE_TABLE(acpi, usb_xhci_acpi_match); static struct platform_driver usb_generic_xhci_driver = { .probe = xhci_generic_plat_probe, - .remove = xhci_plat_remove, + .remove_new = xhci_plat_remove, .shutdown = usb_hcd_platform_shutdown, .driver = { .name = "xhci-hcd", diff --git a/drivers/usb/host/xhci-plat.h b/drivers/usb/host/xhci-plat.h index 83b5b5aa9f8e..2d15386f2c50 100644 --- a/drivers/usb/host/xhci-plat.h +++ b/drivers/usb/host/xhci-plat.h @@ -25,7 +25,7 @@ struct xhci_plat_priv { int xhci_plat_probe(struct platform_device *pdev, struct device *sysdev, const struct xhci_plat_priv *priv_match); -int xhci_plat_remove(struct platform_device *dev); +void xhci_plat_remove(struct platform_device *dev); extern const struct dev_pm_ops xhci_plat_pm_ops; #endif /* _XHCI_PLAT_H */ diff --git a/drivers/usb/host/xhci-rcar.c b/drivers/usb/host/xhci-rcar.c index ad966b797b89..bf5261fed32c 100644 --- a/drivers/usb/host/xhci-rcar.c +++ b/drivers/usb/host/xhci-rcar.c @@ -276,10 +276,10 @@ static int xhci_renesas_probe(struct platform_device *pdev) } static struct platform_driver usb_xhci_renesas_driver = { - .probe = xhci_renesas_probe, - .remove = xhci_plat_remove, + .probe = xhci_renesas_probe, + .remove_new = xhci_plat_remove, .shutdown = usb_hcd_platform_shutdown, - .driver = { + .driver = { .name = "xhci-renesas-hcd", .pm = &xhci_plat_pm_ops, .of_match_table = usb_xhci_of_match, From patchwork Tue May 30 07:19:12 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= X-Patchwork-Id: 100595 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp1997092vqr; Tue, 30 May 2023 00:28:04 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ5WEGzWLNHWIkoeAWqOrCu9dtSyHFk5Qx90J/i361Yd7OwjqMQQACEjnyCknaM361el7B7c X-Received: by 2002:aa7:88d1:0:b0:64a:f8c9:a421 with SMTP id k17-20020aa788d1000000b0064af8c9a421mr1600911pff.32.1685431684110; Tue, 30 May 2023 00:28:04 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1685431684; cv=none; d=google.com; s=arc-20160816; b=ehjx7+fWX4iJ2MugmEXBrs5ZmjHi6ap/NMtnut1fPSR4pR27IVGFzu2XRTSvWuECjs CKvr+06LsSIyGMdaMALdwex4nZcvVxLIzadjNs/JLO9UdCb3MR8yFWuMTKnk2zy6Wwv1 HFhinAXBfRFigoopSexMZTD4nO2mFez1D9+xT9BlIu2YiWl74kN+6zTsmZFbf8yJGT1K AHw8XnQI1kb0iJFsUCSQ2rGE8Yrsf572hviBbybbxEWXYk2naMJoznmrne079BZ2tSct EfcMzuJwNo92L2bHyAu6SKhqq3BByOFRQFs57NaY4aC/9fcKoNXPrkivjXFA7+cC0Qg8 CU7A== 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:date:subject:cc:to:from; bh=FGO5aDhcKmRuRMXMYZ0oES2RkwFMHeGXxfwUYkzc2B0=; b=Rd7uFgtCg7Qah9JXP2j95x9CXw8LWDgkMmJfUxKuC/X0GsKvP8pHEoEB7ncunwYRxt OJMxFCKslnOhllzOw95pEcXPUHRiADW/WsiTmsdc96zWWgWjIxatMvb25v9FPK40cz0u zeVpsrjvTcsEFOjGjlEyxnFpmogIct+WFAYVtta86FCmF1apIQXv+dQDmWb3GPJRxnZ1 PkXqWpV3/o6KQ86EV+8A38ilYJ3xHxJTDd+5shJzMfVX+ZJMYtMUqvP0pkhgahguoh+N VCdMkpeMN4dObitHOMd+C1btNpBh2+o9s27ZVBAzriYnaEBWPhYje6F0i9ZX8RvotqA2 isUQ== 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 Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id j20-20020a637a54000000b0053592294fc0si10587990pgn.256.2023.05.30.00.27.51; Tue, 30 May 2023 00:28:04 -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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230405AbjE3HTv (ORCPT + 99 others); Tue, 30 May 2023 03:19:51 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50818 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230343AbjE3HTh (ORCPT ); Tue, 30 May 2023 03:19:37 -0400 Received: from metis.ext.pengutronix.de (metis.ext.pengutronix.de [IPv6:2001:67c:670:201:290:27ff:fe1d:cc33]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 67798FA for ; Tue, 30 May 2023 00:19:30 -0700 (PDT) Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1q3tda-0006UT-7R; Tue, 30 May 2023 09:19:22 +0200 Received: from [2a0a:edc0:0:900:1d::77] (helo=ptz.office.stw.pengutronix.de) by drehscheibe.grey.stw.pengutronix.de with esmtp (Exim 4.94.2) (envelope-from ) id 1q3tdY-003orP-Dp; Tue, 30 May 2023 09:19:20 +0200 Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1q3tdX-009OQx-LX; Tue, 30 May 2023 09:19:19 +0200 From: =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= To: Greg Kroah-Hartman Cc: Mathias Nyman , Thierry Reding , Jonathan Hunter , linux-usb@vger.kernel.org, linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org, kernel@pengutronix.de Subject: [PATCH v2 5/6] usb: xhci-tegra: Convert to platform remove callback returning void Date: Tue, 30 May 2023 09:19:12 +0200 Message-Id: <20230530071913.2192214-6-u.kleine-koenig@pengutronix.de> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230530071913.2192214-1-u.kleine-koenig@pengutronix.de> References: <20230530071913.2192214-1-u.kleine-koenig@pengutronix.de> MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=1988; i=u.kleine-koenig@pengutronix.de; h=from:subject; bh=D03RaPledHkbDmX3jxjjjIz2QcRcNBKlRdfPy+QWwm4=; b=owEBbQGS/pANAwAKAY+A+1h9Ev5OAcsmYgBkdaNtHEwbsEmoBDCMj25ZlRvDNhIjatU2qBWai wGtSKOpjQ2JATMEAAEKAB0WIQQ/gaxpOnoeWYmt/tOPgPtYfRL+TgUCZHWjbQAKCRCPgPtYfRL+ ToxgCACfJvxTpMm3VLewY6OdSuWp1MRkbZo/35viwLR3ueU/OLqFsZg+kPpusf67m5Uyu9aKaLr gUELWDbxsIUuKI0dRGoN0Y8Cv5m7dU+EtcwXYiOev8/7NGreQlS8XjcZtAezL8wVVG1UDQdftiT KccCp1tjU4DEB5JKSirTqfudX8yKCDL/+dJOJlrWe+joyXan4IQ7S4sp4X1zkiINVpffu3adu0d 40Hhj5AJitqcTjVkJ81Hl+B6eti6iv9MxmymDbKGbqbIsIbjJ4EHNpy4t2kS2bkBWsX2AJdPCxu AUAEGYvRwXAU75ghpFhkFnMrNJJXyX7Wa5MnxpnZB/4UkycR X-Developer-Key: i=u.kleine-koenig@pengutronix.de; a=openpgp; fpr=0D2511F322BFAB1C1580266BE2DCDD9132669BD6 X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2 X-SA-Exim-Mail-From: ukl@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable 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?1767303213277491330?= X-GMAIL-MSGID: =?utf-8?q?1767303213277491330?= The .remove() callback for a platform driver returns an int which makes many driver authors wrongly assume it's possible to do error handling by returning an error code. However the value returned is ignored (apart from emitting a warning) and this typically results in resource leaks. To improve here there is a quest to make the remove callback return void. In the first step of this quest all drivers are converted to .remove_new() which already returns void. Eventually after all drivers are converted, .remove_new() is renamed to .remove(). Trivially convert this driver from always returning zero in the remove callback to the void returning variant. Signed-off-by: Uwe Kleine-König --- drivers/usb/host/xhci-tegra.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/usb/host/xhci-tegra.c b/drivers/usb/host/xhci-tegra.c index 393e2c8064bd..f124483044a2 100644 --- a/drivers/usb/host/xhci-tegra.c +++ b/drivers/usb/host/xhci-tegra.c @@ -1912,7 +1912,7 @@ static int tegra_xusb_probe(struct platform_device *pdev) return err; } -static int tegra_xusb_remove(struct platform_device *pdev) +static void tegra_xusb_remove(struct platform_device *pdev) { struct tegra_xusb *tegra = platform_get_drvdata(pdev); struct xhci_hcd *xhci = hcd_to_xhci(tegra->hcd); @@ -1942,8 +1942,6 @@ static int tegra_xusb_remove(struct platform_device *pdev) tegra_xusb_clk_disable(tegra); regulator_bulk_disable(tegra->soc->num_supplies, tegra->supplies); tegra_xusb_padctl_put(tegra->padctl); - - return 0; } static bool xhci_hub_ports_suspended(struct xhci_hub *hub) @@ -2653,7 +2651,7 @@ MODULE_DEVICE_TABLE(of, tegra_xusb_of_match); static struct platform_driver tegra_xusb_driver = { .probe = tegra_xusb_probe, - .remove = tegra_xusb_remove, + .remove_new = tegra_xusb_remove, .driver = { .name = "tegra-xusb", .pm = &tegra_xusb_pm_ops, From patchwork Tue May 30 07:19:13 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= X-Patchwork-Id: 100589 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp1996432vqr; Tue, 30 May 2023 00:26:15 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ4WuQL8Ayir9kVauupGTM2bjwHcj89q7hc16CN5itwTqmIQI1wHKYWzIBkEovw1+7PDQ95C X-Received: by 2002:a17:90a:fb8d:b0:247:6ead:d0ed with SMTP id cp13-20020a17090afb8d00b002476eadd0edmr1562170pjb.28.1685431575539; Tue, 30 May 2023 00:26:15 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1685431575; cv=none; d=google.com; s=arc-20160816; b=l8+08G6jSvz4Wv5fCRd99aSnPSgSq/3QRvUxls1QBPtpIWFV7dtd3MSQz7deZedVYR pa3773Eg/9FLwVVHfgzwwQei9jprLoRDA/tpiVI5yK+Y0O9nfINQU6ehadKGhz3WPXHn q7cFz28dI5/IZVBetLH46JHs4G0X2IaonY/CNCmGTogR1q/BTdyK/cLDBRFLM4p5aq+b zFBMiJGlsCxqAJhsjrxCClyhzEDe63svXGIYmDG08xY/gdRaNQ3fAcMlTDyRP37trRtQ 80+6bo8aUdgcz1z4V8NXlGDNViexEFuHQRXdLtLKQMRCkCoM9jjukhpc7QUhlOzq/API VhPg== 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:date:subject:cc:to:from; bh=9psZxNIOlNCc9My381sukDD4nZgc1jUBvxhA597B52o=; b=TM6LRusS9lELpCbcH/QN/v95pjVqnpCQ9KAL89QsVfE6Cncv9qvo6aDT8ERdG3v68A tDB9LWpCFJIhnTqSSwELana6pltTlzofskZD3yw11uxnnMOyscvNFLei2XEj/DzziAXA hx1+2at1x0cWXIf1mqCtTS04A8Dcwhry8xO99DfxlaiEL3yyipwBR3rlqc6tK0IGl/tw 1+Lla+S5QunGwJHCjiNEWcCnYjZa8x3wfHgflzZgRM4CsTdjeydWWCfybzNWM39IRbCl VuVa1HexMxyoQL7j3FVEJDj/awKdY9hJxDj2mZuq8fyyvdWIqOpqt48VQLo4yNYvIWpD ABXg== 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 Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id h125-20020a636c83000000b0053f86e371a6si3188604pgc.231.2023.05.30.00.26.01; Tue, 30 May 2023 00:26:15 -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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231149AbjE3HVG (ORCPT + 99 others); Tue, 30 May 2023 03:21:06 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51770 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231130AbjE3HUr (ORCPT ); Tue, 30 May 2023 03:20:47 -0400 Received: from metis.ext.pengutronix.de (metis.ext.pengutronix.de [IPv6:2001:67c:670:201:290:27ff:fe1d:cc33]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 88647130 for ; Tue, 30 May 2023 00:20:11 -0700 (PDT) Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1q3tda-0006UU-IX; Tue, 30 May 2023 09:19:22 +0200 Received: from [2a0a:edc0:0:900:1d::77] (helo=ptz.office.stw.pengutronix.de) by drehscheibe.grey.stw.pengutronix.de with esmtp (Exim 4.94.2) (envelope-from ) id 1q3tdY-003orU-JK; Tue, 30 May 2023 09:19:20 +0200 Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1q3tdX-009OR1-SR; Tue, 30 May 2023 09:19:19 +0200 From: =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= To: Greg Kroah-Hartman Cc: Bryan O'Donoghue , Guenter Roeck , Andy Gross , Bjorn Andersson , Konrad Dybcio , Heikki Krogerus , linux-arm-msm@vger.kernel.org, linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, kernel@pengutronix.de Subject: [PATCH v2 6/6] usb: typec: qcom-pmic-typec: Convert to platform remove callback returning void Date: Tue, 30 May 2023 09:19:13 +0200 Message-Id: <20230530071913.2192214-7-u.kleine-koenig@pengutronix.de> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230530071913.2192214-1-u.kleine-koenig@pengutronix.de> References: <20230530071913.2192214-1-u.kleine-koenig@pengutronix.de> MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=2217; i=u.kleine-koenig@pengutronix.de; h=from:subject; bh=jpdI0wKAzCKfSIdoytHtaArQhcpWcjWM7rMVkKxkEf8=; b=owEBbQGS/pANAwAKAY+A+1h9Ev5OAcsmYgBkdaNuHZQHNrrYNxx7x6G8L2H4hx+Uadud3Tupk DLu1oU6p9qJATMEAAEKAB0WIQQ/gaxpOnoeWYmt/tOPgPtYfRL+TgUCZHWjbgAKCRCPgPtYfRL+ Thh/CACxNzUceNfCaLmXLS91AoiU3oYlDx3kbimDWN849Bb81GFi0f0IPnZ0SZkflTYVYaZ8YOc PWheY7wGuat7niquEnZCtVziQm33cZ10UXgsxJgWfuVaRHsIxxVRdkmhEGG4Vmxs75xKOEwjy45 q2hzDx7jI9zIkkgZvMB8V6LzrovT728DXSgkQ4bXE9uLGxBUAdmPpd9I0J3+jOlhTSPFBys7vCB QDBhWG3gBZAxuRTGibWSsxqIG7GmsOomuR9stCwzUemKEQF1gaq7B0IXNHy9d1T2qAisdA5i0Qm +FCEz7vErMTeomPi/kvHx4pPG/8RRh/BzBGxlZQZrOBwWJjh X-Developer-Key: i=u.kleine-koenig@pengutronix.de; a=openpgp; fpr=0D2511F322BFAB1C1580266BE2DCDD9132669BD6 X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2 X-SA-Exim-Mail-From: ukl@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable 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?1767303099727760826?= X-GMAIL-MSGID: =?utf-8?q?1767303099727760826?= The .remove() callback for a platform driver returns an int which makes many driver authors wrongly assume it's possible to do error handling by returning an error code. However the value returned is ignored (apart from emitting a warning) and this typically results in resource leaks. To improve here there is a quest to make the remove callback return void. In the first step of this quest all drivers are converted to .remove_new() which already returns void. Eventually after all drivers are converted, .remove_new() is renamed to .remove(). Trivially convert this driver from always returning zero in the remove callback to the void returning variant. Reviewed-by: Konrad Dybcio Acked-by: Bryan O'Donoghue Acked-by: Heikki Krogerus Signed-off-by: Uwe Kleine-König --- drivers/usb/typec/tcpm/qcom/qcom_pmic_typec.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/usb/typec/tcpm/qcom/qcom_pmic_typec.c b/drivers/usb/typec/tcpm/qcom/qcom_pmic_typec.c index 191458ce4a06..f9e63ef35dca 100644 --- a/drivers/usb/typec/tcpm/qcom/qcom_pmic_typec.c +++ b/drivers/usb/typec/tcpm/qcom/qcom_pmic_typec.c @@ -236,7 +236,7 @@ static int qcom_pmic_typec_probe(struct platform_device *pdev) return ret; } -static int qcom_pmic_typec_remove(struct platform_device *pdev) +static void qcom_pmic_typec_remove(struct platform_device *pdev) { struct pmic_typec *tcpm = platform_get_drvdata(pdev); @@ -244,8 +244,6 @@ static int qcom_pmic_typec_remove(struct platform_device *pdev) qcom_pmic_typec_port_stop(tcpm->pmic_typec_port); tcpm_unregister_port(tcpm->tcpm_port); fwnode_remove_software_node(tcpm->tcpc.fwnode); - - return 0; } static struct pmic_typec_pdphy_resources pm8150b_pdphy_res = { @@ -337,7 +335,7 @@ static struct platform_driver qcom_pmic_typec_driver = { .of_match_table = qcom_pmic_typec_table, }, .probe = qcom_pmic_typec_probe, - .remove = qcom_pmic_typec_remove, + .remove_new = qcom_pmic_typec_remove, }; module_platform_driver(qcom_pmic_typec_driver);