Received: by 2002:a05:6a10:413:0:0:0:0 with SMTP id 19csp1408672pxp; Thu, 10 Mar 2022 05:06:02 -0800 (PST) X-Google-Smtp-Source: ABdhPJxEiKuHJyT4ckMXGndXYWmJQBVUOnPoWGxt1t5SmjciXRNu9Kg+nB9v9r5QX7UygFCALZZx X-Received: by 2002:a62:8085:0:b0:4df:443c:7227 with SMTP id j127-20020a628085000000b004df443c7227mr4658660pfd.34.1646917562019; Thu, 10 Mar 2022 05:06:02 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1646917562; cv=none; d=google.com; s=arc-20160816; b=joS6Wzu+B7KowKl8sCm5MTAc1tWgW1GlKgsI1mwOuVAvujGOd2p03AJxxFC572HAEN 9EJEKtOiPnSH+sfQSICYWSvhNJfsm5RCSky/FTDohlllky9W161xSBQWbRJ4DdcbzHt4 ytLjEjV6dfUfH1mSY/sN7Dr3gLse3vFKq0jHcEo3hCOsy/hWeCTK8bvw3iwgmabDOWoL GwUonfoQL/r4ne2oc882bcSzPB3CEUHGU//wO6W3pNYz+zzFrk8HKavvhcWGNhN9Dn8T 6nPwWdwdivgthOga9BB5OTdHYKsF4XxajNeLu8xMUO5FV/zx4pCODC8s8nbuAd9F31o0 W/sQ== 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=OrV93yaNO/bmSN/J/nwdbbyXkPVMF+uNN2tFj+nNoRE=; b=Edup7+THa9EErWln/g3KXyvXnxBq/ts4k3RO6m6yp0jhVaCjECg+afs/s/7MoavSQK qCJarFRxVM+rgz4bpk2d/x+1R1QL8CF2zsMQB++e6xb2iMfnFJMi/madw7gJrfB5VYPT UQlAOTsB0jlNnbDvhH1j+Lx5JxXboPtNSdhvc2dQwNmJ9E/yBcfvqepmQomTBj9WdA5c 8amWsz+8m5rc4lqGIC/9xEvvf+6qDSI/0YqLl76l+quM66Jr2WKBKQa3GjRGkCWrIU1D X8bDhFbf5+niXbEgm63i/CO96dyLPvaKq2QAxa+4teIOGlCD9A+wT6tDQfwCB+PpFYdX 3GmQ== 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 Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id d11-20020a056a0024cb00b004f72031baaasi5180616pfv.370.2022.03.10.05.05.45; Thu, 10 Mar 2022 05:06:01 -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; 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 S241763AbiCJLpr (ORCPT + 99 others); Thu, 10 Mar 2022 06:45:47 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50914 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236354AbiCJLpo (ORCPT ); Thu, 10 Mar 2022 06:45:44 -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 A1EEC5D5F0 for ; Thu, 10 Mar 2022 03:44:43 -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 1nSHDh-0001NO-34; Thu, 10 Mar 2022 12:44:37 +0100 Received: from ore by dude.hi.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1nSHDf-00EXXl-C5; Thu, 10 Mar 2022 12:44:35 +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 v1 1/4] net: usb: asix: unify ax88772_resume code Date: Thu, 10 Mar 2022 12:44:31 +0100 Message-Id: <20220310114434.3465481-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=-4.2 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_MED, 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 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 6ea44e53713a..bb09181596c5 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