Received: by 2002:ac2:48a3:0:0:0:0:0 with SMTP id u3csp554016lfg; Fri, 11 Mar 2022 13:05:20 -0800 (PST) X-Google-Smtp-Source: ABdhPJxWM77KEnE1bwPk467BTCfX068QAiypv7rcXcKJURKQ/Xeavv1Tp0G/kavc+ZreHAAvrNOT X-Received: by 2002:a17:90b:1c0c:b0:1bf:a639:a395 with SMTP id oc12-20020a17090b1c0c00b001bfa639a395mr17939232pjb.27.1647032719852; Fri, 11 Mar 2022 13:05:19 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1647032719; cv=none; d=google.com; s=arc-20160816; b=SxWLakaeoKNwyzlm+rVHW26ygLNJq+VxriTQ7XmLlP2WEAx2UyL6ffpyrHYCxtlFPx YlhlEC/jk+OKbO75E5oP5kaxuNGkzObF3OxaU1DbyQg9K1FB1V5nyHXKsU0F1NpjDCBZ Vu0qv/9pzkwVZIntPwUCvI6ZuSojSjlCrVJvjHbiF0b6mcQRvu/2hA4rLHIolNitIY9A ckIiJZw7ONEUuu8jcpjeP/i+TBWMI/81FePXZFeClVDQDhy2VPuvSoVbR29wJTJwrp4v 18AWtnfVaQDwXfvfkBvrG/i5tStS25/MnPQkXU9EL2dHfgHwkn5J+jEYDAzTzVhKfuI9 fqLg== 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 :message-id:date:subject:cc:to:from; bh=1QP8Gfyq8hh45iUOUWMfekesuFzo3WBN6OZ7wAII+zA=; b=UN/J7HUGRx24fLVlsh2yf9bARB8CRtB3pS33wzixgdjbjyeVC+g/BoWa7a+DloaFGz yCWpY8OgPxv5O+Jp2Pa6zdlvVwd5JyYKv2lk5QEzlIInnK3/CHRl5OPtfegUIQGp2LZT q9UUoooMDeb4s2b3E1gp5jYfHobvd+AHFDxSE+wWuI5TO+Hzd5yVkSv0T9bu+MeFcfq4 do4PYn/SsV574gTUpTNlZV62jFBDLNT2FxVu468UmzTD9p6fZcBSSg5ot/FV3ksyYND3 kK7j9zd+EWU5AMOOxkVodlcSj6/Wwka3GF+qEhD+Wapex9sNw+KJ0cmcw8rIoDpXQK28 ajQw== 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:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [2620:137:e000::1:18]) by mx.google.com with ESMTPS id l11-20020a056a00140b00b004f3a81da9a5si9127202pfu.234.2022.03.11.13.04.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 11 Mar 2022 13:05:19 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) client-ip=2620:137:e000::1:18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id F3CC41795C0; Fri, 11 Mar 2022 12:50:05 -0800 (PST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S242489AbiCKIvh (ORCPT + 99 others); Fri, 11 Mar 2022 03:51:37 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34912 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S238760AbiCKIv2 (ORCPT ); Fri, 11 Mar 2022 03:51:28 -0500 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 54A591BA93A for ; Fri, 11 Mar 2022 00:50:24 -0800 (PST) Received: from dude.hi.pengutronix.de ([2001:67c:670:100:1d::7]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nSayY-0004dp-AT; Fri, 11 Mar 2022 09:50:18 +0100 Received: from ore by dude.hi.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1nSayV-00552d-M1; Fri, 11 Mar 2022 09:50:15 +0100 From: Oleksij Rempel To: "David S. Miller" , Jakub Kicinski , Andrew Lunn , Heiner Kallweit , Russell King Cc: Oleksij Rempel , kernel@pengutronix.de, linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org, netdev@vger.kernel.org, paskripkin@gmail.com Subject: [PATCH net-next v2 1/4] net: usb: asix: unify ax88772_resume code Date: Fri, 11 Mar 2022 09:50:11 +0100 Message-Id: <20220311085014.1210963-1-o.rempel@pengutronix.de> X-Mailer: git-send-email 2.30.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-SA-Exim-Connect-IP: 2001:67c:670:100:1d::7 X-SA-Exim-Mail-From: ore@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=-1.9 required=5.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RDNS_NONE, SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=no 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 The only difference is the reset code, so remove not needed duplicates. Signed-off-by: Oleksij Rempel --- drivers/net/usb/asix.h | 1 + drivers/net/usb/asix_devices.c | 32 ++++++++------------------------ 2 files changed, 9 insertions(+), 24 deletions(-) diff --git a/drivers/net/usb/asix.h b/drivers/net/usb/asix.h index 4334aafab59a..b5ac693cebf2 100644 --- a/drivers/net/usb/asix.h +++ b/drivers/net/usb/asix.h @@ -177,6 +177,7 @@ struct asix_rx_fixup_info { struct asix_common_private { void (*resume)(struct usbnet *dev); void (*suspend)(struct usbnet *dev); + int (*reset)(struct usbnet *dev, int in_pm); u16 presvd_phy_advertise; u16 presvd_phy_bmcr; struct asix_rx_fixup_info rx_fixup_info; diff --git a/drivers/net/usb/asix_devices.c b/drivers/net/usb/asix_devices.c index e6cfa9a39a87..28bb98cdfa33 100644 --- a/drivers/net/usb/asix_devices.c +++ b/drivers/net/usb/asix_devices.c @@ -625,27 +625,13 @@ static void ax88772_resume(struct usbnet *dev) int i; for (i = 0; i < 3; i++) - if (!ax88772_hw_reset(dev, 1)) + if (!priv->reset(dev, 1)) break; if (netif_running(dev->net)) phy_start(priv->phydev); } -static void ax88772a_resume(struct usbnet *dev) -{ - struct asix_common_private *priv = dev->driver_priv; - int i; - - for (i = 0; i < 3; i++) { - if (!ax88772a_hw_reset(dev, 1)) - break; - } - - if (netif_running(dev->net)) - phy_start(priv->phydev); -} - static int asix_resume(struct usb_interface *intf) { struct usbnet *dev = usb_get_intfdata(intf); @@ -763,9 +749,14 @@ static int ax88772_bind(struct usbnet *dev, struct usb_interface *intf) chipcode &= AX_CHIPCODE_MASK; - ret = (chipcode == AX_AX88772_CHIPCODE) ? ax88772_hw_reset(dev, 0) : - ax88772a_hw_reset(dev, 0); + priv->resume = ax88772_resume; + priv->suspend = ax88772_suspend; + if (chipcode == AX_AX88772_CHIPCODE) + priv->reset = ax88772_hw_reset; + else + priv->reset = ax88772a_hw_reset; + ret = priv->reset(dev, 0); if (ret < 0) { netdev_dbg(dev->net, "Failed to reset AX88772: %d\n", ret); return ret; @@ -780,13 +771,6 @@ static int ax88772_bind(struct usbnet *dev, struct usb_interface *intf) priv->presvd_phy_bmcr = 0; priv->presvd_phy_advertise = 0; - if (chipcode == AX_AX88772_CHIPCODE) { - priv->resume = ax88772_resume; - priv->suspend = ax88772_suspend; - } else { - priv->resume = ax88772a_resume; - priv->suspend = ax88772_suspend; - } ret = ax88772_init_mdio(dev); if (ret) -- 2.30.2