* [linux-arm:zii 31/50] drivers/net/phy/sfp-bus.c:203:3: note: in expansion of macro 'phylink_set'
@ 2019-11-08 21:24 kbuild test robot
0 siblings, 0 replies; only message in thread
From: kbuild test robot @ 2019-11-08 21:24 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 20932 bytes --]
tree: git://git.armlinux.org.uk/~rmk/linux-arm zii
head: 4ba7c03360edc60a37545f9d7bf73f1e8aeac783
commit: 1acc1100d4f221dbef96ffe69b21109dea79ca29 [31/50] net: sfp: add more extended compliance codes
config: x86_64-allyesconfig (attached as .config)
compiler: gcc-7 (Debian 7.4.0-14) 7.4.0
reproduce:
git checkout 1acc1100d4f221dbef96ffe69b21109dea79ca29
# save the attached .config to linux build tree
make ARCH=x86_64
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
In file included from drivers/net/phy/sfp-bus.c:6:0:
drivers/net/phy/sfp-bus.c: In function 'sfp_parse_support':
>> include/linux/phylink.h:275:48: warning: this statement may fall through [-Wimplicit-fallthrough=]
#define phylink_set(bm, mode) __phylink_do_bit(__set_bit, bm, mode)
^
include/linux/phylink.h:273:2: note: in definition of macro '__phylink_do_bit'
op(ETHTOOL_LINK_MODE_ ## mode ## _BIT, bm)
^~
>> drivers/net/phy/sfp-bus.c:203:3: note: in expansion of macro 'phylink_set'
phylink_set(modes, 100000baseCR4_Full);
^~~~~~~~~~~
drivers/net/phy/sfp-bus.c:204:2: note: here
case SFF8024_ECC_25GBASE_CR_S:
^~~~
vim +/phylink_set +203 drivers/net/phy/sfp-bus.c
ce0aa27ff3f68e Russell King 2017-07-25 @6 #include <linux/phylink.h>
3b76a21eb1f200 Russell King 2019-09-14 7 #include <linux/property.h>
ce0aa27ff3f68e Russell King 2017-07-25 8 #include <linux/rtnetlink.h>
ce0aa27ff3f68e Russell King 2017-07-25 9 #include <linux/slab.h>
ce0aa27ff3f68e Russell King 2017-07-25 10
ce0aa27ff3f68e Russell King 2017-07-25 11 #include "sfp.h"
ce0aa27ff3f68e Russell King 2017-07-25 12
0a6fcd3fc14d39 Russell King 2017-12-01 13 /**
0a6fcd3fc14d39 Russell King 2017-12-01 14 * struct sfp_bus - internal representation of a sfp bus
0a6fcd3fc14d39 Russell King 2017-12-01 15 */
ce0aa27ff3f68e Russell King 2017-07-25 16 struct sfp_bus {
0a6fcd3fc14d39 Russell King 2017-12-01 17 /* private: */
ce0aa27ff3f68e Russell King 2017-07-25 18 struct kref kref;
ce0aa27ff3f68e Russell King 2017-07-25 19 struct list_head node;
c19bb00070dd15 Russell King 2017-12-01 20 struct fwnode_handle *fwnode;
ce0aa27ff3f68e Russell King 2017-07-25 21
ce0aa27ff3f68e Russell King 2017-07-25 22 const struct sfp_socket_ops *socket_ops;
ce0aa27ff3f68e Russell King 2017-07-25 23 struct device *sfp_dev;
ce0aa27ff3f68e Russell King 2017-07-25 24 struct sfp *sfp;
ce0aa27ff3f68e Russell King 2017-07-25 25
ce0aa27ff3f68e Russell King 2017-07-25 26 const struct sfp_upstream_ops *upstream_ops;
ce0aa27ff3f68e Russell King 2017-07-25 27 void *upstream;
ce0aa27ff3f68e Russell King 2017-07-25 28 struct phy_device *phydev;
ce0aa27ff3f68e Russell King 2017-07-25 29
ce0aa27ff3f68e Russell King 2017-07-25 30 bool registered;
ce0aa27ff3f68e Russell King 2017-07-25 31 bool started;
ce0aa27ff3f68e Russell King 2017-07-25 32 };
ce0aa27ff3f68e Russell King 2017-07-25 33
0a6fcd3fc14d39 Russell King 2017-12-01 34 /**
0a6fcd3fc14d39 Russell King 2017-12-01 35 * sfp_parse_port() - Parse the EEPROM base ID, setting the port type
0a6fcd3fc14d39 Russell King 2017-12-01 36 * @bus: a pointer to the &struct sfp_bus structure for the sfp module
0a6fcd3fc14d39 Russell King 2017-12-01 37 * @id: a pointer to the module's &struct sfp_eeprom_id
0a6fcd3fc14d39 Russell King 2017-12-01 38 * @support: optional pointer to an array of unsigned long for the
0a6fcd3fc14d39 Russell King 2017-12-01 39 * ethtool support mask
0a6fcd3fc14d39 Russell King 2017-12-01 40 *
0a6fcd3fc14d39 Russell King 2017-12-01 41 * Parse the EEPROM identification given in @id, and return one of
0a6fcd3fc14d39 Russell King 2017-12-01 42 * %PORT_TP, %PORT_FIBRE or %PORT_OTHER. If @support is non-%NULL,
0a6fcd3fc14d39 Russell King 2017-12-01 43 * also set the ethtool %ETHTOOL_LINK_MODE_xxx_BIT corresponding with
0a6fcd3fc14d39 Russell King 2017-12-01 44 * the connector type.
0a6fcd3fc14d39 Russell King 2017-12-01 45 *
0a6fcd3fc14d39 Russell King 2017-12-01 46 * If the port type is not known, returns %PORT_OTHER.
0a6fcd3fc14d39 Russell King 2017-12-01 47 */
ce0aa27ff3f68e Russell King 2017-07-25 48 int sfp_parse_port(struct sfp_bus *bus, const struct sfp_eeprom_id *id,
ce0aa27ff3f68e Russell King 2017-07-25 49 unsigned long *support)
ce0aa27ff3f68e Russell King 2017-07-25 50 {
ce0aa27ff3f68e Russell King 2017-07-25 51 int port;
ce0aa27ff3f68e Russell King 2017-07-25 52
ce0aa27ff3f68e Russell King 2017-07-25 53 /* port is the physical connector, set this from the connector field. */
ce0aa27ff3f68e Russell King 2017-07-25 54 switch (id->base.connector) {
1acc1100d4f221 Russell King 2019-09-26 55 case SFF8024_CONNECTOR_SC:
1acc1100d4f221 Russell King 2019-09-26 56 case SFF8024_CONNECTOR_FIBERJACK:
1acc1100d4f221 Russell King 2019-09-26 57 case SFF8024_CONNECTOR_LC:
1acc1100d4f221 Russell King 2019-09-26 58 case SFF8024_CONNECTOR_MT_RJ:
1acc1100d4f221 Russell King 2019-09-26 59 case SFF8024_CONNECTOR_MU:
1acc1100d4f221 Russell King 2019-09-26 60 case SFF8024_CONNECTOR_OPTICAL_PIGTAIL:
1acc1100d4f221 Russell King 2019-09-26 61 case SFF8024_CONNECTOR_MPO_1X12:
1acc1100d4f221 Russell King 2019-09-26 62 case SFF8024_CONNECTOR_MPO_2X16:
ce0aa27ff3f68e Russell King 2017-07-25 63 port = PORT_FIBRE;
ce0aa27ff3f68e Russell King 2017-07-25 64 break;
ce0aa27ff3f68e Russell King 2017-07-25 65
1acc1100d4f221 Russell King 2019-09-26 66 case SFF8024_CONNECTOR_RJ45:
ce0aa27ff3f68e Russell King 2017-07-25 67 port = PORT_TP;
ce0aa27ff3f68e Russell King 2017-07-25 68 break;
ce0aa27ff3f68e Russell King 2017-07-25 69
1acc1100d4f221 Russell King 2019-09-26 70 case SFF8024_CONNECTOR_COPPER_PIGTAIL:
f10fcbcf91006a Russell King 2017-12-29 71 port = PORT_DA;
f10fcbcf91006a Russell King 2017-12-29 72 break;
f10fcbcf91006a Russell King 2017-12-29 73
1acc1100d4f221 Russell King 2019-09-26 74 case SFF8024_CONNECTOR_UNSPEC:
ce0aa27ff3f68e Russell King 2017-07-25 75 if (id->base.e1000_base_t) {
ce0aa27ff3f68e Russell King 2017-07-25 76 port = PORT_TP;
ce0aa27ff3f68e Russell King 2017-07-25 77 break;
ce0aa27ff3f68e Russell King 2017-07-25 78 }
ce0aa27ff3f68e Russell King 2017-07-25 79 /* fallthrough */
1acc1100d4f221 Russell King 2019-09-26 80 case SFF8024_CONNECTOR_SG: /* guess */
1acc1100d4f221 Russell King 2019-09-26 81 case SFF8024_CONNECTOR_HSSDC_II:
1acc1100d4f221 Russell King 2019-09-26 82 case SFF8024_CONNECTOR_NOSEPARATE:
1acc1100d4f221 Russell King 2019-09-26 83 case SFF8024_CONNECTOR_MXC_2X16:
ce0aa27ff3f68e Russell King 2017-07-25 84 port = PORT_OTHER;
ce0aa27ff3f68e Russell King 2017-07-25 85 break;
ce0aa27ff3f68e Russell King 2017-07-25 86 default:
ce0aa27ff3f68e Russell King 2017-07-25 87 dev_warn(bus->sfp_dev, "SFP: unknown connector id 0x%02x\n",
ce0aa27ff3f68e Russell King 2017-07-25 88 id->base.connector);
ce0aa27ff3f68e Russell King 2017-07-25 89 port = PORT_OTHER;
ce0aa27ff3f68e Russell King 2017-07-25 90 break;
ce0aa27ff3f68e Russell King 2017-07-25 91 }
ce0aa27ff3f68e Russell King 2017-07-25 92
f10fcbcf91006a Russell King 2017-12-29 93 if (support) {
f10fcbcf91006a Russell King 2017-12-29 94 switch (port) {
f10fcbcf91006a Russell King 2017-12-29 95 case PORT_FIBRE:
f10fcbcf91006a Russell King 2017-12-29 96 phylink_set(support, FIBRE);
f10fcbcf91006a Russell King 2017-12-29 97 break;
f10fcbcf91006a Russell King 2017-12-29 98
f10fcbcf91006a Russell King 2017-12-29 99 case PORT_TP:
f10fcbcf91006a Russell King 2017-12-29 100 phylink_set(support, TP);
f10fcbcf91006a Russell King 2017-12-29 101 break;
f10fcbcf91006a Russell King 2017-12-29 102 }
f10fcbcf91006a Russell King 2017-12-29 103 }
f10fcbcf91006a Russell King 2017-12-29 104
ce0aa27ff3f68e Russell King 2017-07-25 105 return port;
ce0aa27ff3f68e Russell King 2017-07-25 106 }
ce0aa27ff3f68e Russell King 2017-07-25 107 EXPORT_SYMBOL_GPL(sfp_parse_port);
ce0aa27ff3f68e Russell King 2017-07-25 108
0a6fcd3fc14d39 Russell King 2017-12-01 109 /**
0a6fcd3fc14d39 Russell King 2017-12-01 110 * sfp_parse_support() - Parse the eeprom id for supported link modes
0a6fcd3fc14d39 Russell King 2017-12-01 111 * @bus: a pointer to the &struct sfp_bus structure for the sfp module
0a6fcd3fc14d39 Russell King 2017-12-01 112 * @id: a pointer to the module's &struct sfp_eeprom_id
0a6fcd3fc14d39 Russell King 2017-12-01 113 * @support: pointer to an array of unsigned long for the ethtool support mask
0a6fcd3fc14d39 Russell King 2017-12-01 114 *
0a6fcd3fc14d39 Russell King 2017-12-01 115 * Parse the EEPROM identification information and derive the supported
0a6fcd3fc14d39 Russell King 2017-12-01 116 * ethtool link modes for the module.
0a6fcd3fc14d39 Russell King 2017-12-01 117 */
ce0aa27ff3f68e Russell King 2017-07-25 118 void sfp_parse_support(struct sfp_bus *bus, const struct sfp_eeprom_id *id,
ce0aa27ff3f68e Russell King 2017-07-25 119 unsigned long *support)
ce0aa27ff3f68e Russell King 2017-07-25 120 {
9962acf7fb8c5c Russell King 2017-12-29 121 unsigned int br_min, br_nom, br_max;
03145864bd0fca Russell King 2018-02-27 122 __ETHTOOL_DECLARE_LINK_MODE_MASK(modes) = { 0, };
ce0aa27ff3f68e Russell King 2017-07-25 123
9962acf7fb8c5c Russell King 2017-12-29 124 /* Decode the bitrate information to MBd */
9962acf7fb8c5c Russell King 2017-12-29 125 br_min = br_nom = br_max = 0;
9962acf7fb8c5c Russell King 2017-12-29 126 if (id->base.br_nominal) {
9962acf7fb8c5c Russell King 2017-12-29 127 if (id->base.br_nominal != 255) {
9962acf7fb8c5c Russell King 2017-12-29 128 br_nom = id->base.br_nominal * 100;
52c5cd1bf0cecf Antoine Tenart 2018-05-04 129 br_min = br_nom - id->base.br_nominal * id->ext.br_min;
9962acf7fb8c5c Russell King 2017-12-29 130 br_max = br_nom + id->base.br_nominal * id->ext.br_max;
9962acf7fb8c5c Russell King 2017-12-29 131 } else if (id->ext.br_max) {
9962acf7fb8c5c Russell King 2017-12-29 132 br_nom = 250 * id->ext.br_max;
9962acf7fb8c5c Russell King 2017-12-29 133 br_max = br_nom + br_nom * id->ext.br_min / 100;
9962acf7fb8c5c Russell King 2017-12-29 134 br_min = br_nom - br_nom * id->ext.br_min / 100;
9962acf7fb8c5c Russell King 2017-12-29 135 }
2b999ba899059e Antoine Tenart 2018-05-04 136
2b999ba899059e Antoine Tenart 2018-05-04 137 /* When using passive cables, in case neither BR,min nor BR,max
2b999ba899059e Antoine Tenart 2018-05-04 138 * are specified, set br_min to 0 as the nominal value is then
2b999ba899059e Antoine Tenart 2018-05-04 139 * used as the maximum.
2b999ba899059e Antoine Tenart 2018-05-04 140 */
2b999ba899059e Antoine Tenart 2018-05-04 141 if (br_min == br_max && id->base.sfp_ct_passive)
2b999ba899059e Antoine Tenart 2018-05-04 142 br_min = 0;
9962acf7fb8c5c Russell King 2017-12-29 143 }
9962acf7fb8c5c Russell King 2017-12-29 144
ce0aa27ff3f68e Russell King 2017-07-25 145 /* Set ethtool support from the compliance fields. */
ce0aa27ff3f68e Russell King 2017-07-25 146 if (id->base.e10g_base_sr)
03145864bd0fca Russell King 2018-02-27 147 phylink_set(modes, 10000baseSR_Full);
ce0aa27ff3f68e Russell King 2017-07-25 148 if (id->base.e10g_base_lr)
03145864bd0fca Russell King 2018-02-27 149 phylink_set(modes, 10000baseLR_Full);
ce0aa27ff3f68e Russell King 2017-07-25 150 if (id->base.e10g_base_lrm)
03145864bd0fca Russell King 2018-02-27 151 phylink_set(modes, 10000baseLRM_Full);
ce0aa27ff3f68e Russell King 2017-07-25 152 if (id->base.e10g_base_er)
03145864bd0fca Russell King 2018-02-27 153 phylink_set(modes, 10000baseER_Full);
ce0aa27ff3f68e Russell King 2017-07-25 154 if (id->base.e1000_base_sx ||
ce0aa27ff3f68e Russell King 2017-07-25 155 id->base.e1000_base_lx ||
ce0aa27ff3f68e Russell King 2017-07-25 156 id->base.e1000_base_cx)
03145864bd0fca Russell King 2018-02-27 157 phylink_set(modes, 1000baseX_Full);
ce0aa27ff3f68e Russell King 2017-07-25 158 if (id->base.e1000_base_t) {
03145864bd0fca Russell King 2018-02-27 159 phylink_set(modes, 1000baseT_Half);
03145864bd0fca Russell King 2018-02-27 160 phylink_set(modes, 1000baseT_Full);
ce0aa27ff3f68e Russell King 2017-07-25 161 }
ce0aa27ff3f68e Russell King 2017-07-25 162
9962acf7fb8c5c Russell King 2017-12-29 163 /* 1000Base-PX or 1000Base-BX10 */
9962acf7fb8c5c Russell King 2017-12-29 164 if ((id->base.e_base_px || id->base.e_base_bx10) &&
9962acf7fb8c5c Russell King 2017-12-29 165 br_min <= 1300 && br_max >= 1200)
d7f7e0018b96fd Baruch Siach 2018-11-29 166 phylink_set(modes, 1000baseX_Full);
9962acf7fb8c5c Russell King 2017-12-29 167
f10fcbcf91006a Russell King 2017-12-29 168 /* For active or passive cables, select the link modes
f10fcbcf91006a Russell King 2017-12-29 169 * based on the bit rates and the cable compliance bytes.
f10fcbcf91006a Russell King 2017-12-29 170 */
f10fcbcf91006a Russell King 2017-12-29 171 if ((id->base.sfp_ct_passive || id->base.sfp_ct_active) && br_nom) {
f10fcbcf91006a Russell King 2017-12-29 172 /* This may look odd, but some manufacturers use 12000MBd */
f10fcbcf91006a Russell King 2017-12-29 173 if (br_min <= 12000 && br_max >= 10300)
03145864bd0fca Russell King 2018-02-27 174 phylink_set(modes, 10000baseCR_Full);
f10fcbcf91006a Russell King 2017-12-29 175 if (br_min <= 3200 && br_max >= 3100)
03145864bd0fca Russell King 2018-02-27 176 phylink_set(modes, 2500baseX_Full);
f10fcbcf91006a Russell King 2017-12-29 177 if (br_min <= 1300 && br_max >= 1200)
03145864bd0fca Russell King 2018-02-27 178 phylink_set(modes, 1000baseX_Full);
f10fcbcf91006a Russell King 2017-12-29 179 }
f10fcbcf91006a Russell King 2017-12-29 180 if (id->base.sfp_ct_passive) {
f10fcbcf91006a Russell King 2017-12-29 181 if (id->base.passive.sff8431_app_e)
03145864bd0fca Russell King 2018-02-27 182 phylink_set(modes, 10000baseCR_Full);
f10fcbcf91006a Russell King 2017-12-29 183 }
f10fcbcf91006a Russell King 2017-12-29 184 if (id->base.sfp_ct_active) {
f10fcbcf91006a Russell King 2017-12-29 185 if (id->base.active.sff8431_app_e ||
f10fcbcf91006a Russell King 2017-12-29 186 id->base.active.sff8431_lim) {
03145864bd0fca Russell King 2018-02-27 187 phylink_set(modes, 10000baseCR_Full);
f10fcbcf91006a Russell King 2017-12-29 188 }
f10fcbcf91006a Russell King 2017-12-29 189 }
f10fcbcf91006a Russell King 2017-12-29 190
ce0aa27ff3f68e Russell King 2017-07-25 191 switch (id->base.extended_cc) {
1acc1100d4f221 Russell King 2019-09-26 192 case SFF8024_ECC_UNSPEC:
ce0aa27ff3f68e Russell King 2017-07-25 193 break;
1acc1100d4f221 Russell King 2019-09-26 194 case SFF8024_ECC_100GBASE_SR4_25GBASE_SR:
03145864bd0fca Russell King 2018-02-27 195 phylink_set(modes, 100000baseSR4_Full);
03145864bd0fca Russell King 2018-02-27 196 phylink_set(modes, 25000baseSR_Full);
ce0aa27ff3f68e Russell King 2017-07-25 197 break;
1acc1100d4f221 Russell King 2019-09-26 198 case SFF8024_ECC_100GBASE_LR4_25GBASE_LR:
1acc1100d4f221 Russell King 2019-09-26 199 case SFF8024_ECC_100GBASE_ER4_25GBASE_ER:
03145864bd0fca Russell King 2018-02-27 200 phylink_set(modes, 100000baseLR4_ER4_Full);
ce0aa27ff3f68e Russell King 2017-07-25 201 break;
1acc1100d4f221 Russell King 2019-09-26 202 case SFF8024_ECC_100GBASE_CR4:
03145864bd0fca Russell King 2018-02-27 @203 phylink_set(modes, 100000baseCR4_Full);
1acc1100d4f221 Russell King 2019-09-26 204 case SFF8024_ECC_25GBASE_CR_S:
1acc1100d4f221 Russell King 2019-09-26 205 case SFF8024_ECC_25GBASE_CR_N:
03145864bd0fca Russell King 2018-02-27 206 phylink_set(modes, 25000baseCR_Full);
ce0aa27ff3f68e Russell King 2017-07-25 207 break;
1acc1100d4f221 Russell King 2019-09-26 208 case SFF8024_ECC_10GBASE_T_SFI:
1acc1100d4f221 Russell King 2019-09-26 209 case SFF8024_ECC_10GBASE_T_SR:
1acc1100d4f221 Russell King 2019-09-26 210 phylink_set(modes, 10000baseT_Full);
1acc1100d4f221 Russell King 2019-09-26 211 break;
1acc1100d4f221 Russell King 2019-09-26 212 case SFF8024_ECC_5GBASE_T:
1acc1100d4f221 Russell King 2019-09-26 213 phylink_set(modes, 5000baseT_Full);
1acc1100d4f221 Russell King 2019-09-26 214 break;
1acc1100d4f221 Russell King 2019-09-26 215 case SFF8024_ECC_2_5GBASE_T:
1acc1100d4f221 Russell King 2019-09-26 216 phylink_set(modes, 2500baseT_Full);
1acc1100d4f221 Russell King 2019-09-26 217 break;
ce0aa27ff3f68e Russell King 2017-07-25 218 default:
ce0aa27ff3f68e Russell King 2017-07-25 219 dev_warn(bus->sfp_dev,
ce0aa27ff3f68e Russell King 2017-07-25 220 "Unknown/unsupported extended compliance code: 0x%02x\n",
ce0aa27ff3f68e Russell King 2017-07-25 221 id->base.extended_cc);
ce0aa27ff3f68e Russell King 2017-07-25 222 break;
ce0aa27ff3f68e Russell King 2017-07-25 223 }
ce0aa27ff3f68e Russell King 2017-07-25 224
ce0aa27ff3f68e Russell King 2017-07-25 225 /* For fibre channel SFP, derive possible BaseX modes */
ce0aa27ff3f68e Russell King 2017-07-25 226 if (id->base.fc_speed_100 ||
ce0aa27ff3f68e Russell King 2017-07-25 227 id->base.fc_speed_200 ||
ce0aa27ff3f68e Russell King 2017-07-25 228 id->base.fc_speed_400) {
ce0aa27ff3f68e Russell King 2017-07-25 229 if (id->base.br_nominal >= 31)
03145864bd0fca Russell King 2018-02-27 230 phylink_set(modes, 2500baseX_Full);
ce0aa27ff3f68e Russell King 2017-07-25 231 if (id->base.br_nominal >= 12)
03145864bd0fca Russell King 2018-02-27 232 phylink_set(modes, 1000baseX_Full);
03145864bd0fca Russell King 2018-02-27 233 }
03145864bd0fca Russell King 2018-02-27 234
03145864bd0fca Russell King 2018-02-27 235 /* If we haven't discovered any modes that this module supports, try
03145864bd0fca Russell King 2018-02-27 236 * the encoding and bitrate to determine supported modes. Some BiDi
03145864bd0fca Russell King 2018-02-27 237 * modules (eg, 1310nm/1550nm) are not 1000BASE-BX compliant due to
03145864bd0fca Russell King 2018-02-27 238 * the differing wavelengths, so do not set any transceiver bits.
03145864bd0fca Russell King 2018-02-27 239 */
03145864bd0fca Russell King 2018-02-27 240 if (bitmap_empty(modes, __ETHTOOL_LINK_MODE_MASK_NBITS)) {
03145864bd0fca Russell King 2018-02-27 241 /* If the encoding and bit rate allows 1000baseX */
1acc1100d4f221 Russell King 2019-09-26 242 if (id->base.encoding == SFF8024_ENCODING_8B10B && br_nom &&
03145864bd0fca Russell King 2018-02-27 243 br_min <= 1300 && br_max >= 1200)
03145864bd0fca Russell King 2018-02-27 244 phylink_set(modes, 1000baseX_Full);
ce0aa27ff3f68e Russell King 2017-07-25 245 }
03145864bd0fca Russell King 2018-02-27 246
03145864bd0fca Russell King 2018-02-27 247 bitmap_or(support, support, modes, __ETHTOOL_LINK_MODE_MASK_NBITS);
03145864bd0fca Russell King 2018-02-27 248
03145864bd0fca Russell King 2018-02-27 249 phylink_set(support, Autoneg);
03145864bd0fca Russell King 2018-02-27 250 phylink_set(support, Pause);
03145864bd0fca Russell King 2018-02-27 251 phylink_set(support, Asym_Pause);
ce0aa27ff3f68e Russell King 2017-07-25 252 }
ce0aa27ff3f68e Russell King 2017-07-25 253 EXPORT_SYMBOL_GPL(sfp_parse_support);
ce0aa27ff3f68e Russell King 2017-07-25 254
:::::: The code at line 203 was first introduced by commit
:::::: 03145864bd0fcac29e33442f39d67d4f28b0777c sfp: support 1G BiDi (eg, FiberStore SFP-GE-BX) modules
:::::: TO: Russell King <rmk+kernel@armlinux.org.uk>
:::::: CC: David S. Miller <davem@davemloft.net>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org Intel Corporation
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 69506 bytes --]
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2019-11-08 21:24 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-11-08 21:24 [linux-arm:zii 31/50] drivers/net/phy/sfp-bus.c:203:3: note: in expansion of macro 'phylink_set' kbuild test robot
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.