All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: [jimc:dd-drm-next 19/20] drivers/gpu/drm/drm_drv.c:886:15: error: implicit declaration of function 'dynamic_debug_register_tracer'
Date: Thu, 14 Oct 2021 12:51:43 +0800	[thread overview]
Message-ID: <202110141237.tPLBM6rQ-lkp@intel.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 6315 bytes --]

tree:   https://github.com/jimc/linux.git dd-drm-next
head:   2eec9300d730ad634b967a853579f0b5dffecc01
commit: 25a6802d94cd0a8eb61882bcbf6acdec479a965b [19/20] reg-in-drmdrv
config: openrisc-buildonly-randconfig-r003-20211013 (attached as .config)
compiler: or1k-linux-gcc (GCC) 11.2.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
        # https://github.com/jimc/linux/commit/25a6802d94cd0a8eb61882bcbf6acdec479a965b
        git remote add jimc https://github.com/jimc/linux.git
        git fetch --no-tags jimc dd-drm-next
        git checkout 25a6802d94cd0a8eb61882bcbf6acdec479a965b
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross ARCH=openrisc 

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

   drivers/gpu/drm/drm_drv.c: In function 'drm_dev_register':
>> drivers/gpu/drm/drm_drv.c:886:15: error: implicit declaration of function 'dynamic_debug_register_tracer' [-Werror=implicit-function-declaration]
     886 |         ret = dynamic_debug_register_tracer(THIS_MODULE, drm_trace_printvaf);
         |               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/drm_drv.c: In function 'drm_dev_unregister':
>> drivers/gpu/drm/drm_drv.c:957:9: error: implicit declaration of function 'dynamic_debug_unregister_tracer' [-Werror=implicit-function-declaration]
     957 |         dynamic_debug_unregister_tracer(THIS_MODULE, drm_trace_printvaf);
         |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   cc1: some warnings being treated as errors


vim +/dynamic_debug_register_tracer +886 drivers/gpu/drm/drm_drv.c

   840	
   841	/**
   842	 * drm_dev_register - Register DRM device
   843	 * @dev: Device to register
   844	 * @flags: Flags passed to the driver's .load() function
   845	 *
   846	 * Register the DRM device @dev with the system, advertise device to user-space
   847	 * and start normal device operation. @dev must be initialized via drm_dev_init()
   848	 * previously.
   849	 *
   850	 * Never call this twice on any device!
   851	 *
   852	 * NOTE: To ensure backward compatibility with existing drivers method this
   853	 * function calls the &drm_driver.load method after registering the device
   854	 * nodes, creating race conditions. Usage of the &drm_driver.load methods is
   855	 * therefore deprecated, drivers must perform all initialization before calling
   856	 * drm_dev_register().
   857	 *
   858	 * RETURNS:
   859	 * 0 on success, negative error code on failure.
   860	 */
   861	int drm_dev_register(struct drm_device *dev, unsigned long flags)
   862	{
   863		const struct drm_driver *driver = dev->driver;
   864		int ret;
   865	
   866		if (!driver->load)
   867			drm_mode_config_validate(dev);
   868	
   869		WARN_ON(!dev->managed.final_kfree);
   870	
   871		if (drm_dev_needs_global_mutex(dev))
   872			mutex_lock(&drm_global_mutex);
   873	
   874		ret = drm_minor_register(dev, DRM_MINOR_RENDER);
   875		if (ret)
   876			goto err_minors;
   877	
   878		ret = drm_minor_register(dev, DRM_MINOR_PRIMARY);
   879		if (ret)
   880			goto err_minors;
   881	
   882		ret = create_compat_control_link(dev);
   883		if (ret)
   884			goto err_minors;
   885	
 > 886		ret = dynamic_debug_register_tracer(THIS_MODULE, drm_trace_printvaf);
   887		if (ret)
   888			goto err_dyndbg;
   889	
   890		dev->registered = true;
   891	
   892		if (dev->driver->load) {
   893			ret = dev->driver->load(dev, flags);
   894			if (ret)
   895				goto err_minors;
   896		}
   897	
   898		if (drm_core_check_feature(dev, DRIVER_MODESET))
   899			drm_modeset_register_all(dev);
   900	
   901		DRM_INFO("Initialized %s %d.%d.%d %s for %s on minor %d\n",
   902			 driver->name, driver->major, driver->minor,
   903			 driver->patchlevel, driver->date,
   904			 dev->dev ? dev_name(dev->dev) : "virtual device",
   905			 dev->primary->index);
   906	
   907		goto out_unlock;
   908	
   909	err_dyndbg:
   910		dynamic_debug_register_tracer(THIS_MODULE, drm_trace_printvaf);
   911	err_minors:
   912		remove_compat_control_link(dev);
   913		drm_minor_unregister(dev, DRM_MINOR_PRIMARY);
   914		drm_minor_unregister(dev, DRM_MINOR_RENDER);
   915	out_unlock:
   916		if (drm_dev_needs_global_mutex(dev))
   917			mutex_unlock(&drm_global_mutex);
   918		return ret;
   919	}
   920	EXPORT_SYMBOL(drm_dev_register);
   921	
   922	/**
   923	 * drm_dev_unregister - Unregister DRM device
   924	 * @dev: Device to unregister
   925	 *
   926	 * Unregister the DRM device from the system. This does the reverse of
   927	 * drm_dev_register() but does not deallocate the device. The caller must call
   928	 * drm_dev_put() to drop their final reference.
   929	 *
   930	 * A special form of unregistering for hotpluggable devices is drm_dev_unplug(),
   931	 * which can be called while there are still open users of @dev.
   932	 *
   933	 * This should be called first in the device teardown code to make sure
   934	 * userspace can't access the device instance any more.
   935	 */
   936	void drm_dev_unregister(struct drm_device *dev)
   937	{
   938		if (drm_core_check_feature(dev, DRIVER_LEGACY))
   939			drm_lastclose(dev);
   940	
   941		dev->registered = false;
   942	
   943		drm_client_dev_unregister(dev);
   944	
   945		if (drm_core_check_feature(dev, DRIVER_MODESET))
   946			drm_modeset_unregister_all(dev);
   947	
   948		if (dev->driver->unload)
   949			dev->driver->unload(dev);
   950	
   951		drm_legacy_pci_agp_destroy(dev);
   952		drm_legacy_rmmaps(dev);
   953	
   954		remove_compat_control_link(dev);
   955		drm_minor_unregister(dev, DRM_MINOR_PRIMARY);
   956		drm_minor_unregister(dev, DRM_MINOR_RENDER);
 > 957		dynamic_debug_unregister_tracer(THIS_MODULE, drm_trace_printvaf);
   958	}
   959	EXPORT_SYMBOL(drm_dev_unregister);
   960	

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

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 40208 bytes --]

                 reply	other threads:[~2021-10-14  4:51 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=202110141237.tPLBM6rQ-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=kbuild-all@lists.01.org \
    /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 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.