linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Hsin-Yi Wang <hsinyi@chromium.org>,
	Robert Foss <robert.foss@linaro.org>,
	Rob Herring <robh+dt@kernel.org>, Xin Ji <xji@analogixsemi.com>
Cc: kbuild-all@lists.01.org, David Airlie <airlied@linux.ie>,
	Daniel Vetter <daniel@ffwll.ch>,
	Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
	dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org, Andrzej Hajda <a.hajda@samsung.com>
Subject: Re: [PATCH v5 3/4] drm/bridge: anx7625: Support reading edid through aux channel
Date: Thu, 20 Jan 2022 12:29:04 +0800	[thread overview]
Message-ID: <202201201223.sts9AtBC-lkp@intel.com> (raw)
In-Reply-To: <20220119151751.986185-3-hsinyi@chromium.org>

Hi Hsin-Yi,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on drm-tip/drm-tip]
[cannot apply to drm/drm-next robh/for-next drm-intel/for-linux-next v5.16 next-20220118]
[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]

url:    https://github.com/0day-ci/linux/commits/Hsin-Yi-Wang/drm-bridge-anx7625-send-DPCD-command-to-downstream/20220119-231952
base:   git://anongit.freedesktop.org/drm/drm-tip drm-tip
config: i386-randconfig-r024-20220117 (https://download.01.org/0day-ci/archive/20220120/202201201223.sts9AtBC-lkp@intel.com/config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
        # https://github.com/0day-ci/linux/commit/61809df270082584886188b067ee19744f4b35e1
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Hsin-Yi-Wang/drm-bridge-anx7625-send-DPCD-command-to-downstream/20220119-231952
        git checkout 61809df270082584886188b067ee19744f4b35e1
        # save the config file to linux build tree
        mkdir build_dir
        make W=1 O=build_dir ARCH=i386 SHELL=/bin/bash

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

   ld: drivers/gpu/drm/bridge/analogix/anx7625.o: in function `anx7625_i2c_probe':
>> drivers/gpu/drm/bridge/analogix/anx7625.c:2648: undefined reference to `devm_of_dp_aux_populate_ep_devices'


vim +2648 drivers/gpu/drm/bridge/analogix/anx7625.c

  2574	
  2575	static int anx7625_i2c_probe(struct i2c_client *client,
  2576				     const struct i2c_device_id *id)
  2577	{
  2578		struct anx7625_data *platform;
  2579		struct anx7625_platform_data *pdata;
  2580		int ret = 0;
  2581		struct device *dev = &client->dev;
  2582	
  2583		if (!i2c_check_functionality(client->adapter,
  2584					     I2C_FUNC_SMBUS_I2C_BLOCK)) {
  2585			DRM_DEV_ERROR(dev, "anx7625's i2c bus doesn't support\n");
  2586			return -ENODEV;
  2587		}
  2588	
  2589		platform = devm_kzalloc(dev, sizeof(*platform), GFP_KERNEL);
  2590		if (!platform) {
  2591			DRM_DEV_ERROR(dev, "fail to allocate driver data\n");
  2592			return -ENOMEM;
  2593		}
  2594	
  2595		pdata = &platform->pdata;
  2596	
  2597		platform->client = client;
  2598		i2c_set_clientdata(client, platform);
  2599	
  2600		pdata->supplies[0].supply = "vdd10";
  2601		pdata->supplies[1].supply = "vdd18";
  2602		pdata->supplies[2].supply = "vdd33";
  2603		ret = devm_regulator_bulk_get(dev, ARRAY_SIZE(pdata->supplies),
  2604					      pdata->supplies);
  2605		if (ret) {
  2606			DRM_DEV_ERROR(dev, "fail to get power supplies: %d\n", ret);
  2607			return ret;
  2608		}
  2609		anx7625_init_gpio(platform);
  2610	
  2611		mutex_init(&platform->lock);
  2612		mutex_init(&platform->hdcp_wq_lock);
  2613	
  2614		INIT_DELAYED_WORK(&platform->hdcp_work, hdcp_check_work_func);
  2615		platform->hdcp_workqueue = create_workqueue("hdcp workqueue");
  2616		if (!platform->hdcp_workqueue) {
  2617			dev_err(dev, "fail to create work queue\n");
  2618			ret = -ENOMEM;
  2619			return ret;
  2620		}
  2621	
  2622		platform->pdata.intp_irq = client->irq;
  2623		if (platform->pdata.intp_irq) {
  2624			INIT_WORK(&platform->work, anx7625_work_func);
  2625			platform->workqueue = alloc_workqueue("anx7625_work",
  2626							      WQ_FREEZABLE | WQ_MEM_RECLAIM, 1);
  2627			if (!platform->workqueue) {
  2628				DRM_DEV_ERROR(dev, "fail to create work queue\n");
  2629				ret = -ENOMEM;
  2630				goto free_hdcp_wq;
  2631			}
  2632	
  2633			ret = devm_request_threaded_irq(dev, platform->pdata.intp_irq,
  2634							NULL, anx7625_intr_hpd_isr,
  2635							IRQF_TRIGGER_FALLING |
  2636							IRQF_ONESHOT,
  2637							"anx7625-intp", platform);
  2638			if (ret) {
  2639				DRM_DEV_ERROR(dev, "fail to request irq\n");
  2640				goto free_wq;
  2641			}
  2642		}
  2643	
  2644		platform->aux.name = "anx7625-aux";
  2645		platform->aux.dev = dev;
  2646		platform->aux.transfer = anx7625_aux_transfer;
  2647		drm_dp_aux_init(&platform->aux);
> 2648		devm_of_dp_aux_populate_ep_devices(&platform->aux);
  2649	
  2650		ret = anx7625_parse_dt(dev, pdata);
  2651		if (ret) {
  2652			if (ret != -EPROBE_DEFER)
  2653				DRM_DEV_ERROR(dev, "fail to parse DT : %d\n", ret);
  2654			return ret;
  2655		}
  2656	
  2657		if (anx7625_register_i2c_dummy_clients(platform, client) != 0) {
  2658			ret = -ENOMEM;
  2659			DRM_DEV_ERROR(dev, "fail to reserve I2C bus.\n");
  2660			goto free_wq;
  2661		}
  2662	
  2663		pm_runtime_enable(dev);
  2664		pm_runtime_set_autosuspend_delay(dev, 1000);
  2665		pm_runtime_use_autosuspend(dev);
  2666		pm_suspend_ignore_children(dev, true);
  2667		ret = devm_add_action_or_reset(dev, anx7625_runtime_disable, dev);
  2668		if (ret)
  2669			return ret;
  2670	
  2671		if (!platform->pdata.low_power_mode) {
  2672			anx7625_disable_pd_protocol(platform);
  2673			pm_runtime_get_sync(dev);
  2674		}
  2675	
  2676		/* Add work function */
  2677		if (platform->pdata.intp_irq)
  2678			queue_work(platform->workqueue, &platform->work);
  2679	
  2680		platform->bridge.funcs = &anx7625_bridge_funcs;
  2681		platform->bridge.of_node = client->dev.of_node;
  2682		if (!anx7625_of_panel_on_aux_bus(&client->dev))
  2683			platform->bridge.ops |= DRM_BRIDGE_OP_EDID;
  2684		if (!platform->pdata.panel_bridge)
  2685			platform->bridge.ops |= DRM_BRIDGE_OP_HPD |
  2686						DRM_BRIDGE_OP_DETECT;
  2687		platform->bridge.type = platform->pdata.panel_bridge ?
  2688					    DRM_MODE_CONNECTOR_eDP :
  2689					    DRM_MODE_CONNECTOR_DisplayPort;
  2690	
  2691		drm_bridge_add(&platform->bridge);
  2692	
  2693		if (!platform->pdata.is_dpi) {
  2694			ret = anx7625_attach_dsi(platform);
  2695			if (ret) {
  2696				DRM_DEV_ERROR(dev, "Fail to attach to dsi : %d\n", ret);
  2697				goto unregister_bridge;
  2698			}
  2699		}
  2700	
  2701		if (platform->pdata.audio_en)
  2702			anx7625_register_audio(dev, platform);
  2703	
  2704		DRM_DEV_DEBUG_DRIVER(dev, "probe done\n");
  2705	
  2706		return 0;
  2707	
  2708	unregister_bridge:
  2709		drm_bridge_remove(&platform->bridge);
  2710	
  2711		if (!platform->pdata.low_power_mode)
  2712			pm_runtime_put_sync_suspend(&client->dev);
  2713	
  2714		anx7625_unregister_i2c_dummy_clients(platform);
  2715	
  2716	free_wq:
  2717		if (platform->workqueue)
  2718			destroy_workqueue(platform->workqueue);
  2719	
  2720	free_hdcp_wq:
  2721		if (platform->hdcp_workqueue)
  2722			destroy_workqueue(platform->hdcp_workqueue);
  2723	
  2724		return ret;
  2725	}
  2726	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

  parent reply	other threads:[~2022-01-20  4:29 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-19 15:17 [PATCH v5 1/4] drm/bridge: anx7625: send DPCD command to downstream Hsin-Yi Wang
2022-01-19 15:17 ` [PATCH v5 2/4] drm/bridge: anx7625: Convert to use devm_kzalloc Hsin-Yi Wang
2022-01-19 15:17 ` [PATCH v5 3/4] drm/bridge: anx7625: Support reading edid through aux channel Hsin-Yi Wang
2022-01-20  3:27   ` kernel test robot
2022-01-20  4:29   ` kernel test robot [this message]
2022-01-19 15:17 ` [PATCH v5 4/4] dt-bindings: drm/bridge: anx7625: Add aux-bus node Hsin-Yi Wang
2022-01-19 15:35   ` Robert Foss
2022-01-25  6:25     ` Hsin-Yi Wang
2022-01-27  3:39       ` Hsin-Yi Wang
2022-01-19 15:38 ` [PATCH v5 1/4] drm/bridge: anx7625: send DPCD command to downstream Robert Foss
2022-01-19 17:02   ` Hsin-Yi Wang

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=202201201223.sts9AtBC-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=a.hajda@samsung.com \
    --cc=airlied@linux.ie \
    --cc=daniel@ffwll.ch \
    --cc=devicetree@vger.kernel.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=hsinyi@chromium.org \
    --cc=kbuild-all@lists.01.org \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=robert.foss@linaro.org \
    --cc=robh+dt@kernel.org \
    --cc=xji@analogixsemi.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).