From: kernel test robot <rong.a.chen@intel.com>
To: Marcin Wojtas <mw@semihalf.com>,
linux-kernel@vger.kernel.org, linux-acpi@vger.kernel.org,
netdev@vger.kernel.org
Cc: rafael@kernel.org, andriy.shevchenko@linux.intel.com,
sean.wang@mediatek.com, Landen.Chao@mediatek.com,
linus.walleij@linaro.org, andrew@lunn.ch,
vivien.didelot@gmail.com, f.fainelli@gmail.com,
olteanv@gmail.com, davem@davemloft.net, edumazet@google.com,
kuba@kernel.org, pabeni@redhat.com, linux@armlinux.org.uk,
hkallweit1@gmail.com, gjb@semihalf.com, mw@semihalf.com,
jaz@semihalf.com, tn@semihalf.com, Samer.El-Haj-Mahmoud@arm.com,
upstream@semihalf.com,
"kbuild-all@lists.01.org" <kbuild-all@lists.01.org>
Subject: Re: [net-next: PATCH v3 3/8] net: dsa: switch to device_/fwnode_ APIs
Date: Thu, 28 Jul 2022 16:13:02 +0800 [thread overview]
Message-ID: <3ad81233-cf1a-99aa-eca9-6abe428e2703@intel.com> (raw)
In-Reply-To: <202207281516.7lNRXIgu-lkp@intel.com>
Hi Marcin,
I love your patch! Yet something to improve:
[auto build test ERROR on next-20220726]
[cannot apply to driver-core/driver-core-testing robh/for-next
horms-ipvs/master linus/master v5.19-rc8 v5.19-rc7 v5.19-rc6 v5.19-rc8]
[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#_base_tree_information]
url:
https://github.com/intel-lab-lkp/linux/commits/Marcin-Wojtas/DSA-switch-to-fwnode_-device_/20220727-144515
base: 058affafc65a74cf54499fb578b66ad0b18f939b
:::::: branch date: 24 hours ago
:::::: commit date: 24 hours ago
config: i386-allyesconfig
(https://download.01.org/0day-ci/archive/20220728/202207281516.7lNRXIgu-lkp@intel.com/config)
compiler: gcc-11 (Debian 11.3.0-3) 11.3.0
reproduce (this is a W=1 build):
#
https://github.com/intel-lab-lkp/linux/commit/0cd0cba4df268433a47eb7d7e6c4b657dac14cbc
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review
Marcin-Wojtas/DSA-switch-to-fwnode_-device_/20220727-144515
git checkout 0cd0cba4df268433a47eb7d7e6c4b657dac14cbc
# save the config file
mkdir build_dir && cp config build_dir/.config
make W=1 O=build_dir ARCH=i386 SHELL=/bin/bash
If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
drivers/net/dsa/mt7530.c: In function 'mt7530_setup':
>> drivers/net/dsa/mt7530.c:2254:63: error: passing argument 2 of 'of_get_phy_mode' from incompatible pointer type [-Werror=incompatible-pointer-types]
2254 | ret =
of_get_phy_mode(mac_np, &interface);
|
^~~~~~~~~~
| |
|
int *
In file included from drivers/net/dsa/mt7530.c:15:
include/linux/of_net.h:15:69: note: expected 'phy_interface_t *' but
argument is of type 'int *'
15 | extern int of_get_phy_mode(struct device_node *np,
phy_interface_t *interface);
|
~~~~~~~~~~~~~~~~~^~~~~~~~~
cc1: some warnings being treated as errors
vim +/of_get_phy_mode +2254 drivers/net/dsa/mt7530.c
ba751e28d442557 DENG Qingfang 2021-05-19 2103 b8f126a8d54318b
Sean Wang 2017-04-07 2104 static int
b8f126a8d54318b Sean Wang 2017-04-07 2105
mt7530_setup(struct dsa_switch *ds)
b8f126a8d54318b Sean Wang 2017-04-07 2106 {
b8f126a8d54318b Sean Wang 2017-04-07 2107 struct
mt7530_priv *priv = ds->priv;
6e19bc26cccdd34 Frank Wunderlich 2022-06-10 2108 struct
device_node *dn = NULL;
38f790a805609b2 René van Dorst 2019-09-02 2109 struct
device_node *phy_node;
38f790a805609b2 René van Dorst 2019-09-02 2110 struct
device_node *mac_np;
b8f126a8d54318b Sean Wang 2017-04-07 2111 struct
mt7530_dummy_poll p;
6e19bc26cccdd34 Frank Wunderlich 2022-06-10 2112 struct dsa_port
*cpu_dp;
0cd0cba4df26843 Marcin Wojtas 2022-07-27 2113 int interface;
ca366d6c889b5d3 René van Dorst 2019-09-02 2114 u32 id, val;
ca366d6c889b5d3 René van Dorst 2019-09-02 2115 int ret, i;
b8f126a8d54318b Sean Wang 2017-04-07 2116 0abfd494deefdba
Vivien Didelot 2017-09-20 2117 /* The parent node of master
netdev which holds the common system
b8f126a8d54318b Sean Wang 2017-04-07 2118 * controller
also is the container for two GMACs nodes representing
b8f126a8d54318b Sean Wang 2017-04-07 2119 * as two netdev
instances.
b8f126a8d54318b Sean Wang 2017-04-07 2120 */
6e19bc26cccdd34 Frank Wunderlich 2022-06-10 2121
dsa_switch_for_each_cpu_port(cpu_dp, ds) {
6e19bc26cccdd34 Frank Wunderlich 2022-06-10 2122 dn =
cpu_dp->master->dev.of_node->parent;
6e19bc26cccdd34 Frank Wunderlich 2022-06-10 2123 /* It doesn't
matter which CPU port is found first,
6e19bc26cccdd34 Frank Wunderlich 2022-06-10 2124 * their masters
should share the same parent OF node
6e19bc26cccdd34 Frank Wunderlich 2022-06-10 2125 */
6e19bc26cccdd34 Frank Wunderlich 2022-06-10 2126 break;
6e19bc26cccdd34 Frank Wunderlich 2022-06-10 2127 }
6e19bc26cccdd34 Frank Wunderlich 2022-06-10 2128 6e19bc26cccdd34
Frank Wunderlich 2022-06-10 2129 if (!dn) {
6e19bc26cccdd34 Frank Wunderlich 2022-06-10 2130 dev_err(ds->dev,
"parent OF node of DSA master not found");
6e19bc26cccdd34 Frank Wunderlich 2022-06-10 2131 return -EINVAL;
6e19bc26cccdd34 Frank Wunderlich 2022-06-10 2132 }
6e19bc26cccdd34 Frank Wunderlich 2022-06-10 2133 0b69c54c74bcb60
DENG Qingfang 2021-08-04 2134 ds->assisted_learning_on_cpu_port
= true;
771c8901568dd87 DENG Qingfang 2020-12-11 2135
ds->mtu_enforcement_ingress = true;
ddda1ac116c852b Greg Ungerer 2019-01-30 2136 ddda1ac116c852b
Greg Ungerer 2019-01-30 2137 if (priv->id == ID_MT7530) {
b8f126a8d54318b Sean Wang 2017-04-07 2138
regulator_set_voltage(priv->core_pwr, 1000000, 1000000);
b8f126a8d54318b Sean Wang 2017-04-07 2139 ret =
regulator_enable(priv->core_pwr);
b8f126a8d54318b Sean Wang 2017-04-07 2140 if (ret < 0) {
b8f126a8d54318b Sean Wang 2017-04-07 2141 dev_err(priv->dev,
b8f126a8d54318b Sean Wang 2017-04-07 2142 "Failed to
enable core power: %d\n", ret);
b8f126a8d54318b Sean Wang 2017-04-07 2143 return ret;
b8f126a8d54318b Sean Wang 2017-04-07 2144 }
b8f126a8d54318b Sean Wang 2017-04-07 2145 b8f126a8d54318b
Sean Wang 2017-04-07 2146
regulator_set_voltage(priv->io_pwr, 3300000, 3300000);
b8f126a8d54318b Sean Wang 2017-04-07 2147 ret =
regulator_enable(priv->io_pwr);
b8f126a8d54318b Sean Wang 2017-04-07 2148 if (ret < 0) {
b8f126a8d54318b Sean Wang 2017-04-07 2149
dev_err(priv->dev, "Failed to enable io pwr: %d\n",
b8f126a8d54318b Sean Wang 2017-04-07 2150 ret);
b8f126a8d54318b Sean Wang 2017-04-07 2151 return ret;
b8f126a8d54318b Sean Wang 2017-04-07 2152 }
ddda1ac116c852b Greg Ungerer 2019-01-30 2153 }
b8f126a8d54318b Sean Wang 2017-04-07 2154 b8f126a8d54318b
Sean Wang 2017-04-07 2155 /* Reset whole chip through gpio
pin or memory-mapped registers for
b8f126a8d54318b Sean Wang 2017-04-07 2156 * different type
of hardware
b8f126a8d54318b Sean Wang 2017-04-07 2157 */
b8f126a8d54318b Sean Wang 2017-04-07 2158 if (priv->mcm) {
b8f126a8d54318b Sean Wang 2017-04-07 2159
reset_control_assert(priv->rstc);
b8f126a8d54318b Sean Wang 2017-04-07 2160
usleep_range(1000, 1100);
b8f126a8d54318b Sean Wang 2017-04-07 2161
reset_control_deassert(priv->rstc);
b8f126a8d54318b Sean Wang 2017-04-07 2162 } else {
b8f126a8d54318b Sean Wang 2017-04-07 2163
gpiod_set_value_cansleep(priv->reset, 0);
b8f126a8d54318b Sean Wang 2017-04-07 2164
usleep_range(1000, 1100);
b8f126a8d54318b Sean Wang 2017-04-07 2165
gpiod_set_value_cansleep(priv->reset, 1);
b8f126a8d54318b Sean Wang 2017-04-07 2166 }
b8f126a8d54318b Sean Wang 2017-04-07 2167 b8f126a8d54318b
Sean Wang 2017-04-07 2168 /* Waiting for MT7530 got to
stable */
b8f126a8d54318b Sean Wang 2017-04-07 2169
INIT_MT7530_DUMMY_POLL(&p, priv, MT7530_HWTRAP);
b8f126a8d54318b Sean Wang 2017-04-07 2170 ret =
readx_poll_timeout(_mt7530_read, &p, val, val != 0,
b8f126a8d54318b Sean Wang 2017-04-07 2171 20, 1000000);
b8f126a8d54318b Sean Wang 2017-04-07 2172 if (ret < 0) {
b8f126a8d54318b Sean Wang 2017-04-07 2173
dev_err(priv->dev, "reset timeout\n");
b8f126a8d54318b Sean Wang 2017-04-07 2174 return ret;
b8f126a8d54318b Sean Wang 2017-04-07 2175 }
b8f126a8d54318b Sean Wang 2017-04-07 2176 b8f126a8d54318b
Sean Wang 2017-04-07 2177 id = mt7530_read(priv, MT7530_CREV);
b8f126a8d54318b Sean Wang 2017-04-07 2178 id >>=
CHIP_NAME_SHIFT;
b8f126a8d54318b Sean Wang 2017-04-07 2179 if (id !=
MT7530_ID) {
b8f126a8d54318b Sean Wang 2017-04-07 2180
dev_err(priv->dev, "chip %x can't be supported\n", id);
b8f126a8d54318b Sean Wang 2017-04-07 2181 return -ENODEV;
b8f126a8d54318b Sean Wang 2017-04-07 2182 }
b8f126a8d54318b Sean Wang 2017-04-07 2183 b8f126a8d54318b
Sean Wang 2017-04-07 2184 /* Reset the switch through
internal reset */
b8f126a8d54318b Sean Wang 2017-04-07 2185
mt7530_write(priv, MT7530_SYS_CTRL,
b8f126a8d54318b Sean Wang 2017-04-07 2186
SYS_CTRL_PHY_RST | SYS_CTRL_SW_RST |
b8f126a8d54318b Sean Wang 2017-04-07 2187
SYS_CTRL_REG_RST);
b8f126a8d54318b Sean Wang 2017-04-07 2188 b8f126a8d54318b
Sean Wang 2017-04-07 2189 /* Enable Port 6 only; P5 as
GMAC5 which currently is not supported */
b8f126a8d54318b Sean Wang 2017-04-07 2190 val =
mt7530_read(priv, MT7530_MHWTRAP);
b8f126a8d54318b Sean Wang 2017-04-07 2191 val &=
~MHWTRAP_P6_DIS & ~MHWTRAP_PHY_ACCESS;
b8f126a8d54318b Sean Wang 2017-04-07 2192 val |=
MHWTRAP_MANUAL;
b8f126a8d54318b Sean Wang 2017-04-07 2193
mt7530_write(priv, MT7530_MHWTRAP, val);
b8f126a8d54318b Sean Wang 2017-04-07 2194 ca366d6c889b5d3
René van Dorst 2019-09-02 2195 priv->p6_interface =
PHY_INTERFACE_MODE_NA;
ca366d6c889b5d3 René van Dorst 2019-09-02 2196 b8f126a8d54318b
Sean Wang 2017-04-07 2197 /* Enable and reset MIB counters */
b8f126a8d54318b Sean Wang 2017-04-07 2198 mt7530_mib_reset(ds);
b8f126a8d54318b Sean Wang 2017-04-07 2199 b8f126a8d54318b
Sean Wang 2017-04-07 2200 for (i = 0; i < MT7530_NUM_PORTS;
i++) {
b8f126a8d54318b Sean Wang 2017-04-07 2201 /* Disable
forwarding by default on all ports */
b8f126a8d54318b Sean Wang 2017-04-07 2202 mt7530_rmw(priv,
MT7530_PCR_P(i), PCR_MATRIX_MASK,
b8f126a8d54318b Sean Wang 2017-04-07 2203 PCR_MATRIX_CLR);
b8f126a8d54318b Sean Wang 2017-04-07 2204 0b69c54c74bcb60
DENG Qingfang 2021-08-04 2205 /* Disable learning by default
on all ports */
0b69c54c74bcb60 DENG Qingfang 2021-08-04 2206 mt7530_set(priv,
MT7530_PSC_P(i), SA_DIS);
0b69c54c74bcb60 DENG Qingfang 2021-08-04 2207 0ce0c3cd2239502
Alex Dewar 2020-09-19 2208 if (dsa_is_cpu_port(ds, i)) {
0ce0c3cd2239502 Alex Dewar 2020-09-19 2209 ret =
mt753x_cpu_port_enable(ds, i);
0ce0c3cd2239502 Alex Dewar 2020-09-19 2210 if (ret)
0ce0c3cd2239502 Alex Dewar 2020-09-19 2211 return ret;
5a30833b9a16f8d DENG Qingfang 2021-03-16 2212 } else {
75104db0cb353ec Andrew Lunn 2019-02-24 2213
mt7530_port_disable(ds, i);
6087175b7991a90 DENG Qingfang 2021-08-04 2214 6087175b7991a90
DENG Qingfang 2021-08-04 2215 /* Set default PVID to 0 on all
user ports */
6087175b7991a90 DENG Qingfang 2021-08-04 2216
mt7530_rmw(priv, MT7530_PPBV1_P(i), G0_PORT_VID_MASK,
6087175b7991a90 DENG Qingfang 2021-08-04 2217
G0_PORT_VID_DEF);
5a30833b9a16f8d DENG Qingfang 2021-03-16 2218 }
e045124e93995fe DENG Qingfang 2020-04-14 2219 /* Enable
consistent egress tag */
e045124e93995fe DENG Qingfang 2020-04-14 2220 mt7530_rmw(priv,
MT7530_PVC_P(i), PVC_EG_TAG_MASK,
e045124e93995fe DENG Qingfang 2020-04-14 2221
PVC_EG_TAG(MT7530_VLAN_EG_CONSISTENT));
b8f126a8d54318b Sean Wang 2017-04-07 2222 }
b8f126a8d54318b Sean Wang 2017-04-07 2223 1ca8a193cade7f4
DENG Qingfang 2021-08-25 2224 /* Setup VLAN ID 0 for
VLAN-unaware bridges */
1ca8a193cade7f4 DENG Qingfang 2021-08-25 2225 ret =
mt7530_setup_vlan0(priv);
1ca8a193cade7f4 DENG Qingfang 2021-08-25 2226 if (ret)
1ca8a193cade7f4 DENG Qingfang 2021-08-25 2227 return ret;
1ca8a193cade7f4 DENG Qingfang 2021-08-25 2228 38f790a805609b2
René van Dorst 2019-09-02 2229 /* Setup port 5 */
38f790a805609b2 René van Dorst 2019-09-02 2230 priv->p5_intf_sel
= P5_DISABLED;
38f790a805609b2 René van Dorst 2019-09-02 2231 interface =
PHY_INTERFACE_MODE_NA;
38f790a805609b2 René van Dorst 2019-09-02 2232 38f790a805609b2
René van Dorst 2019-09-02 2233 if (!dsa_is_unused_port(ds, 5)) {
38f790a805609b2 René van Dorst 2019-09-02 2234
priv->p5_intf_sel = P5_INTF_SEL_GMAC5;
0cd0cba4df26843 Marcin Wojtas 2022-07-27 2235 interface =
fwnode_get_phy_mode(dsa_to_port(ds, 5)->fwnode);
0cd0cba4df26843 Marcin Wojtas 2022-07-27 2236 if (interface < 0)
0c65b2b90d13c1d Andrew Lunn 2019-11-04 2237 return ret;
38f790a805609b2 René van Dorst 2019-09-02 2238 } else {
38f790a805609b2 René van Dorst 2019-09-02 2239 /* Scan the
ethernet nodes. look for GMAC1, lookup used phy */
38f790a805609b2 René van Dorst 2019-09-02 2240
for_each_child_of_node(dn, mac_np) {
38f790a805609b2 René van Dorst 2019-09-02 2241 if
(!of_device_is_compatible(mac_np,
38f790a805609b2 René van Dorst 2019-09-02 2242
"mediatek,eth-mac"))
38f790a805609b2 René van Dorst 2019-09-02 2243 continue;
38f790a805609b2 René van Dorst 2019-09-02 2244 38f790a805609b2
René van Dorst 2019-09-02 2245 ret =
of_property_read_u32(mac_np, "reg", &id);
38f790a805609b2 René van Dorst 2019-09-02 2246 if (ret < 0 ||
id != 1)
38f790a805609b2 René van Dorst 2019-09-02 2247 continue;
38f790a805609b2 René van Dorst 2019-09-02 2248 38f790a805609b2
René van Dorst 2019-09-02 2249 phy_node =
of_parse_phandle(mac_np, "phy-handle", 0);
0452800f6db4ed0 Chuanhong Guo 2020-04-03 2250 if (!phy_node)
0452800f6db4ed0 Chuanhong Guo 2020-04-03 2251 continue;
0452800f6db4ed0 Chuanhong Guo 2020-04-03 2252 38f790a805609b2
René van Dorst 2019-09-02 2253 if (phy_node->parent ==
priv->dev->of_node->parent) {
0c65b2b90d13c1d Andrew Lunn 2019-11-04 @2254 ret =
of_get_phy_mode(mac_np, &interface);
8e4efd4706f77d7 Sumera Priyadarsini 2020-08-25 2255 if (ret && ret
!= -ENODEV) {
8e4efd4706f77d7 Sumera Priyadarsini 2020-08-25 2256
of_node_put(mac_np);
a9e9b091a1c14ec Yang Yingliang 2022-04-28 2257
of_node_put(phy_node);
0c65b2b90d13c1d Andrew Lunn 2019-11-04 2258 return ret;
8e4efd4706f77d7 Sumera Priyadarsini 2020-08-25 2259 }
38f790a805609b2 René van Dorst 2019-09-02 2260 id =
of_mdio_parse_addr(ds->dev, phy_node);
38f790a805609b2 René van Dorst 2019-09-02 2261 if (id == 0)
38f790a805609b2 René van Dorst 2019-09-02 2262
priv->p5_intf_sel = P5_INTF_SEL_PHY_P0;
38f790a805609b2 René van Dorst 2019-09-02 2263 if (id == 4)
38f790a805609b2 René van Dorst 2019-09-02 2264
priv->p5_intf_sel = P5_INTF_SEL_PHY_P4;
38f790a805609b2 René van Dorst 2019-09-02 2265 }
8e4efd4706f77d7 Sumera Priyadarsini 2020-08-25 2266
of_node_put(mac_np);
38f790a805609b2 René van Dorst 2019-09-02 2267
of_node_put(phy_node);
38f790a805609b2 René van Dorst 2019-09-02 2268 break;
38f790a805609b2 René van Dorst 2019-09-02 2269 }
38f790a805609b2 René van Dorst 2019-09-02 2270 }
38f790a805609b2 René van Dorst 2019-09-02 2271
--
0-DAY CI Kernel Test Service
https://01.org/lkp
next parent reply other threads:[~2022-07-28 8:13 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <202207281516.7lNRXIgu-lkp@intel.com>
2022-07-28 8:13 ` kernel test robot [this message]
2022-07-27 6:43 [net-next: PATCH v3 0/8] DSA: switch to fwnode_/device_ Marcin Wojtas
2022-07-27 6:43 ` [net-next: PATCH v3 3/8] net: dsa: switch to device_/fwnode_ APIs Marcin Wojtas
2022-07-27 11:29 ` Andy Shevchenko
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=3ad81233-cf1a-99aa-eca9-6abe428e2703@intel.com \
--to=rong.a.chen@intel.com \
--cc=Landen.Chao@mediatek.com \
--cc=Samer.El-Haj-Mahmoud@arm.com \
--cc=andrew@lunn.ch \
--cc=andriy.shevchenko@linux.intel.com \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=f.fainelli@gmail.com \
--cc=gjb@semihalf.com \
--cc=hkallweit1@gmail.com \
--cc=jaz@semihalf.com \
--cc=kbuild-all@lists.01.org \
--cc=kuba@kernel.org \
--cc=linus.walleij@linaro.org \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=mw@semihalf.com \
--cc=netdev@vger.kernel.org \
--cc=olteanv@gmail.com \
--cc=pabeni@redhat.com \
--cc=rafael@kernel.org \
--cc=sean.wang@mediatek.com \
--cc=tn@semihalf.com \
--cc=upstream@semihalf.com \
--cc=vivien.didelot@gmail.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).