From: kernel test robot <lkp@intel.com>
To: kbuild@lists.01.org
Subject: Re: [PATCH v3 2/3] phy: handle optional regulator for PHY
Date: Thu, 26 May 2022 21:30:55 +0800 [thread overview]
Message-ID: <202205262148.yIpMLEH0-lkp@intel.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 25787 bytes --]
CC: llvm(a)lists.linux.dev
CC: kbuild-all(a)lists.01.org
BCC: lkp(a)intel.com
In-Reply-To: <20220523052807.4044800-3-clabbe@baylibre.com>
References: <20220523052807.4044800-3-clabbe@baylibre.com>
TO: Corentin Labbe <clabbe@baylibre.com>
TO: andrew(a)lunn.ch
TO: broonie(a)kernel.org
TO: calvin.johnson(a)oss.nxp.com
TO: davem(a)davemloft.net
TO: edumazet(a)google.com
TO: hkallweit1(a)gmail.com
TO: jernej.skrabec(a)gmail.com
TO: krzysztof.kozlowski+dt(a)linaro.org
TO: kuba(a)kernel.org
TO: lgirdwood(a)gmail.com
TO: linux(a)armlinux.org.uk
TO: pabeni(a)redhat.com
TO: robh+dt(a)kernel.org
TO: samuel(a)sholland.org
TO: wens(a)csie.org
CC: devicetree(a)vger.kernel.org
CC: linux-arm-kernel(a)lists.infradead.org
CC: linux-kernel(a)vger.kernel.org
CC: linux-sunxi(a)lists.linux.dev
CC: netdev(a)vger.kernel.org
CC: Corentin Labbe <clabbe@baylibre.com>
Hi Corentin,
I love your patch! Perhaps something to improve:
[auto build test WARNING on broonie-regulator/for-next]
[also build test WARNING on sunxi/sunxi/for-next linus/master v5.18 next-20220525]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/intel-lab-lkp/linux/commits/Corentin-Labbe/arm64-add-ethernet-to-orange-pi-3/20220523-133344
base: https://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator.git for-next
:::::: branch date: 3 days ago
:::::: commit date: 3 days ago
config: arm-randconfig-c002-20220522 (https://download.01.org/0day-ci/archive/20220526/202205262148.yIpMLEH0-lkp(a)intel.com/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 10c9ecce9f6096e18222a331c5e7d085bd813f75)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install arm cross compiling tool for clang build
# apt-get install binutils-arm-linux-gnueabi
# https://github.com/intel-lab-lkp/linux/commit/7ae2ab7d1efe8091f6b7ea048a7ac495afba9e46
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Corentin-Labbe/arm64-add-ethernet-to-orange-pi-3/20220523-133344
git checkout 7ae2ab7d1efe8091f6b7ea048a7ac495afba9e46
# save the config file
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm clang-analyzer
If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@intel.com>
clang-analyzer warnings: (new ones prefixed by >>)
^
kernel/bpf/lpm_trie.c:704:24: note: Access to field 'prefixlen' results in a dereference of a null pointer (loaded from variable 'next_node')
next_key->prefixlen = next_node->prefixlen;
^~~~~~~~~
kernel/bpf/lpm_trie.c:705:2: warning: Call to function 'memcpy' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'memcpy_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling]
memcpy((void *)next_key + offsetof(struct bpf_lpm_trie_key, data),
^~~~~~
kernel/bpf/lpm_trie.c:705:2: note: Call to function 'memcpy' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'memcpy_s' in case of C11
memcpy((void *)next_key + offsetof(struct bpf_lpm_trie_key, data),
^~~~~~
Suppressed 94 warnings (94 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
58 warnings generated.
arch/arm/kernel/signal.c:173:2: warning: Value stored to 'aux' is never read [clang-analyzer-deadcode.DeadStores]
aux = (char __user *) sf->uc.uc_regspace;
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/arm/kernel/signal.c:173:2: note: Value stored to 'aux' is never read
aux = (char __user *) sf->uc.uc_regspace;
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/arm/kernel/signal.c:662:2: warning: Call to function 'memcpy' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'memcpy_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling]
memcpy(addr + offset, sigreturn_codes, sizeof(sigreturn_codes));
^~~~~~
arch/arm/kernel/signal.c:662:2: note: Call to function 'memcpy' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'memcpy_s' in case of C11
memcpy(addr + offset, sigreturn_codes, sizeof(sigreturn_codes));
^~~~~~
Suppressed 56 warnings (52 in non-user code, 4 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
43 warnings generated.
Suppressed 43 warnings (43 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
44 warnings generated.
Suppressed 44 warnings (43 in non-user code, 1 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
16 warnings generated.
Suppressed 16 warnings (15 in non-user code, 1 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
61 warnings generated.
arch/arm/kernel/traps.c:105:9: warning: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling]
p += sprintf(p, " r%d:%08x", reg, *stack--);
^~~~~~~
arch/arm/kernel/traps.c:105:9: note: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11
p += sprintf(p, " r%d:%08x", reg, *stack--);
^~~~~~~
arch/arm/kernel/traps.c:149:3: warning: Call to function 'memset' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'memset_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling]
memset(str, ' ', sizeof(str));
^~~~~~
arch/arm/kernel/traps.c:149:3: note: Call to function 'memset' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'memset_s' in case of C11
memset(str, ' ', sizeof(str));
^~~~~~
arch/arm/kernel/traps.c:156:6: warning: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling]
sprintf(str + i * 9, " %08lx", val);
^~~~~~~
arch/arm/kernel/traps.c:156:6: note: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11
sprintf(str + i * 9, " %08lx", val);
^~~~~~~
arch/arm/kernel/traps.c:158:6: warning: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling]
sprintf(str + i * 9, " ????????");
^~~~~~~
arch/arm/kernel/traps.c:158:6: note: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11
sprintf(str + i * 9, " ????????");
^~~~~~~
arch/arm/kernel/traps.c:197:9: warning: Call to function 'sprintf' is insecure as it does not provide bounding of the memory buffer or security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling]
p += sprintf(p, i == 0 ? "(%0*x) " : "%0*x ",
^~~~~~~
arch/arm/kernel/traps.c:197:9: note: Call to function 'sprintf' is insecure as it does not provide bounding of the memory buffer or security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11
p += sprintf(p, i == 0 ? "(%0*x) " : "%0*x ",
^~~~~~~
arch/arm/kernel/traps.c:200:4: warning: Value stored to 'p' is never read [clang-analyzer-deadcode.DeadStores]
p += sprintf(p, "bad PC value");
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/arm/kernel/traps.c:200:4: note: Value stored to 'p' is never read
p += sprintf(p, "bad PC value");
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/arm/kernel/traps.c:200:9: warning: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling]
p += sprintf(p, "bad PC value");
^~~~~~~
arch/arm/kernel/traps.c:200:9: note: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11
p += sprintf(p, "bad PC value");
^~~~~~~
arch/arm/kernel/traps.c:792:2: warning: Call to function 'memcpy' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'memcpy_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling]
memcpy(vectors + 0x1000 - kuser_sz, __kuser_helper_start, kuser_sz);
^~~~~~
arch/arm/kernel/traps.c:792:2: note: Call to function 'memcpy' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'memcpy_s' in case of C11
memcpy(vectors + 0x1000 - kuser_sz, __kuser_helper_start, kuser_sz);
^~~~~~
arch/arm/kernel/traps.c:799:3: warning: Call to function 'memcpy' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'memcpy_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling]
memcpy(vectors + 0xfe0, vectors + 0xfe8, 4);
^~~~~~
arch/arm/kernel/traps.c:799:3: note: Call to function 'memcpy' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'memcpy_s' in case of C11
memcpy(vectors + 0xfe0, vectors + 0xfe8, 4);
^~~~~~
arch/arm/kernel/traps.c:810:2: warning: Call to function 'memcpy' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'memcpy_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling]
memcpy(vma, lma_start, lma_end - lma_start);
^~~~~~
arch/arm/kernel/traps.c:810:2: note: Call to function 'memcpy' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'memcpy_s' in case of C11
memcpy(vma, lma_start, lma_end - lma_start);
^~~~~~
Suppressed 51 warnings (44 in non-user code, 7 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
71 warnings generated.
>> drivers/net/mdio/fwnode_mdio.c:134:17: warning: Assigned value is garbage or undefined [clang-analyzer-core.uninitialized.Assign]
phy->consumers = consumers;
^ ~~~~~~~~~
drivers/net/mdio/fwnode_mdio.c:94:2: note: 'consumers' declared without an initial value
struct regulator_bulk_data *consumers;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/mdio/fwnode_mdio.c:99:2: note: Taking false branch
if (IS_ERR(mii_ts))
^
drivers/net/mdio/fwnode_mdio.c:104:6: note: Assuming 'rc' is >= 0
if (rc >= 0)
^~~~~~~
drivers/net/mdio/fwnode_mdio.c:104:2: note: Taking true branch
if (rc >= 0)
^
drivers/net/mdio/fwnode_mdio.c:107:43: note: Assuming 'nchild' is equal to null
for_each_child_of_node(bus->dev.of_node, nchild) {
^
include/linux/of.h:1358:48: note: expanded from macro 'for_each_child_of_node'
for (child = of_get_next_child(parent, NULL); child != NULL; \
^~~~~~~~~~~~~
drivers/net/mdio/fwnode_mdio.c:107:2: note: Loop condition is false. Execution continues on line 123
for_each_child_of_node(bus->dev.of_node, nchild) {
^
include/linux/of.h:1358:2: note: expanded from macro 'for_each_child_of_node'
for (child = of_get_next_child(parent, NULL); child != NULL; \
^
drivers/net/mdio/fwnode_mdio.c:123:6: note: 'is_c45' is true
if (is_c45 || fwnode_get_phy_id(child, &phy_id))
^~~~~~
drivers/net/mdio/fwnode_mdio.c:123:13: note: Left side of '||' is true
if (is_c45 || fwnode_get_phy_id(child, &phy_id))
^
drivers/net/mdio/fwnode_mdio.c:127:2: note: Taking false branch
if (IS_ERR(phy)) {
^
drivers/net/mdio/fwnode_mdio.c:134:17: note: Assigned value is garbage or undefined
phy->consumers = consumers;
^ ~~~~~~~~~
Suppressed 70 warnings (70 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
71 warnings generated.
Suppressed 71 warnings (71 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
71 warnings generated.
drivers/net/mdio/mdio-hisi-femac.c:86:2: warning: Call to function 'snprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'snprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling]
snprintf(bus->id, MII_BUS_ID_SIZE, "%s", pdev->name);
^~~~~~~~
drivers/net/mdio/mdio-hisi-femac.c:86:2: note: Call to function 'snprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'snprintf_s' in case of C11
snprintf(bus->id, MII_BUS_ID_SIZE, "%s", pdev->name);
^~~~~~~~
Suppressed 70 warnings (70 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
70 warnings generated.
Suppressed 70 warnings (70 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
44 warnings generated.
crypto/ecdh.c:40:2: warning: Call to function 'memcpy' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'memcpy_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling]
memcpy(ctx->private_key, params.key, params.key_size);
^~~~~~
crypto/ecdh.c:40:2: note: Call to function 'memcpy' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'memcpy_s' in case of C11
memcpy(ctx->private_key, params.key, params.key_size);
^~~~~~
Suppressed 43 warnings (43 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
9 warnings generated.
crypto/ecdh_helper.c:17:2: warning: Call to function 'memcpy' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'memcpy_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling]
memcpy(dst, src, sz);
^~~~~~
crypto/ecdh_helper.c:17:2: note: Call to function 'memcpy' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'memcpy_s' in case of C11
memcpy(dst, src, sz);
^~~~~~
crypto/ecdh_helper.c:23:2: warning: Call to function 'memcpy' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'memcpy_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling]
memcpy(dst, src, sz);
^~~~~~
crypto/ecdh_helper.c:23:2: note: Call to function 'memcpy' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'memcpy_s' in case of C11
memcpy(dst, src, sz);
^~~~~~
Suppressed 7 warnings (7 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
10 warnings generated.
crypto/xor.c:156:9: warning: Access to field 'name' results in a dereference of a null pointer (loaded from variable 'fastest') [clang-analyzer-core.NullDereference]
fastest->name, fastest->speed);
^
include/linux/printk.h:519:34: note: expanded from macro 'pr_info'
printk(KERN_INFO pr_fmt(fmt), ##__VA_ARGS__)
^~~~~~~~~~~
include/linux/printk.h:446:60: note: expanded from macro 'printk'
#define printk(fmt, ...) printk_index_wrap(_printk, fmt, ##__VA_ARGS__)
^~~~~~~~~~~
include/linux/printk.h:418:19: note: expanded from macro 'printk_index_wrap'
_p_func(_fmt, ##__VA_ARGS__); \
^~~~~~~~~~~
crypto/xor.c:126:6: note: 'fastest' is null
if (fastest) {
^~~~~~~
crypto/xor.c:126:2: note: Taking false branch
if (fastest) {
^
crypto/xor.c:134:6: note: Assuming 'b1' is non-null
if (!b1) {
vim +134 drivers/net/mdio/fwnode_mdio.c
bc1bee3b87ee48 Calvin Johnson 2021-06-11 85
bc1bee3b87ee48 Calvin Johnson 2021-06-11 86 int fwnode_mdiobus_register_phy(struct mii_bus *bus,
bc1bee3b87ee48 Calvin Johnson 2021-06-11 87 struct fwnode_handle *child, u32 addr)
bc1bee3b87ee48 Calvin Johnson 2021-06-11 88 {
bc1bee3b87ee48 Calvin Johnson 2021-06-11 89 struct mii_timestamper *mii_ts = NULL;
bc1bee3b87ee48 Calvin Johnson 2021-06-11 90 struct phy_device *phy;
bc1bee3b87ee48 Calvin Johnson 2021-06-11 91 bool is_c45 = false;
bc1bee3b87ee48 Calvin Johnson 2021-06-11 92 u32 phy_id;
7ae2ab7d1efe80 Corentin Labbe 2022-05-23 93 int rc, reg_cnt = 0;
7ae2ab7d1efe80 Corentin Labbe 2022-05-23 94 struct regulator_bulk_data *consumers;
7ae2ab7d1efe80 Corentin Labbe 2022-05-23 95 struct device_node *nchild = NULL;
7ae2ab7d1efe80 Corentin Labbe 2022-05-23 96 u32 reg;
bc1bee3b87ee48 Calvin Johnson 2021-06-11 97
bc1bee3b87ee48 Calvin Johnson 2021-06-11 98 mii_ts = fwnode_find_mii_timestamper(child);
bc1bee3b87ee48 Calvin Johnson 2021-06-11 99 if (IS_ERR(mii_ts))
bc1bee3b87ee48 Calvin Johnson 2021-06-11 100 return PTR_ERR(mii_ts);
bc1bee3b87ee48 Calvin Johnson 2021-06-11 101
bc1bee3b87ee48 Calvin Johnson 2021-06-11 102 rc = fwnode_property_match_string(child, "compatible",
bc1bee3b87ee48 Calvin Johnson 2021-06-11 103 "ethernet-phy-ieee802.3-c45");
bc1bee3b87ee48 Calvin Johnson 2021-06-11 104 if (rc >= 0)
bc1bee3b87ee48 Calvin Johnson 2021-06-11 105 is_c45 = true;
bc1bee3b87ee48 Calvin Johnson 2021-06-11 106
7ae2ab7d1efe80 Corentin Labbe 2022-05-23 107 for_each_child_of_node(bus->dev.of_node, nchild) {
7ae2ab7d1efe80 Corentin Labbe 2022-05-23 108 of_property_read_u32(nchild, "reg", ®);
7ae2ab7d1efe80 Corentin Labbe 2022-05-23 109 if (reg != addr)
7ae2ab7d1efe80 Corentin Labbe 2022-05-23 110 continue;
7ae2ab7d1efe80 Corentin Labbe 2022-05-23 111 reg_cnt = regulator_bulk_get_all(&bus->dev, nchild, &consumers);
7ae2ab7d1efe80 Corentin Labbe 2022-05-23 112 if (reg_cnt > 0) {
7ae2ab7d1efe80 Corentin Labbe 2022-05-23 113 rc = regulator_bulk_enable(reg_cnt, consumers);
7ae2ab7d1efe80 Corentin Labbe 2022-05-23 114 if (rc)
7ae2ab7d1efe80 Corentin Labbe 2022-05-23 115 return rc;
7ae2ab7d1efe80 Corentin Labbe 2022-05-23 116 }
7ae2ab7d1efe80 Corentin Labbe 2022-05-23 117 if (reg_cnt < 0) {
7ae2ab7d1efe80 Corentin Labbe 2022-05-23 118 dev_err(&bus->dev, "Fail to regulator_bulk_get_all err=%d\n", reg_cnt);
7ae2ab7d1efe80 Corentin Labbe 2022-05-23 119 return reg_cnt;
7ae2ab7d1efe80 Corentin Labbe 2022-05-23 120 }
7ae2ab7d1efe80 Corentin Labbe 2022-05-23 121 }
7ae2ab7d1efe80 Corentin Labbe 2022-05-23 122
bc1bee3b87ee48 Calvin Johnson 2021-06-11 123 if (is_c45 || fwnode_get_phy_id(child, &phy_id))
bc1bee3b87ee48 Calvin Johnson 2021-06-11 124 phy = get_phy_device(bus, addr, is_c45);
bc1bee3b87ee48 Calvin Johnson 2021-06-11 125 else
bc1bee3b87ee48 Calvin Johnson 2021-06-11 126 phy = phy_device_create(bus, addr, phy_id, 0, NULL);
bc1bee3b87ee48 Calvin Johnson 2021-06-11 127 if (IS_ERR(phy)) {
bc1bee3b87ee48 Calvin Johnson 2021-06-11 128 unregister_mii_timestamper(mii_ts);
7ae2ab7d1efe80 Corentin Labbe 2022-05-23 129 rc = PTR_ERR(phy);
7ae2ab7d1efe80 Corentin Labbe 2022-05-23 130 goto error;
bc1bee3b87ee48 Calvin Johnson 2021-06-11 131 }
bc1bee3b87ee48 Calvin Johnson 2021-06-11 132
7ae2ab7d1efe80 Corentin Labbe 2022-05-23 133 phy->regulator_cnt = reg_cnt;
7ae2ab7d1efe80 Corentin Labbe 2022-05-23 @134 phy->consumers = consumers;
--
0-DAY CI Kernel Test Service
https://01.org/lkp
next reply other threads:[~2022-05-26 13:30 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-05-26 13:30 kernel test robot [this message]
-- strict thread matches above, loose matches on Subject: below --
2022-05-23 12:06 [PATCH v3 2/3] phy: handle optional regulator for PHY kernel test robot
2022-05-23 5:28 [PATCH v3 0/3] arm64: add ethernet to orange pi 3 Corentin Labbe
2022-05-23 5:28 ` [PATCH v3 2/3] phy: handle optional regulator for PHY Corentin Labbe
2022-05-23 5:28 ` Corentin Labbe
2022-05-23 9:13 ` kernel test robot
2022-05-23 9:13 ` kernel test robot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202205262148.yIpMLEH0-lkp@intel.com \
--to=lkp@intel.com \
--cc=kbuild@lists.01.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.