tree: git://git.cmpxchg.org/linux-mmotm.git master head: 572b7c98f12bd2213553be42cc5c2cbc5698f5c3 commit: 4cceb4d7a297fcaec3527e355e6881850fc50ed3 [138/210] linux-next-git-rejects config: arm64-defconfig (attached as .config) compiler: aarch64-linux-gnu-gcc (Debian 5.4.0-6) 5.4.0 20160609 reproduce: wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross git checkout 4cceb4d7a297fcaec3527e355e6881850fc50ed3 # save the attached .config to linux build tree make.cross ARCH=arm64 All error/warnings (new ones prefixed by >>): >> drivers/gpu/drm/msm/msm_drv.c:781:19: error: 'q' undeclared here (not in a function) DRIVER_PRIME |q ^ In file included from drivers/gpu/drm/msm/msm_drv.h:37:0, from drivers/gpu/drm/msm/msm_drv.c:18: >> include/drm/drmP.h:157:25: error: expected '}' before numeric constant #define DRIVER_RENDER 0x8000 ^ >> drivers/gpu/drm/msm/msm_drv.c:782:5: note: in expansion of macro 'DRIVER_RENDER' DRIVER_RENDER | ^ drivers/gpu/drm/msm/msm_drv.c: In function 'add_components_mdp': >> drivers/gpu/drm/msm/msm_drv.c:933:2: error: 'ret' undeclared (first use in this function) ret = add_components_mdp(mdp_dev, matchptr); ^ drivers/gpu/drm/msm/msm_drv.c:933:2: note: each undeclared identifier is reported only once for each function it appears in >> drivers/gpu/drm/msm/msm_drv.c:935:26: error: 'dev' undeclared (first use in this function) of_platform_depopulate(dev); ^ drivers/gpu/drm/msm/msm_drv.c: At top level: >> drivers/gpu/drm/msm/msm_drv.c:1020:34: error: redefinition of 'msm_gpu_match' static const struct of_device_id msm_gpu_match[] = { ^ drivers/gpu/drm/msm/msm_drv.c:945:34: note: previous definition of 'msm_gpu_match' was here static const struct of_device_id msm_gpu_match[] = { ^ >> drivers/gpu/drm/msm/msm_drv.c:1026:12: error: redefinition of 'add_gpu_components' static int add_gpu_components(struct device *dev, ^ drivers/gpu/drm/msm/msm_drv.c:951:12: note: previous definition of 'add_gpu_components' was here static int add_gpu_components(struct device *dev, ^ drivers/gpu/drm/msm/msm_drv.c:493:12: warning: 'msm_open' defined but not used [-Wunused-function] static int msm_open(struct drm_device *dev, struct drm_file *file) ^ drivers/gpu/drm/msm/msm_drv.c:511:13: warning: 'msm_preclose' defined but not used [-Wunused-function] static void msm_preclose(struct drm_device *dev, struct drm_file *file) ^ drivers/gpu/drm/msm/msm_drv.c:524:13: warning: 'msm_lastclose' defined but not used [-Wunused-function] static void msm_lastclose(struct drm_device *dev) ^ drivers/gpu/drm/msm/msm_drv.c:531:20: warning: 'msm_irq' defined but not used [-Wunused-function] static irqreturn_t msm_irq(int irq, void *arg) ^ drivers/gpu/drm/msm/msm_drv.c:540:13: warning: 'msm_irq_preinstall' defined but not used [-Wunused-function] static void msm_irq_preinstall(struct drm_device *dev) ^ drivers/gpu/drm/msm/msm_drv.c:548:12: warning: 'msm_irq_postinstall' defined but not used [-Wunused-function] static int msm_irq_postinstall(struct drm_device *dev) ^ drivers/gpu/drm/msm/msm_drv.c:556:13: warning: 'msm_irq_uninstall' defined but not used [-Wunused-function] static void msm_irq_uninstall(struct drm_device *dev) ^ drivers/gpu/drm/msm/msm_drv.c:564:12: warning: 'msm_enable_vblank' defined but not used [-Wunused-function] static int msm_enable_vblank(struct drm_device *dev, unsigned int pipe) ^ drivers/gpu/drm/msm/msm_drv.c:574:13: warning: 'msm_disable_vblank' defined but not used [-Wunused-function] static void msm_disable_vblank(struct drm_device *dev, unsigned int pipe) ^ drivers/gpu/drm/msm/msm_drv.c:951:12: warning: 'add_gpu_components' defined but not used [-Wunused-function] static int add_gpu_components(struct device *dev, ^ drivers/gpu/drm/msm/msm_drv.c: In function 'add_components_mdp': drivers/gpu/drm/msm/msm_drv.c:938:1: warning: control reaches end of non-void function [-Wreturn-type] } ^ vim +/q +781 drivers/gpu/drm/msm/msm_drv.c 775 .mmap = msm_gem_mmap, 776 }; 777 778 static struct drm_driver msm_driver = { 779 .driver_features = DRIVER_HAVE_IRQ | 780 DRIVER_GEM | > 781 DRIVER_PRIME |q > 782 DRIVER_RENDER | 783 DRIVER_ATOMIC | 784 DRIVER_MODESET, 785 .open = msm_open, 786 .preclose = msm_preclose, 787 .lastclose = msm_lastclose, 788 .irq_handler = msm_irq, 789 .irq_preinstall = msm_irq_preinstall, 790 .irq_postinstall = msm_irq_postinstall, 791 .irq_uninstall = msm_irq_uninstall, 792 .get_vblank_counter = drm_vblank_no_hw_counter, 793 .enable_vblank = msm_enable_vblank, 794 .disable_vblank = msm_disable_vblank, 795 .gem_free_object = msm_gem_free_object, 796 .gem_vm_ops = &vm_ops, 797 .dumb_create = msm_gem_dumb_create, 798 .dumb_map_offset = msm_gem_dumb_map_offset, 799 .dumb_destroy = drm_gem_dumb_destroy, 800 .prime_handle_to_fd = drm_gem_prime_handle_to_fd, 801 .prime_fd_to_handle = drm_gem_prime_fd_to_handle, 802 .gem_prime_export = drm_gem_prime_export, 803 .gem_prime_import = drm_gem_prime_import, 804 .gem_prime_pin = msm_gem_prime_pin, 805 .gem_prime_unpin = msm_gem_prime_unpin, 806 .gem_prime_get_sg_table = msm_gem_prime_get_sg_table, 807 .gem_prime_import_sg_table = msm_gem_prime_import_sg_table, 808 .gem_prime_vmap = msm_gem_prime_vmap, 809 .gem_prime_vunmap = msm_gem_prime_vunmap, 810 .gem_prime_mmap = msm_gem_prime_mmap, 811 #ifdef CONFIG_DEBUG_FS 812 .debugfs_init = msm_debugfs_init, 813 .debugfs_cleanup = msm_debugfs_cleanup, 814 #endif 815 .ioctls = msm_ioctls, 816 .num_ioctls = DRM_MSM_NUM_IOCTLS, 817 .fops = &fops, 818 .name = "msm", 819 .desc = "MSM Snapdragon DRM", 820 .date = "20130625", 821 .major = MSM_VERSION_MAJOR, 822 .minor = MSM_VERSION_MINOR, 823 .patchlevel = MSM_VERSION_PATCHLEVEL, 824 }; 825 826 #ifdef CONFIG_PM_SLEEP 827 static int msm_pm_suspend(struct device *dev) 828 { 829 struct drm_device *ddev = dev_get_drvdata(dev); 830 831 drm_kms_helper_poll_disable(ddev); 832 833 return 0; 834 } 835 836 static int msm_pm_resume(struct device *dev) 837 { 838 struct drm_device *ddev = dev_get_drvdata(dev); 839 840 drm_kms_helper_poll_enable(ddev); 841 842 return 0; 843 } 844 #endif 845 846 static const struct dev_pm_ops msm_pm_ops = { 847 SET_SYSTEM_SLEEP_PM_OPS(msm_pm_suspend, msm_pm_resume) 848 }; 849 850 /* 851 * Componentized driver support: 852 */ 853 854 /* 855 * NOTE: duplication of the same code as exynos or imx (or probably any other). 856 * so probably some room for some helpers 857 */ 858 static int compare_of(struct device *dev, void *data) 859 { 860 return dev->of_node == data; 861 } 862 863 static void release_of(struct device *dev, void *data) 864 { 865 of_node_put(data); 866 } 867 868 /* 869 * Identify what components need to be added by parsing what remote-endpoints 870 * our MDP output ports are connected to. In the case of LVDS on MDP4, there 871 * is no external component that we need to add since LVDS is within MDP4 872 * itself. 873 */ 874 static int add_components_mdp(struct device *mdp_dev, 875 struct component_match **matchptr) 876 { 877 struct device_node *np = mdp_dev->of_node; 878 struct device_node *ep_node; 879 struct device *master_dev; 880 881 /* 882 * on MDP4 based platforms, the MDP platform device is the component 883 * master that adds other display interface components to itself. 884 * 885 * on MDP5 based platforms, the MDSS platform device is the component 886 * master that adds MDP5 and other display interface components to 887 * itself. 888 */ 889 if (of_device_is_compatible(np, "qcom,mdp4")) 890 master_dev = mdp_dev; 891 else 892 master_dev = mdp_dev->parent; 893 894 for_each_endpoint_of_node(np, ep_node) { 895 struct device_node *intf; 896 struct of_endpoint ep; 897 int ret; 898 899 ret = of_graph_parse_endpoint(ep_node, &ep); 900 if (ret) { 901 dev_err(mdp_dev, "unable to parse port endpoint\n"); 902 of_node_put(ep_node); 903 return ret; 904 } 905 906 /* 907 * The LCDC/LVDS port on MDP4 is a speacial case where the 908 * remote-endpoint isn't a component that we need to add 909 */ 910 if (of_device_is_compatible(np, "qcom,mdp4") && 911 ep.port == 0) { 912 of_node_put(ep_node); 913 continue; 914 } 915 916 /* 917 * It's okay if some of the ports don't have a remote endpoint 918 * specified. It just means that the port isn't connected to 919 * any external interface. 920 */ 921 intf = of_graph_get_remote_port_parent(ep_node); 922 if (!intf) { 923 of_node_put(ep_node); 924 continue; 925 } 926 927 component_match_add_release(master_dev, matchptr, release_of, 928 compare_of, intf); 929 930 of_node_put(ep_node); 931 } 932 > 933 ret = add_components_mdp(mdp_dev, matchptr); 934 if (ret) > 935 of_platform_depopulate(dev); 936 937 return ret; 938 } --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation