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 CAF2CC169C4 for ; Fri, 8 Feb 2019 18:25:35 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 9F83F2077B for ; Fri, 8 Feb 2019 18:25:35 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="B1WFFYWX" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727859AbfBHSZe (ORCPT ); Fri, 8 Feb 2019 13:25:34 -0500 Received: from mail-wm1-f68.google.com ([209.85.128.68]:38964 "EHLO mail-wm1-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727084AbfBHSZe (ORCPT ); Fri, 8 Feb 2019 13:25:34 -0500 Received: by mail-wm1-f68.google.com with SMTP id f16so4619992wmh.4 for ; Fri, 08 Feb 2019 10:25:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:subject:to:cc:message-id:date:user-agent:mime-version :content-language:content-transfer-encoding; bh=aF5T4OhMZCORqzC8ZHPxKpxavik+6XY0S5b6DSvxAOA=; b=B1WFFYWXfEMSltdsGMWuOWPi8P6hJsU7MD4kWQY5zu7E8h/5LTu7JKScpnfOV1JlTp tB6a0ZH8YC8dFFmpvMvnGNm/BRgS+UMNGBSIVPppwfOVQouq790KdvWDaQfFnCrs0ltX RY+z+jQsEzyj7LPDRK6KReuoybU7nS5zME0+u7FvmDIX+UWXf49wa6TqNMNypaq+4h0T fHr6MLqui6sPUeeGBic420zpyvzFDI+c6iDC1VPIg2JfoUySKmmwilSqOfz/xtqvrzeV KEgUbMf8bblhe6GMgz6tipBXKleO2O2aCVf+U8ScLL/nbFk/1eyXrvcVJ8J5g5xLn91C 4TNw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:subject:to:cc:message-id:date:user-agent :mime-version:content-language:content-transfer-encoding; bh=aF5T4OhMZCORqzC8ZHPxKpxavik+6XY0S5b6DSvxAOA=; b=DyTCWKbWr94cgpwcJwmxJt4DP9G6UrE4iDmb1KO/ambsaWATt8+wuMBtYIzlyVSUG7 vZxO+4OgoG86f5UM3FajWKWBqQstzQa3ozo4ySO03dKWwML84PnNWPa4qJ2QZLFGVnYa K+h54fRWFucZJ4FG2+BZZ7uNIBF55toX2SC2GR3Z3Yo60N27oa1/MDna9Oq143fLdVxN mI8TtsMjAdtSRyjdhbySURhIUoddMDCLqUePW7oFhE4+xuktN+2yhHCsnERzs+0rZXC/ kEA93qXs9X4QkzmevpwiSawpWIEbWVzzrvl+lsJV80wB+qOtjWqeyDARrz2nOEgaoDKq Up1g== X-Gm-Message-State: AHQUAubvP1g/MVkv94+0YSpXbBc6uN0mNaFnJ7l2DulhfnArA5rk2Zjy 4oh5qE5h3D5z5mQzL1lOI2a2Duzz X-Google-Smtp-Source: AHgI3Ib8yhjUVu6pdwIjNcsJJjlnho3lDDAi2S/zBEeotZ7EYnVlTzAom0NyKmukEFhRfXDxK5R7Hg== X-Received: by 2002:a1c:a701:: with SMTP id q1mr34501wme.130.1549650331581; Fri, 08 Feb 2019 10:25:31 -0800 (PST) Received: from ?IPv6:2003:ea:8bf1:e200:7cef:f5e9:d82c:bb62? (p200300EA8BF1E2007CEFF5E9D82CBB62.dip0.t-ipconnect.de. [2003:ea:8bf1:e200:7cef:f5e9:d82c:bb62]) by smtp.googlemail.com with ESMTPSA id b18sm2779127wrr.43.2019.02.08.10.25.30 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 08 Feb 2019 10:25:30 -0800 (PST) From: Heiner Kallweit Subject: [PATCH v2 net-next] net: phy: disregard "Clause 22 registers present" bit in get_phy_c45_devs_in_pkg To: Andrew Lunn , Florian Fainelli , David Miller Cc: "netdev@vger.kernel.org" Message-ID: Date: Fri, 8 Feb 2019 19:25:22 +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 Bit 0 in register 1.5 doesn't represent a device but is a flag that Clause 22 registers are present. Therefore disregard this bit when populating the device list. If code needs this information it should read register 1.5 directly instead of accessing the device list. Because this bit doesn't represent a device don't define a MDIO_MMD_XYZ constant, just define a MDIO_DEVS_XYZ constant for the flag in the device list bitmap. v2: - make masking of bit 0 more explicit - improve commit message Signed-off-by: Heiner Kallweit --- drivers/net/phy/phy_device.c | 3 +++ include/uapi/linux/mdio.h | 1 + 2 files changed, 4 insertions(+) diff --git a/drivers/net/phy/phy_device.c b/drivers/net/phy/phy_device.c index 9369e1323..d4fc1fd8a 100644 --- a/drivers/net/phy/phy_device.c +++ b/drivers/net/phy/phy_device.c @@ -684,6 +684,9 @@ static int get_phy_c45_devs_in_pkg(struct mii_bus *bus, int addr, int dev_addr, return -EIO; *devices_in_package |= (phy_reg & 0xffff); + /* Bit 0 doesn't represent a device, it indicates c22 regs presence */ + *devices_in_package &= ~BIT(0); + return 0; } diff --git a/include/uapi/linux/mdio.h b/include/uapi/linux/mdio.h index 2e6e309f0..0e012b168 100644 --- a/include/uapi/linux/mdio.h +++ b/include/uapi/linux/mdio.h @@ -115,6 +115,7 @@ /* Device present registers. */ #define MDIO_DEVS_PRESENT(devad) (1 << (devad)) +#define MDIO_DEVS_C22PRESENT MDIO_DEVS_PRESENT(0) #define MDIO_DEVS_PMAPMD MDIO_DEVS_PRESENT(MDIO_MMD_PMAPMD) #define MDIO_DEVS_WIS MDIO_DEVS_PRESENT(MDIO_MMD_WIS) #define MDIO_DEVS_PCS MDIO_DEVS_PRESENT(MDIO_MMD_PCS) -- 2.20.1