From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.1 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id B4B1FC169C4 for ; Mon, 11 Feb 2019 21:32:14 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 80A8F2184A for ; Mon, 11 Feb 2019 21:32:14 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="PmdALQHp" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727448AbfBKVcM (ORCPT ); Mon, 11 Feb 2019 16:32:12 -0500 Received: from mail-wm1-f67.google.com ([209.85.128.67]:33946 "EHLO mail-wm1-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726140AbfBKVcM (ORCPT ); Mon, 11 Feb 2019 16:32:12 -0500 Received: by mail-wm1-f67.google.com with SMTP id y185so798035wmd.1 for ; Mon, 11 Feb 2019 13:32:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=to:cc:from:subject:message-id:date:user-agent:mime-version :content-language:content-transfer-encoding; bh=qKbvYSrQMgPw7tLxc9EkRAXhsrw/Rb4W8a22Gr0YDWU=; b=PmdALQHpXpQfLodb/irB6gqy4l7yBw7IJkKPTwH7m1roSbHl9Lwhs9yvC+oU+/JnsE quVhBv8hxLno1BcHhWHYcNYlQeOOOlH7nt/oZ0fVUzuBHyRt7lfszzZrGzy8acUJv3cD NbkwDFY7OsZdnvqajkm+nR0OBeZjkBckUh6VNXQhcOgYUJ9mULZaLYZifyCLbSWlajjI rfdKh4iNeRi9OtmIUVVJYPK5hKjtYquALQloR00kx9HxSA44RsWO5JqO+NeZ+Jk2+qSB wdrKQaTZtP8xKnvBV4IZAApqPCo/LjA3AQ08POHwXGGNkjalNkI5FTGrJ75ekFXc3WdH +4IQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:to:cc:from:subject:message-id:date:user-agent :mime-version:content-language:content-transfer-encoding; bh=qKbvYSrQMgPw7tLxc9EkRAXhsrw/Rb4W8a22Gr0YDWU=; b=cfWYiDDbXopX71OaGNcxcRUlU093uNU/wXLwJnUguYo16GqVxp9TsHfuRp+4BNW2j/ ndO9xzGSazewbxD1cxyCnt3HDggSw8aw8mS3avpSSKkGuCDVECQOERbkPg2ei0DPNK3M uqqfOA3ucP4jKHD5jxpOfiR6ZDodFNiJRBMQkBih7fIFlEmlAGYZaJvVFkboRRJbRgk0 X2A2W/h8wkMQWzY+zb0LNB0tNkSKnyT57i1pijRHvgdKVJ2C783EoaBtYvmiucr/sAKB mC47tRBRGGR0vb9Z7/aC71YI4ljWPwxl8X8Hm5TxTY5LPy6kRQ7ISLwfvKHHsvRwXPZO pxrA== X-Gm-Message-State: AHQUAuanLx1H3D0p6WbSVPICS+WdgXYnEy58Q004waT2LNnYlIe88VHW prXRifozcHUimSvXkZF/fXQs2a54 X-Google-Smtp-Source: AHgI3Ib9BM1cQuCyLFQewn23M0a3BNRnuHP4e8tOERXWSgMUMYnxOhAsbrylowhH4xebGorb5Yg68w== X-Received: by 2002:a1c:2544:: with SMTP id l65mr200385wml.93.1549920730449; Mon, 11 Feb 2019 13:32:10 -0800 (PST) Received: from [192.168.178.85] (p2E55CCEB.dip0.t-ipconnect.de. [46.85.204.235]) by smtp.googlemail.com with ESMTPSA id l129sm279243wml.42.2019.02.11.13.32.09 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 11 Feb 2019 13:32:09 -0800 (PST) To: Andrew Lunn , Florian Fainelli , David Miller Cc: "netdev@vger.kernel.org" From: Heiner Kallweit Subject: [PATCH net-next] net: phy: simplify genphy_config_eee_advert Message-ID: <8323b521-11aa-c9b2-1ac3-52b8b6439fa7@gmail.com> Date: Mon, 11 Feb 2019 22:16:13 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.5.0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Use new function phy_modify_mmd_changed(), the result speaks for itself. Signed-off-by: Heiner Kallweit --- drivers/net/phy/phy_device.c | 27 ++++++--------------------- 1 file changed, 6 insertions(+), 21 deletions(-) diff --git a/drivers/net/phy/phy_device.c b/drivers/net/phy/phy_device.c index 3d14e48ae..2c61282a2 100644 --- a/drivers/net/phy/phy_device.c +++ b/drivers/net/phy/phy_device.c @@ -1578,31 +1578,16 @@ static int genphy_config_advert(struct phy_device *phydev) */ static int genphy_config_eee_advert(struct phy_device *phydev) { - int broken = phydev->eee_broken_modes; - int old_adv, adv; + int err; /* Nothing to disable */ - if (!broken) + if (!phydev->eee_broken_modes) return 0; - /* If the following call fails, we assume that EEE is not - * supported by the phy. If we read 0, EEE is not advertised - * In both case, we don't need to continue - */ - adv = phy_read_mmd(phydev, MDIO_MMD_AN, MDIO_AN_EEE_ADV); - if (adv <= 0) - return 0; - - old_adv = adv; - adv &= ~broken; - - /* Advertising remains unchanged with the broken mask */ - if (old_adv == adv) - return 0; - - phy_write_mmd(phydev, MDIO_MMD_AN, MDIO_AN_EEE_ADV, adv); - - return 1; + err = phy_modify_mmd_changed(phydev, MDIO_MMD_AN, MDIO_AN_EEE_ADV, + phydev->eee_broken_modes, 0); + /* If the call failed, we assume that EEE is not supported */ + return err < 0 ? 0 : err; } /** -- 2.20.1