tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: b3a9e3b9622ae10064826dccb4f7a52bd88c7407 commit: def2fbffe62c00c330c7f41584a356001179c59c kconfig: allow symbols implied by y to become m date: 3 months ago :::::: branch date: 4 hours ago :::::: commit date: 3 months ago config: h8300-randconfig-r024-20200614 (attached as .config) compiler: h8300-linux-gcc (GCC) 9.3.0 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 git checkout def2fbffe62c00c330c7f41584a356001179c59c # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=h8300
If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <l...@intel.com> All errors (new ones prefixed by >>, old ones prefixed by <<): h8300-linux-ld: section .init.text LMA [0000000000455a00,000000000048c1c7] overlaps section .text LMA [000000000000025c,0000000000820b77] h8300-linux-ld: section .data VMA [0000000000400000,00000000004559ff] overlaps section .text VMA [000000000000025c,0000000000820b77] h8300-linux-ld: drivers/gpu/drm/bridge/sil-sii8620.o: in function `sii8620_remove': >> drivers/gpu/drm/bridge/sil-sii8620.c:2355: undefined reference to >> `extcon_unregister_notifier' h8300-linux-ld: drivers/gpu/drm/bridge/sil-sii8620.o: in function `sii8620_extcon_init': >> drivers/gpu/drm/bridge/sil-sii8620.c:2179: undefined reference to >> `extcon_find_edev_by_node' >> h8300-linux-ld: drivers/gpu/drm/bridge/sil-sii8620.c:2191: undefined >> reference to `extcon_register_notifier' h8300-linux-ld: drivers/gpu/drm/bridge/sil-sii8620.o: in function `sii8620_extcon_work': >> drivers/gpu/drm/bridge/sil-sii8620.c:2139: undefined reference to >> `extcon_get_state' # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=def2fbffe62c00c330c7f41584a356001179c59c git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git git remote update linus git checkout def2fbffe62c00c330c7f41584a356001179c59c vim +2355 drivers/gpu/drm/bridge/sil-sii8620.c 688838442147d9 Maciej Purski 2018-02-27 2162 688838442147d9 Maciej Purski 2018-02-27 2163 static int sii8620_extcon_init(struct sii8620 *ctx) 688838442147d9 Maciej Purski 2018-02-27 2164 { 688838442147d9 Maciej Purski 2018-02-27 2165 struct extcon_dev *edev; 688838442147d9 Maciej Purski 2018-02-27 2166 struct device_node *musb, *muic; 688838442147d9 Maciej Purski 2018-02-27 2167 int ret; 688838442147d9 Maciej Purski 2018-02-27 2168 688838442147d9 Maciej Purski 2018-02-27 2169 /* get micro-USB connector node */ 688838442147d9 Maciej Purski 2018-02-27 2170 musb = of_graph_get_remote_node(ctx->dev->of_node, 1, -1); 688838442147d9 Maciej Purski 2018-02-27 2171 /* next get micro-USB Interface Controller node */ 688838442147d9 Maciej Purski 2018-02-27 2172 muic = of_get_next_parent(musb); 688838442147d9 Maciej Purski 2018-02-27 2173 688838442147d9 Maciej Purski 2018-02-27 2174 if (!muic) { 688838442147d9 Maciej Purski 2018-02-27 2175 dev_info(ctx->dev, "no extcon found, switching to 'always on' mode\n"); 688838442147d9 Maciej Purski 2018-02-27 2176 return 0; 688838442147d9 Maciej Purski 2018-02-27 2177 } 688838442147d9 Maciej Purski 2018-02-27 2178 688838442147d9 Maciej Purski 2018-02-27 @2179 edev = extcon_find_edev_by_node(muic); 688838442147d9 Maciej Purski 2018-02-27 2180 of_node_put(muic); 688838442147d9 Maciej Purski 2018-02-27 2181 if (IS_ERR(edev)) { 688838442147d9 Maciej Purski 2018-02-27 2182 if (PTR_ERR(edev) == -EPROBE_DEFER) 688838442147d9 Maciej Purski 2018-02-27 2183 return -EPROBE_DEFER; 688838442147d9 Maciej Purski 2018-02-27 2184 dev_err(ctx->dev, "Invalid or missing extcon\n"); 688838442147d9 Maciej Purski 2018-02-27 2185 return PTR_ERR(edev); 688838442147d9 Maciej Purski 2018-02-27 2186 } 688838442147d9 Maciej Purski 2018-02-27 2187 688838442147d9 Maciej Purski 2018-02-27 2188 ctx->extcon = edev; 688838442147d9 Maciej Purski 2018-02-27 2189 ctx->extcon_nb.notifier_call = sii8620_extcon_notifier; 688838442147d9 Maciej Purski 2018-02-27 2190 INIT_WORK(&ctx->extcon_wq, sii8620_extcon_work); 688838442147d9 Maciej Purski 2018-02-27 @2191 ret = extcon_register_notifier(edev, EXTCON_DISP_MHL, &ctx->extcon_nb); 688838442147d9 Maciej Purski 2018-02-27 2192 if (ret) { 688838442147d9 Maciej Purski 2018-02-27 2193 dev_err(ctx->dev, "failed to register notifier for MHL\n"); 688838442147d9 Maciej Purski 2018-02-27 2194 return ret; 688838442147d9 Maciej Purski 2018-02-27 2195 } 688838442147d9 Maciej Purski 2018-02-27 2196 688838442147d9 Maciej Purski 2018-02-27 2197 return 0; 688838442147d9 Maciej Purski 2018-02-27 2198 } 688838442147d9 Maciej Purski 2018-02-27 2199 ce6e153f414a73 Andrzej Hajda 2016-10-10 2200 static inline struct sii8620 *bridge_to_sii8620(struct drm_bridge *bridge) ce6e153f414a73 Andrzej Hajda 2016-10-10 2201 { ce6e153f414a73 Andrzej Hajda 2016-10-10 2202 return container_of(bridge, struct sii8620, bridge); ce6e153f414a73 Andrzej Hajda 2016-10-10 2203 } ce6e153f414a73 Andrzej Hajda 2016-10-10 2204 e25f1f7c94e16d Maciej Purski 2017-08-24 2205 static int sii8620_attach(struct drm_bridge *bridge) e25f1f7c94e16d Maciej Purski 2017-08-24 2206 { e25f1f7c94e16d Maciej Purski 2017-08-24 2207 struct sii8620 *ctx = bridge_to_sii8620(bridge); e25f1f7c94e16d Maciej Purski 2017-08-24 2208 e25f1f7c94e16d Maciej Purski 2017-08-24 2209 sii8620_init_rcp_input_dev(ctx); e25f1f7c94e16d Maciej Purski 2017-08-24 2210 e25f1f7c94e16d Maciej Purski 2017-08-24 2211 return sii8620_clear_error(ctx); e25f1f7c94e16d Maciej Purski 2017-08-24 2212 } e25f1f7c94e16d Maciej Purski 2017-08-24 2213 e25f1f7c94e16d Maciej Purski 2017-08-24 2214 static void sii8620_detach(struct drm_bridge *bridge) e25f1f7c94e16d Maciej Purski 2017-08-24 2215 { e25f1f7c94e16d Maciej Purski 2017-08-24 2216 struct sii8620 *ctx = bridge_to_sii8620(bridge); e25f1f7c94e16d Maciej Purski 2017-08-24 2217 710abfe8ead247 Ronald Tschalär 2019-04-19 2218 if (!IS_ENABLED(CONFIG_RC_CORE)) 710abfe8ead247 Ronald Tschalär 2019-04-19 2219 return; 710abfe8ead247 Ronald Tschalär 2019-04-19 2220 e25f1f7c94e16d Maciej Purski 2017-08-24 2221 rc_unregister_device(ctx->rc_dev); e25f1f7c94e16d Maciej Purski 2017-08-24 2222 } e25f1f7c94e16d Maciej Purski 2017-08-24 2223 ecba7cfa3afbe4 Maciej Purski 2018-02-02 2224 static int sii8620_is_packing_required(struct sii8620 *ctx, ecba7cfa3afbe4 Maciej Purski 2018-02-02 2225 const struct drm_display_mode *mode) ecba7cfa3afbe4 Maciej Purski 2018-02-02 2226 { ecba7cfa3afbe4 Maciej Purski 2018-02-02 2227 int max_pclk, max_pclk_pp_mode; ecba7cfa3afbe4 Maciej Purski 2018-02-02 2228 ecba7cfa3afbe4 Maciej Purski 2018-02-02 2229 if (sii8620_is_mhl3(ctx)) { ecba7cfa3afbe4 Maciej Purski 2018-02-02 2230 max_pclk = MHL3_MAX_PCLK; ecba7cfa3afbe4 Maciej Purski 2018-02-02 2231 max_pclk_pp_mode = MHL3_MAX_PCLK_PP_MODE; ecba7cfa3afbe4 Maciej Purski 2018-02-02 2232 } else { ecba7cfa3afbe4 Maciej Purski 2018-02-02 2233 max_pclk = MHL1_MAX_PCLK; ecba7cfa3afbe4 Maciej Purski 2018-02-02 2234 max_pclk_pp_mode = MHL1_MAX_PCLK_PP_MODE; ecba7cfa3afbe4 Maciej Purski 2018-02-02 2235 } ecba7cfa3afbe4 Maciej Purski 2018-02-02 2236 ecba7cfa3afbe4 Maciej Purski 2018-02-02 2237 if (mode->clock < max_pclk) ecba7cfa3afbe4 Maciej Purski 2018-02-02 2238 return 0; ecba7cfa3afbe4 Maciej Purski 2018-02-02 2239 else if (mode->clock < max_pclk_pp_mode) ecba7cfa3afbe4 Maciej Purski 2018-02-02 2240 return 1; ecba7cfa3afbe4 Maciej Purski 2018-02-02 2241 else ecba7cfa3afbe4 Maciej Purski 2018-02-02 2242 return -1; ecba7cfa3afbe4 Maciej Purski 2018-02-02 2243 } ecba7cfa3afbe4 Maciej Purski 2018-02-02 2244 e7c2e4d368e2ef Marek Szyprowski 2017-11-09 2245 static enum drm_mode_status sii8620_mode_valid(struct drm_bridge *bridge, e7c2e4d368e2ef Marek Szyprowski 2017-11-09 2246 const struct drm_display_mode *mode) e7c2e4d368e2ef Marek Szyprowski 2017-11-09 2247 { e7c2e4d368e2ef Marek Szyprowski 2017-11-09 2248 struct sii8620 *ctx = bridge_to_sii8620(bridge); ecba7cfa3afbe4 Maciej Purski 2018-02-02 2249 int pack_required = sii8620_is_packing_required(ctx, mode); e7c2e4d368e2ef Marek Szyprowski 2017-11-09 2250 bool can_pack = ctx->devcap[MHL_DCAP_VID_LINK_MODE] & e7c2e4d368e2ef Marek Szyprowski 2017-11-09 2251 MHL_DCAP_VID_LINK_PPIXEL; e7c2e4d368e2ef Marek Szyprowski 2017-11-09 2252 ecba7cfa3afbe4 Maciej Purski 2018-02-02 2253 switch (pack_required) { ecba7cfa3afbe4 Maciej Purski 2018-02-02 2254 case 0: ecba7cfa3afbe4 Maciej Purski 2018-02-02 2255 return MODE_OK; ecba7cfa3afbe4 Maciej Purski 2018-02-02 2256 case 1: ecba7cfa3afbe4 Maciej Purski 2018-02-02 2257 return (can_pack) ? MODE_OK : MODE_CLOCK_HIGH; ecba7cfa3afbe4 Maciej Purski 2018-02-02 2258 default: ecba7cfa3afbe4 Maciej Purski 2018-02-02 2259 return MODE_CLOCK_HIGH; ecba7cfa3afbe4 Maciej Purski 2018-02-02 2260 } e7c2e4d368e2ef Marek Szyprowski 2017-11-09 2261 } e7c2e4d368e2ef Marek Szyprowski 2017-11-09 2262 ce6e153f414a73 Andrzej Hajda 2016-10-10 2263 static bool sii8620_mode_fixup(struct drm_bridge *bridge, ce6e153f414a73 Andrzej Hajda 2016-10-10 2264 const struct drm_display_mode *mode, ce6e153f414a73 Andrzej Hajda 2016-10-10 2265 struct drm_display_mode *adjusted_mode) ce6e153f414a73 Andrzej Hajda 2016-10-10 2266 { ce6e153f414a73 Andrzej Hajda 2016-10-10 2267 struct sii8620 *ctx = bridge_to_sii8620(bridge); ce6e153f414a73 Andrzej Hajda 2016-10-10 2268 bf1722cab55a32 Andrzej Hajda 2017-02-01 2269 mutex_lock(&ctx->lock); ce6e153f414a73 Andrzej Hajda 2016-10-10 2270 ecba7cfa3afbe4 Maciej Purski 2018-02-02 2271 ctx->use_packed_pixel = sii8620_is_packing_required(ctx, adjusted_mode); ecba7cfa3afbe4 Maciej Purski 2018-02-02 2272 ce6e153f414a73 Andrzej Hajda 2016-10-10 2273 mutex_unlock(&ctx->lock); ecba7cfa3afbe4 Maciej Purski 2018-02-02 2274 ecba7cfa3afbe4 Maciej Purski 2018-02-02 2275 return true; ce6e153f414a73 Andrzej Hajda 2016-10-10 2276 } ce6e153f414a73 Andrzej Hajda 2016-10-10 2277 ce6e153f414a73 Andrzej Hajda 2016-10-10 2278 static const struct drm_bridge_funcs sii8620_bridge_funcs = { e25f1f7c94e16d Maciej Purski 2017-08-24 2279 .attach = sii8620_attach, e25f1f7c94e16d Maciej Purski 2017-08-24 2280 .detach = sii8620_detach, ce6e153f414a73 Andrzej Hajda 2016-10-10 2281 .mode_fixup = sii8620_mode_fixup, e7c2e4d368e2ef Marek Szyprowski 2017-11-09 2282 .mode_valid = sii8620_mode_valid, ce6e153f414a73 Andrzej Hajda 2016-10-10 2283 }; ce6e153f414a73 Andrzej Hajda 2016-10-10 2284 ce6e153f414a73 Andrzej Hajda 2016-10-10 2285 static int sii8620_probe(struct i2c_client *client, ce6e153f414a73 Andrzej Hajda 2016-10-10 2286 const struct i2c_device_id *id) ce6e153f414a73 Andrzej Hajda 2016-10-10 2287 { ce6e153f414a73 Andrzej Hajda 2016-10-10 2288 struct device *dev = &client->dev; ce6e153f414a73 Andrzej Hajda 2016-10-10 2289 struct sii8620 *ctx; ce6e153f414a73 Andrzej Hajda 2016-10-10 2290 int ret; ce6e153f414a73 Andrzej Hajda 2016-10-10 2291 ce6e153f414a73 Andrzej Hajda 2016-10-10 2292 ctx = devm_kzalloc(dev, sizeof(*ctx), GFP_KERNEL); ce6e153f414a73 Andrzej Hajda 2016-10-10 2293 if (!ctx) ce6e153f414a73 Andrzej Hajda 2016-10-10 2294 return -ENOMEM; ce6e153f414a73 Andrzej Hajda 2016-10-10 2295 ce6e153f414a73 Andrzej Hajda 2016-10-10 2296 ctx->dev = dev; ce6e153f414a73 Andrzej Hajda 2016-10-10 2297 mutex_init(&ctx->lock); ce6e153f414a73 Andrzej Hajda 2016-10-10 2298 INIT_LIST_HEAD(&ctx->mt_queue); ce6e153f414a73 Andrzej Hajda 2016-10-10 2299 ce6e153f414a73 Andrzej Hajda 2016-10-10 2300 ctx->clk_xtal = devm_clk_get(dev, "xtal"); ce6e153f414a73 Andrzej Hajda 2016-10-10 2301 if (IS_ERR(ctx->clk_xtal)) { ce6e153f414a73 Andrzej Hajda 2016-10-10 2302 dev_err(dev, "failed to get xtal clock from DT\n"); ce6e153f414a73 Andrzej Hajda 2016-10-10 2303 return PTR_ERR(ctx->clk_xtal); ce6e153f414a73 Andrzej Hajda 2016-10-10 2304 } ce6e153f414a73 Andrzej Hajda 2016-10-10 2305 ce6e153f414a73 Andrzej Hajda 2016-10-10 2306 if (!client->irq) { ce6e153f414a73 Andrzej Hajda 2016-10-10 2307 dev_err(dev, "no irq provided\n"); ce6e153f414a73 Andrzej Hajda 2016-10-10 2308 return -EINVAL; ce6e153f414a73 Andrzej Hajda 2016-10-10 2309 } ce6e153f414a73 Andrzej Hajda 2016-10-10 2310 irq_set_status_flags(client->irq, IRQ_NOAUTOEN); ce6e153f414a73 Andrzej Hajda 2016-10-10 2311 ret = devm_request_threaded_irq(dev, client->irq, NULL, ce6e153f414a73 Andrzej Hajda 2016-10-10 2312 sii8620_irq_thread, ce6e153f414a73 Andrzej Hajda 2016-10-10 2313 IRQF_TRIGGER_HIGH | IRQF_ONESHOT, ce6e153f414a73 Andrzej Hajda 2016-10-10 2314 "sii8620", ctx); e0ba12ea5e1329 Andrzej Hajda 2017-02-22 2315 if (ret < 0) { e0ba12ea5e1329 Andrzej Hajda 2017-02-22 2316 dev_err(dev, "failed to install IRQ handler\n"); e0ba12ea5e1329 Andrzej Hajda 2017-02-22 2317 return ret; e0ba12ea5e1329 Andrzej Hajda 2017-02-22 2318 } ce6e153f414a73 Andrzej Hajda 2016-10-10 2319 ce6e153f414a73 Andrzej Hajda 2016-10-10 2320 ctx->gpio_reset = devm_gpiod_get(dev, "reset", GPIOD_OUT_HIGH); ce6e153f414a73 Andrzej Hajda 2016-10-10 2321 if (IS_ERR(ctx->gpio_reset)) { ce6e153f414a73 Andrzej Hajda 2016-10-10 2322 dev_err(dev, "failed to get reset gpio from DT\n"); ce6e153f414a73 Andrzej Hajda 2016-10-10 2323 return PTR_ERR(ctx->gpio_reset); ce6e153f414a73 Andrzej Hajda 2016-10-10 2324 } ce6e153f414a73 Andrzej Hajda 2016-10-10 2325 ce6e153f414a73 Andrzej Hajda 2016-10-10 2326 ctx->supplies[0].supply = "cvcc10"; ce6e153f414a73 Andrzej Hajda 2016-10-10 2327 ctx->supplies[1].supply = "iovcc18"; ce6e153f414a73 Andrzej Hajda 2016-10-10 2328 ret = devm_regulator_bulk_get(dev, 2, ctx->supplies); ce6e153f414a73 Andrzej Hajda 2016-10-10 2329 if (ret) ce6e153f414a73 Andrzej Hajda 2016-10-10 2330 return ret; ce6e153f414a73 Andrzej Hajda 2016-10-10 2331 688838442147d9 Maciej Purski 2018-02-27 2332 ret = sii8620_extcon_init(ctx); 688838442147d9 Maciej Purski 2018-02-27 2333 if (ret < 0) { 688838442147d9 Maciej Purski 2018-02-27 2334 dev_err(ctx->dev, "failed to initialize EXTCON\n"); 688838442147d9 Maciej Purski 2018-02-27 2335 return ret; 688838442147d9 Maciej Purski 2018-02-27 2336 } 688838442147d9 Maciej Purski 2018-02-27 2337 ce6e153f414a73 Andrzej Hajda 2016-10-10 2338 i2c_set_clientdata(client, ctx); ce6e153f414a73 Andrzej Hajda 2016-10-10 2339 ce6e153f414a73 Andrzej Hajda 2016-10-10 2340 ctx->bridge.funcs = &sii8620_bridge_funcs; ce6e153f414a73 Andrzej Hajda 2016-10-10 2341 ctx->bridge.of_node = dev->of_node; ce6e153f414a73 Andrzej Hajda 2016-10-10 2342 drm_bridge_add(&ctx->bridge); ce6e153f414a73 Andrzej Hajda 2016-10-10 2343 688838442147d9 Maciej Purski 2018-02-27 2344 if (!ctx->extcon) ce6e153f414a73 Andrzej Hajda 2016-10-10 2345 sii8620_cable_in(ctx); ce6e153f414a73 Andrzej Hajda 2016-10-10 2346 ce6e153f414a73 Andrzej Hajda 2016-10-10 2347 return 0; ce6e153f414a73 Andrzej Hajda 2016-10-10 2348 } ce6e153f414a73 Andrzej Hajda 2016-10-10 2349 ce6e153f414a73 Andrzej Hajda 2016-10-10 2350 static int sii8620_remove(struct i2c_client *client) ce6e153f414a73 Andrzej Hajda 2016-10-10 2351 { ce6e153f414a73 Andrzej Hajda 2016-10-10 2352 struct sii8620 *ctx = i2c_get_clientdata(client); ce6e153f414a73 Andrzej Hajda 2016-10-10 2353 688838442147d9 Maciej Purski 2018-02-27 2354 if (ctx->extcon) { 688838442147d9 Maciej Purski 2018-02-27 @2355 extcon_unregister_notifier(ctx->extcon, EXTCON_DISP_MHL, 688838442147d9 Maciej Purski 2018-02-27 2356 &ctx->extcon_nb); 688838442147d9 Maciej Purski 2018-02-27 2357 flush_work(&ctx->extcon_wq); 688838442147d9 Maciej Purski 2018-02-27 2358 if (ctx->cable_state > 0) 688838442147d9 Maciej Purski 2018-02-27 2359 sii8620_cable_out(ctx); 688838442147d9 Maciej Purski 2018-02-27 2360 } else { 688838442147d9 Maciej Purski 2018-02-27 2361 sii8620_cable_out(ctx); 688838442147d9 Maciej Purski 2018-02-27 2362 } e25f1f7c94e16d Maciej Purski 2017-08-24 2363 drm_bridge_remove(&ctx->bridge); ce6e153f414a73 Andrzej Hajda 2016-10-10 2364 ce6e153f414a73 Andrzej Hajda 2016-10-10 2365 return 0; ce6e153f414a73 Andrzej Hajda 2016-10-10 2366 } ce6e153f414a73 Andrzej Hajda 2016-10-10 2367 :::::: The code at line 2355 was first introduced by commit :::::: 688838442147d9dd94c2ef7c2c31a35cf150c5fa drm/bridge/sii8620: use micro-USB cable detection logic to detect MHL :::::: TO: Maciej Purski <m.pur...@samsung.com> :::::: CC: Chanwoo Choi <cw00.c...@samsung.com> --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org
.config.gz
Description: application/gzip
_______________________________________________ kbuild mailing list -- kbu...@lists.01.org To unsubscribe send an email to kbuild-le...@lists.01.org