Hi Masahiro,

FYI, the error/warning still remains.

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 
master
head:   f8394f232b1eab649ce2df5c5f15b0e528c92091
commit: def2fbffe62c00c330c7f41584a356001179c59c kconfig: allow symbols implied 
by y to become m
date:   8 months ago
config: i386-randconfig-r022-20201106 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce (this is a W=1 build):
        # 
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 fetch --no-tags linus master
        git checkout def2fbffe62c00c330c7f41584a356001179c59c
        # save the attached .config to linux build tree
        make W=1 ARCH=i386 

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 >>):

   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'
   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'
   ld: drivers/gpu/drm/bridge/sil-sii8620.c:2191: undefined reference to 
`extcon_register_notifier'
   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'

vim +2355 drivers/gpu/drm/bridge/sil-sii8620.c

688838442147d9d Maciej Purski    2018-02-27  2162  
688838442147d9d Maciej Purski    2018-02-27  2163  static int 
sii8620_extcon_init(struct sii8620 *ctx)
688838442147d9d Maciej Purski    2018-02-27  2164  {
688838442147d9d Maciej Purski    2018-02-27  2165       struct extcon_dev *edev;
688838442147d9d Maciej Purski    2018-02-27  2166       struct device_node 
*musb, *muic;
688838442147d9d Maciej Purski    2018-02-27  2167       int ret;
688838442147d9d Maciej Purski    2018-02-27  2168  
688838442147d9d Maciej Purski    2018-02-27  2169       /* get micro-USB 
connector node */
688838442147d9d Maciej Purski    2018-02-27  2170       musb = 
of_graph_get_remote_node(ctx->dev->of_node, 1, -1);
688838442147d9d Maciej Purski    2018-02-27  2171       /* next get micro-USB 
Interface Controller node */
688838442147d9d Maciej Purski    2018-02-27  2172       muic = 
of_get_next_parent(musb);
688838442147d9d Maciej Purski    2018-02-27  2173  
688838442147d9d Maciej Purski    2018-02-27  2174       if (!muic) {
688838442147d9d Maciej Purski    2018-02-27  2175               
dev_info(ctx->dev, "no extcon found, switching to 'always on' mode\n");
688838442147d9d Maciej Purski    2018-02-27  2176               return 0;
688838442147d9d Maciej Purski    2018-02-27  2177       }
688838442147d9d Maciej Purski    2018-02-27  2178  
688838442147d9d Maciej Purski    2018-02-27 @2179       edev = 
extcon_find_edev_by_node(muic);
688838442147d9d Maciej Purski    2018-02-27  2180       of_node_put(muic);
688838442147d9d Maciej Purski    2018-02-27  2181       if (IS_ERR(edev)) {
688838442147d9d Maciej Purski    2018-02-27  2182               if 
(PTR_ERR(edev) == -EPROBE_DEFER)
688838442147d9d Maciej Purski    2018-02-27  2183                       return 
-EPROBE_DEFER;
688838442147d9d Maciej Purski    2018-02-27  2184               
dev_err(ctx->dev, "Invalid or missing extcon\n");
688838442147d9d Maciej Purski    2018-02-27  2185               return 
PTR_ERR(edev);
688838442147d9d Maciej Purski    2018-02-27  2186       }
688838442147d9d Maciej Purski    2018-02-27  2187  
688838442147d9d Maciej Purski    2018-02-27  2188       ctx->extcon = edev;
688838442147d9d Maciej Purski    2018-02-27  2189       
ctx->extcon_nb.notifier_call = sii8620_extcon_notifier;
688838442147d9d Maciej Purski    2018-02-27  2190       
INIT_WORK(&ctx->extcon_wq, sii8620_extcon_work);
688838442147d9d Maciej Purski    2018-02-27  2191       ret = 
extcon_register_notifier(edev, EXTCON_DISP_MHL, &ctx->extcon_nb);
688838442147d9d Maciej Purski    2018-02-27  2192       if (ret) {
688838442147d9d Maciej Purski    2018-02-27  2193               
dev_err(ctx->dev, "failed to register notifier for MHL\n");
688838442147d9d Maciej Purski    2018-02-27  2194               return ret;
688838442147d9d Maciej Purski    2018-02-27  2195       }
688838442147d9d Maciej Purski    2018-02-27  2196  
688838442147d9d Maciej Purski    2018-02-27  2197       return 0;
688838442147d9d Maciej Purski    2018-02-27  2198  }
688838442147d9d Maciej Purski    2018-02-27  2199  
ce6e153f414a73a Andrzej Hajda    2016-10-10  2200  static inline struct sii8620 
*bridge_to_sii8620(struct drm_bridge *bridge)
ce6e153f414a73a Andrzej Hajda    2016-10-10  2201  {
ce6e153f414a73a Andrzej Hajda    2016-10-10  2202       return 
container_of(bridge, struct sii8620, bridge);
ce6e153f414a73a Andrzej Hajda    2016-10-10  2203  }
ce6e153f414a73a Andrzej Hajda    2016-10-10  2204  
e25f1f7c94e16d4 Maciej Purski    2017-08-24  2205  static int 
sii8620_attach(struct drm_bridge *bridge)
e25f1f7c94e16d4 Maciej Purski    2017-08-24  2206  {
e25f1f7c94e16d4 Maciej Purski    2017-08-24  2207       struct sii8620 *ctx = 
bridge_to_sii8620(bridge);
e25f1f7c94e16d4 Maciej Purski    2017-08-24  2208  
e25f1f7c94e16d4 Maciej Purski    2017-08-24  2209       
sii8620_init_rcp_input_dev(ctx);
e25f1f7c94e16d4 Maciej Purski    2017-08-24  2210  
e25f1f7c94e16d4 Maciej Purski    2017-08-24  2211       return 
sii8620_clear_error(ctx);
e25f1f7c94e16d4 Maciej Purski    2017-08-24  2212  }
e25f1f7c94e16d4 Maciej Purski    2017-08-24  2213  
e25f1f7c94e16d4 Maciej Purski    2017-08-24  2214  static void 
sii8620_detach(struct drm_bridge *bridge)
e25f1f7c94e16d4 Maciej Purski    2017-08-24  2215  {
e25f1f7c94e16d4 Maciej Purski    2017-08-24  2216       struct sii8620 *ctx = 
bridge_to_sii8620(bridge);
e25f1f7c94e16d4 Maciej Purski    2017-08-24  2217  
710abfe8ead2477 Ronald Tschalär  2019-04-19  2218       if 
(!IS_ENABLED(CONFIG_RC_CORE))
710abfe8ead2477 Ronald Tschalär  2019-04-19  2219               return;
710abfe8ead2477 Ronald Tschalär  2019-04-19  2220  
e25f1f7c94e16d4 Maciej Purski    2017-08-24  2221       
rc_unregister_device(ctx->rc_dev);
e25f1f7c94e16d4 Maciej Purski    2017-08-24  2222  }
e25f1f7c94e16d4 Maciej Purski    2017-08-24  2223  
ecba7cfa3afbe48 Maciej Purski    2018-02-02  2224  static int 
sii8620_is_packing_required(struct sii8620 *ctx,
ecba7cfa3afbe48 Maciej Purski    2018-02-02  2225                               
       const struct drm_display_mode *mode)
ecba7cfa3afbe48 Maciej Purski    2018-02-02  2226  {
ecba7cfa3afbe48 Maciej Purski    2018-02-02  2227       int max_pclk, 
max_pclk_pp_mode;
ecba7cfa3afbe48 Maciej Purski    2018-02-02  2228  
ecba7cfa3afbe48 Maciej Purski    2018-02-02  2229       if 
(sii8620_is_mhl3(ctx)) {
ecba7cfa3afbe48 Maciej Purski    2018-02-02  2230               max_pclk = 
MHL3_MAX_PCLK;
ecba7cfa3afbe48 Maciej Purski    2018-02-02  2231               
max_pclk_pp_mode = MHL3_MAX_PCLK_PP_MODE;
ecba7cfa3afbe48 Maciej Purski    2018-02-02  2232       } else {
ecba7cfa3afbe48 Maciej Purski    2018-02-02  2233               max_pclk = 
MHL1_MAX_PCLK;
ecba7cfa3afbe48 Maciej Purski    2018-02-02  2234               
max_pclk_pp_mode = MHL1_MAX_PCLK_PP_MODE;
ecba7cfa3afbe48 Maciej Purski    2018-02-02  2235       }
ecba7cfa3afbe48 Maciej Purski    2018-02-02  2236  
ecba7cfa3afbe48 Maciej Purski    2018-02-02  2237       if (mode->clock < 
max_pclk)
ecba7cfa3afbe48 Maciej Purski    2018-02-02  2238               return 0;
ecba7cfa3afbe48 Maciej Purski    2018-02-02  2239       else if (mode->clock < 
max_pclk_pp_mode)
ecba7cfa3afbe48 Maciej Purski    2018-02-02  2240               return 1;
ecba7cfa3afbe48 Maciej Purski    2018-02-02  2241       else
ecba7cfa3afbe48 Maciej Purski    2018-02-02  2242               return -1;
ecba7cfa3afbe48 Maciej Purski    2018-02-02  2243  }
ecba7cfa3afbe48 Maciej Purski    2018-02-02  2244  
e7c2e4d368e2efc Marek Szyprowski 2017-11-09  2245  static enum drm_mode_status 
sii8620_mode_valid(struct drm_bridge *bridge,
e7c2e4d368e2efc Marek Szyprowski 2017-11-09  2246                               
         const struct drm_display_mode *mode)
e7c2e4d368e2efc Marek Szyprowski 2017-11-09  2247  {
e7c2e4d368e2efc Marek Szyprowski 2017-11-09  2248       struct sii8620 *ctx = 
bridge_to_sii8620(bridge);
ecba7cfa3afbe48 Maciej Purski    2018-02-02  2249       int pack_required = 
sii8620_is_packing_required(ctx, mode);
e7c2e4d368e2efc Marek Szyprowski 2017-11-09  2250       bool can_pack = 
ctx->devcap[MHL_DCAP_VID_LINK_MODE] &
e7c2e4d368e2efc Marek Szyprowski 2017-11-09  2251                       
MHL_DCAP_VID_LINK_PPIXEL;
e7c2e4d368e2efc Marek Szyprowski 2017-11-09  2252  
ecba7cfa3afbe48 Maciej Purski    2018-02-02  2253       switch (pack_required) {
ecba7cfa3afbe48 Maciej Purski    2018-02-02  2254       case 0:
ecba7cfa3afbe48 Maciej Purski    2018-02-02  2255               return MODE_OK;
ecba7cfa3afbe48 Maciej Purski    2018-02-02  2256       case 1:
ecba7cfa3afbe48 Maciej Purski    2018-02-02  2257               return 
(can_pack) ? MODE_OK : MODE_CLOCK_HIGH;
ecba7cfa3afbe48 Maciej Purski    2018-02-02  2258       default:
ecba7cfa3afbe48 Maciej Purski    2018-02-02  2259               return 
MODE_CLOCK_HIGH;
ecba7cfa3afbe48 Maciej Purski    2018-02-02  2260       }
e7c2e4d368e2efc Marek Szyprowski 2017-11-09  2261  }
e7c2e4d368e2efc Marek Szyprowski 2017-11-09  2262  
ce6e153f414a73a Andrzej Hajda    2016-10-10  2263  static bool 
sii8620_mode_fixup(struct drm_bridge *bridge,
ce6e153f414a73a Andrzej Hajda    2016-10-10  2264                              
const struct drm_display_mode *mode,
ce6e153f414a73a Andrzej Hajda    2016-10-10  2265                              
struct drm_display_mode *adjusted_mode)
ce6e153f414a73a Andrzej Hajda    2016-10-10  2266  {
ce6e153f414a73a Andrzej Hajda    2016-10-10  2267       struct sii8620 *ctx = 
bridge_to_sii8620(bridge);
ce6e153f414a73a Andrzej Hajda    2016-10-10  2268  
bf1722cab55a32a Andrzej Hajda    2017-02-01  2269       mutex_lock(&ctx->lock);
ce6e153f414a73a Andrzej Hajda    2016-10-10  2270  
ecba7cfa3afbe48 Maciej Purski    2018-02-02  2271       ctx->use_packed_pixel = 
sii8620_is_packing_required(ctx, adjusted_mode);
ecba7cfa3afbe48 Maciej Purski    2018-02-02  2272  
ce6e153f414a73a Andrzej Hajda    2016-10-10  2273       
mutex_unlock(&ctx->lock);
ecba7cfa3afbe48 Maciej Purski    2018-02-02  2274  
ecba7cfa3afbe48 Maciej Purski    2018-02-02  2275       return true;
ce6e153f414a73a Andrzej Hajda    2016-10-10  2276  }
ce6e153f414a73a Andrzej Hajda    2016-10-10  2277  
ce6e153f414a73a Andrzej Hajda    2016-10-10  2278  static const struct 
drm_bridge_funcs sii8620_bridge_funcs = {
e25f1f7c94e16d4 Maciej Purski    2017-08-24  2279       .attach = 
sii8620_attach,
e25f1f7c94e16d4 Maciej Purski    2017-08-24  2280       .detach = 
sii8620_detach,
ce6e153f414a73a Andrzej Hajda    2016-10-10  2281       .mode_fixup = 
sii8620_mode_fixup,
e7c2e4d368e2efc Marek Szyprowski 2017-11-09  2282       .mode_valid = 
sii8620_mode_valid,
ce6e153f414a73a Andrzej Hajda    2016-10-10  2283  };
ce6e153f414a73a Andrzej Hajda    2016-10-10  2284  
ce6e153f414a73a Andrzej Hajda    2016-10-10  2285  static int 
sii8620_probe(struct i2c_client *client,
ce6e153f414a73a Andrzej Hajda    2016-10-10  2286                        const 
struct i2c_device_id *id)
ce6e153f414a73a Andrzej Hajda    2016-10-10  2287  {
ce6e153f414a73a Andrzej Hajda    2016-10-10  2288       struct device *dev = 
&client->dev;
ce6e153f414a73a Andrzej Hajda    2016-10-10  2289       struct sii8620 *ctx;
ce6e153f414a73a Andrzej Hajda    2016-10-10  2290       int ret;
ce6e153f414a73a Andrzej Hajda    2016-10-10  2291  
ce6e153f414a73a Andrzej Hajda    2016-10-10  2292       ctx = devm_kzalloc(dev, 
sizeof(*ctx), GFP_KERNEL);
ce6e153f414a73a Andrzej Hajda    2016-10-10  2293       if (!ctx)
ce6e153f414a73a Andrzej Hajda    2016-10-10  2294               return -ENOMEM;
ce6e153f414a73a Andrzej Hajda    2016-10-10  2295  
ce6e153f414a73a Andrzej Hajda    2016-10-10  2296       ctx->dev = dev;
ce6e153f414a73a Andrzej Hajda    2016-10-10  2297       mutex_init(&ctx->lock);
ce6e153f414a73a Andrzej Hajda    2016-10-10  2298       
INIT_LIST_HEAD(&ctx->mt_queue);
ce6e153f414a73a Andrzej Hajda    2016-10-10  2299  
ce6e153f414a73a Andrzej Hajda    2016-10-10  2300       ctx->clk_xtal = 
devm_clk_get(dev, "xtal");
ce6e153f414a73a Andrzej Hajda    2016-10-10  2301       if 
(IS_ERR(ctx->clk_xtal)) {
ce6e153f414a73a Andrzej Hajda    2016-10-10  2302               dev_err(dev, 
"failed to get xtal clock from DT\n");
ce6e153f414a73a Andrzej Hajda    2016-10-10  2303               return 
PTR_ERR(ctx->clk_xtal);
ce6e153f414a73a Andrzej Hajda    2016-10-10  2304       }
ce6e153f414a73a Andrzej Hajda    2016-10-10  2305  
ce6e153f414a73a Andrzej Hajda    2016-10-10  2306       if (!client->irq) {
ce6e153f414a73a Andrzej Hajda    2016-10-10  2307               dev_err(dev, 
"no irq provided\n");
ce6e153f414a73a Andrzej Hajda    2016-10-10  2308               return -EINVAL;
ce6e153f414a73a Andrzej Hajda    2016-10-10  2309       }
ce6e153f414a73a Andrzej Hajda    2016-10-10  2310       
irq_set_status_flags(client->irq, IRQ_NOAUTOEN);
ce6e153f414a73a Andrzej Hajda    2016-10-10  2311       ret = 
devm_request_threaded_irq(dev, client->irq, NULL,
ce6e153f414a73a Andrzej Hajda    2016-10-10  2312                               
        sii8620_irq_thread,
ce6e153f414a73a Andrzej Hajda    2016-10-10  2313                               
        IRQF_TRIGGER_HIGH | IRQF_ONESHOT,
ce6e153f414a73a Andrzej Hajda    2016-10-10  2314                               
        "sii8620", ctx);
e0ba12ea5e1329b Andrzej Hajda    2017-02-22  2315       if (ret < 0) {
e0ba12ea5e1329b Andrzej Hajda    2017-02-22  2316               dev_err(dev, 
"failed to install IRQ handler\n");
e0ba12ea5e1329b Andrzej Hajda    2017-02-22  2317               return ret;
e0ba12ea5e1329b Andrzej Hajda    2017-02-22  2318       }
ce6e153f414a73a Andrzej Hajda    2016-10-10  2319  
ce6e153f414a73a Andrzej Hajda    2016-10-10  2320       ctx->gpio_reset = 
devm_gpiod_get(dev, "reset", GPIOD_OUT_HIGH);
ce6e153f414a73a Andrzej Hajda    2016-10-10  2321       if 
(IS_ERR(ctx->gpio_reset)) {
ce6e153f414a73a Andrzej Hajda    2016-10-10  2322               dev_err(dev, 
"failed to get reset gpio from DT\n");
ce6e153f414a73a Andrzej Hajda    2016-10-10  2323               return 
PTR_ERR(ctx->gpio_reset);
ce6e153f414a73a Andrzej Hajda    2016-10-10  2324       }
ce6e153f414a73a Andrzej Hajda    2016-10-10  2325  
ce6e153f414a73a Andrzej Hajda    2016-10-10  2326       ctx->supplies[0].supply 
= "cvcc10";
ce6e153f414a73a Andrzej Hajda    2016-10-10  2327       ctx->supplies[1].supply 
= "iovcc18";
ce6e153f414a73a Andrzej Hajda    2016-10-10  2328       ret = 
devm_regulator_bulk_get(dev, 2, ctx->supplies);
ce6e153f414a73a Andrzej Hajda    2016-10-10  2329       if (ret)
ce6e153f414a73a Andrzej Hajda    2016-10-10  2330               return ret;
ce6e153f414a73a Andrzej Hajda    2016-10-10  2331  
688838442147d9d Maciej Purski    2018-02-27  2332       ret = 
sii8620_extcon_init(ctx);
688838442147d9d Maciej Purski    2018-02-27  2333       if (ret < 0) {
688838442147d9d Maciej Purski    2018-02-27  2334               
dev_err(ctx->dev, "failed to initialize EXTCON\n");
688838442147d9d Maciej Purski    2018-02-27  2335               return ret;
688838442147d9d Maciej Purski    2018-02-27  2336       }
688838442147d9d Maciej Purski    2018-02-27  2337  
ce6e153f414a73a Andrzej Hajda    2016-10-10  2338       
i2c_set_clientdata(client, ctx);
ce6e153f414a73a Andrzej Hajda    2016-10-10  2339  
ce6e153f414a73a Andrzej Hajda    2016-10-10  2340       ctx->bridge.funcs = 
&sii8620_bridge_funcs;
ce6e153f414a73a Andrzej Hajda    2016-10-10  2341       ctx->bridge.of_node = 
dev->of_node;
ce6e153f414a73a Andrzej Hajda    2016-10-10  2342       
drm_bridge_add(&ctx->bridge);
ce6e153f414a73a Andrzej Hajda    2016-10-10  2343  
688838442147d9d Maciej Purski    2018-02-27  2344       if (!ctx->extcon)
ce6e153f414a73a Andrzej Hajda    2016-10-10  2345               
sii8620_cable_in(ctx);
ce6e153f414a73a Andrzej Hajda    2016-10-10  2346  
ce6e153f414a73a Andrzej Hajda    2016-10-10  2347       return 0;
ce6e153f414a73a Andrzej Hajda    2016-10-10  2348  }
ce6e153f414a73a Andrzej Hajda    2016-10-10  2349  
ce6e153f414a73a Andrzej Hajda    2016-10-10  2350  static int 
sii8620_remove(struct i2c_client *client)
ce6e153f414a73a Andrzej Hajda    2016-10-10  2351  {
ce6e153f414a73a Andrzej Hajda    2016-10-10  2352       struct sii8620 *ctx = 
i2c_get_clientdata(client);
ce6e153f414a73a Andrzej Hajda    2016-10-10  2353  
688838442147d9d Maciej Purski    2018-02-27  2354       if (ctx->extcon) {
688838442147d9d Maciej Purski    2018-02-27 @2355               
extcon_unregister_notifier(ctx->extcon, EXTCON_DISP_MHL,
688838442147d9d Maciej Purski    2018-02-27  2356                               
           &ctx->extcon_nb);
688838442147d9d Maciej Purski    2018-02-27  2357               
flush_work(&ctx->extcon_wq);
688838442147d9d Maciej Purski    2018-02-27  2358               if 
(ctx->cable_state > 0)
688838442147d9d Maciej Purski    2018-02-27  2359                       
sii8620_cable_out(ctx);
688838442147d9d Maciej Purski    2018-02-27  2360       } else {
688838442147d9d Maciej Purski    2018-02-27  2361               
sii8620_cable_out(ctx);
688838442147d9d Maciej Purski    2018-02-27  2362       }
e25f1f7c94e16d4 Maciej Purski    2017-08-24  2363       
drm_bridge_remove(&ctx->bridge);
ce6e153f414a73a Andrzej Hajda    2016-10-10  2364  
ce6e153f414a73a Andrzej Hajda    2016-10-10  2365       return 0;
ce6e153f414a73a Andrzej Hajda    2016-10-10  2366  }
ce6e153f414a73a 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

Attachment: .config.gz
Description: application/gzip

Reply via email to