Hi Sean, [auto build test WARNING on robh/for-next] [also build test WARNING on v4.11-rc2 next-20170310] [cannot apply to net-next/master net/master] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/sean-wang-mediatek-com/dt-bindings-net-dsa-add-Mediatek-MT7530-binding/20170315-083834 base: https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git for-next config: i386-allmodconfig (attached as .config) compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901 reproduce: # save the attached .config to linux build tree make ARCH=i386 All warnings (new ones prefixed by >>): drivers/net/dsa/mt7530.c: In function 'mt7530_probe': drivers/net/dsa/mt7530.c:1076:27: warning: unused variable 'mdio' [-Wunused-variable] struct device_node *dn, *mdio; ^~~~ drivers/net/dsa/mt7530.c: In function 'mt7530_remove': >> drivers/net/dsa/mt7530.c:1173:9: warning: 'return' with a value, in function returning void return ret; ^~~ drivers/net/dsa/mt7530.c:1153:1: note: declared here mt7530_remove(struct mdio_device *mdiodev) ^~~~~~~~~~~~~ vim +/return +1173 drivers/net/dsa/mt7530.c 1070 }; 1071 1072 static int 1073 mt7530_probe(struct mdio_device *mdiodev) 1074 { 1075 struct mt7530_priv *priv; > 1076 struct device_node *dn, *mdio; 1077 int ret; 1078 const char *pm; 1079 1080 dn = mdiodev->dev.of_node; 1081 1082 priv = devm_kzalloc(&mdiodev->dev, sizeof(*priv), GFP_KERNEL); 1083 if (!priv) 1084 return -ENOMEM; 1085 1086 priv->ds = devm_kzalloc(&mdiodev->dev, sizeof(*priv->ds), GFP_KERNEL); 1087 if (!priv->ds) 1088 return -ENOMEM; 1089 1090 /* Use medatek,mcm property to distinguish hardware type that would 1091 * casues a little bit differences on power-on sequence. 1092 */ 1093 ret = of_property_read_string(dn, "mediatek,mcm", &pm); 1094 if (!ret && !strcasecmp(pm, "enabled")) { 1095 priv->mcm = true; 1096 dev_info(&mdiodev->dev, "MT7530 adapts as multi-chip module\n"); 1097 } 1098 1099 priv->core_pwr = devm_regulator_get(&mdiodev->dev, "core"); 1100 if (IS_ERR(priv->core_pwr)) 1101 return PTR_ERR(priv->core_pwr); 1102 1103 priv->io_pwr = devm_regulator_get(&mdiodev->dev, "io"); 1104 if (IS_ERR(priv->io_pwr)) 1105 return PTR_ERR(priv->io_pwr); 1106 1107 /* MT7530 shares the certain address space with Mediatek Ethernet 1108 * driver for controling TRGMII. Here we create syscon regmap for 1109 * access and control these parameters up on TRGMII. 1110 */ 1111 priv->ethsys = syscon_regmap_lookup_by_phandle(dn, 1112 "mediatek,ethsys"); 1113 if (IS_ERR(priv->ethsys)) 1114 return PTR_ERR(priv->ethsys); 1115 1116 priv->ethernet = syscon_regmap_lookup_by_phandle(dn, 1117 "mediatek,ethernet"); 1118 if (IS_ERR(priv->ethernet)) 1119 return PTR_ERR(priv->ethernet); 1120 1121 /* Not MCM that indicates switch works as the remote standalone 1122 * integrated circuit so the GPIO pin would be used to complete 1123 * the reset, otherwise memory-mapped register accessing used 1124 * through syscon provides in the case of MCM. 1125 */ 1126 if (!priv->mcm) { 1127 priv->reset = of_get_named_gpio(dn, "mediatek,reset-pin", 0); 1128 if (!gpio_is_valid(priv->reset)) 1129 return priv->reset; 1130 1131 ret = devm_gpio_request_one(&mdiodev->dev, 1132 priv->reset, GPIOF_OUT_INIT_LOW, 1133 "mediatek,reset-pin"); 1134 if (ret < 0) { 1135 dev_err(&mdiodev->dev, 1136 "fail to devm_gpio_request reset\n"); 1137 return ret; 1138 } 1139 } 1140 1141 priv->bus = mdiodev->bus; 1142 priv->dev = &mdiodev->dev; 1143 priv->ds->priv = priv; 1144 priv->ds->dev = &mdiodev->dev; 1145 priv->ds->ops = &mt7530_switch_ops; 1146 mutex_init(&priv->reg_mutex); 1147 dev_set_drvdata(&mdiodev->dev, priv); 1148 1149 return dsa_register_switch(priv->ds, priv->ds->dev->of_node); 1150 } 1151 1152 static void 1153 mt7530_remove(struct mdio_device *mdiodev) 1154 { 1155 struct mt7530_priv *priv = dev_get_drvdata(&mdiodev->dev); 1156 int ret = 0; 1157 1158 ret = regulator_disable(priv->core_pwr); 1159 if (ret < 0) { 1160 dev_err(priv->dev, 1161 "Failed to disable core power: %d\n", ret); 1162 goto err; 1163 } 1164 1165 ret = regulator_disable(priv->io_pwr); 1166 if (ret < 0) 1167 dev_err(&mdiodev->dev, "Failed to disable io pwr: %d\n", 1168 ret); 1169 1170 dsa_unregister_switch(priv->ds); 1171 mutex_destroy(&priv->reg_mutex); 1172 err: > 1173 return ret; 1174 } 1175 1176 static const struct of_device_id mt7530_of_match[] = { --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
Attachment:
.config.gz
Description: application/gzip