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.