[gpio:devel-gpio-driver-isolation 13/14] drivers/gpu/drm/sti/sti_hdmi.c:1378:15: error: implicit declaration of function 'devm_ioremap_nocache'; did you mean 'ioremap_nocache'?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



tree:   https://kernel.googlesource.com/pub/scm/linux/kernel/git/linusw/linux-gpio.git devel-gpio-driver-isolation
head:   e1db9bf671ed01b4f9fc33bbaa57d0c493c0389f
commit: 79f925bb1584cc0ad4af9a37cd2e6bb5ed51ab5a [13/14] gpio: Drop driver header from legacy header include
config: arm-defconfig (attached as .config)
compiler: arm-linux-gnueabi-gcc (GCC) 7.4.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        git checkout 79f925bb1584cc0ad4af9a37cd2e6bb5ed51ab5a
        # save the attached .config to linux build tree
        GCC_VERSION=7.4.0 make.cross ARCH=arm 

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@xxxxxxxxx>

All error/warnings (new ones prefixed by >>):

   In file included from arch/arm/include/asm/gpio.h:10:0,
                    from include/linux/gpio.h:59,
                    from include/linux/of_gpio.h:16,
                    from drivers/gpu/drm/sti/sti_hdmi.c:12:
   include/asm-generic/gpio.h: In function 'gpio_to_chip':
   include/asm-generic/gpio.h:60:9: error: implicit declaration of function 'gpiod_to_chip'; did you mean 'gpio_to_chip'? [-Werror=implicit-function-declaration]
     return gpiod_to_chip(gpio_to_desc(gpio));
            ^~~~~~~~~~~~~
            gpio_to_chip
   include/asm-generic/gpio.h:60:9: warning: return makes pointer from integer without a cast [-Wint-conversion]
     return gpiod_to_chip(gpio_to_desc(gpio));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   In file included from drivers/gpu/drm/sti/sti_hdmi.c:12:0:
   include/linux/of_gpio.h: At top level:
   include/linux/of_gpio.h:41:19: error: field 'gc' has incomplete type
     struct gpio_chip gc;
                      ^~
   In file included from include/linux/err.h:5:0,
                    from include/linux/clk.h:12,
                    from drivers/gpu/drm/sti/sti_hdmi.c:7:
   include/linux/of_gpio.h: In function 'to_of_mm_gpio_chip':
   include/linux/kernel.h:973:32: error: dereferencing pointer to incomplete type 'struct gpio_chip'
     BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
                                   ^~~~~~
   include/linux/compiler.h:330:9: note: in definition of macro '__compiletime_assert'
      if (!(condition))     \
            ^~~~~~~~~
   include/linux/compiler.h:350:2: note: in expansion of macro '_compiletime_assert'
     _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
     ^~~~~~~~~~~~~~~~~~~
   include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert'
    #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
                                        ^~~~~~~~~~~~~~~~~~
   include/linux/kernel.h:973:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
     BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
     ^~~~~~~~~~~~~~~~
   include/linux/kernel.h:973:20: note: in expansion of macro '__same_type'
     BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
                       ^~~~~~~~~~~
   include/linux/of_gpio.h:48:9: note: in expansion of macro 'container_of'
     return container_of(gc, struct of_mm_gpio_chip, gc);
            ^~~~~~~~~~~~
   drivers/gpu/drm/sti/sti_hdmi.c: In function 'sti_hdmi_probe':
>> drivers/gpu/drm/sti/sti_hdmi.c:1378:15: error: implicit declaration of function 'devm_ioremap_nocache'; did you mean 'ioremap_nocache'? [-Werror=implicit-function-declaration]
     hdmi->regs = devm_ioremap_nocache(dev, res->start, resource_size(res));
                  ^~~~~~~~~~~~~~~~~~~~
                  ioremap_nocache
>> drivers/gpu/drm/sti/sti_hdmi.c:1378:13: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
     hdmi->regs = devm_ioremap_nocache(dev, res->start, resource_size(res));
                ^
   cc1: some warnings being treated as errors
--
   In file included from arch/arm/include/asm/gpio.h:10:0,
                    from include/linux/gpio.h:59,
                    from include/linux/of_gpio.h:16,
                    from drivers/gpu/drm/sti/sti_dvo.c:11:
   include/asm-generic/gpio.h: In function 'gpio_to_chip':
   include/asm-generic/gpio.h:60:9: error: implicit declaration of function 'gpiod_to_chip'; did you mean 'gpio_to_chip'? [-Werror=implicit-function-declaration]
     return gpiod_to_chip(gpio_to_desc(gpio));
            ^~~~~~~~~~~~~
            gpio_to_chip
   include/asm-generic/gpio.h:60:9: warning: return makes pointer from integer without a cast [-Wint-conversion]
     return gpiod_to_chip(gpio_to_desc(gpio));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   In file included from drivers/gpu/drm/sti/sti_dvo.c:11:0:
   include/linux/of_gpio.h: At top level:
   include/linux/of_gpio.h:41:19: error: field 'gc' has incomplete type
     struct gpio_chip gc;
                      ^~
   In file included from include/linux/err.h:5:0,
                    from include/linux/clk.h:12,
                    from drivers/gpu/drm/sti/sti_dvo.c:7:
   include/linux/of_gpio.h: In function 'to_of_mm_gpio_chip':
   include/linux/kernel.h:973:32: error: dereferencing pointer to incomplete type 'struct gpio_chip'
     BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
                                   ^~~~~~
   include/linux/compiler.h:330:9: note: in definition of macro '__compiletime_assert'
      if (!(condition))     \
            ^~~~~~~~~
   include/linux/compiler.h:350:2: note: in expansion of macro '_compiletime_assert'
     _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
     ^~~~~~~~~~~~~~~~~~~
   include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert'
    #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
                                        ^~~~~~~~~~~~~~~~~~
   include/linux/kernel.h:973:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
     BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
     ^~~~~~~~~~~~~~~~
   include/linux/kernel.h:973:20: note: in expansion of macro '__same_type'
     BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
                       ^~~~~~~~~~~
   include/linux/of_gpio.h:48:9: note: in expansion of macro 'container_of'
     return container_of(gc, struct of_mm_gpio_chip, gc);
            ^~~~~~~~~~~~
   drivers/gpu/drm/sti/sti_dvo.c: In function 'sti_dvo_probe':
>> drivers/gpu/drm/sti/sti_dvo.c:538:14: error: implicit declaration of function 'devm_ioremap_nocache'; did you mean 'ioremap_nocache'? [-Werror=implicit-function-declaration]
     dvo->regs = devm_ioremap_nocache(dev, res->start,
                 ^~~~~~~~~~~~~~~~~~~~
                 ioremap_nocache
>> drivers/gpu/drm/sti/sti_dvo.c:538:12: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
     dvo->regs = devm_ioremap_nocache(dev, res->start,
               ^
   cc1: some warnings being treated as errors

vim +1378 drivers/gpu/drm/sti/sti_hdmi.c

5402626c83a2f1 Benjamin Gaignard  2014-07-30  1345  
5402626c83a2f1 Benjamin Gaignard  2014-07-30  1346  static int sti_hdmi_probe(struct platform_device *pdev)
5402626c83a2f1 Benjamin Gaignard  2014-07-30  1347  {
5402626c83a2f1 Benjamin Gaignard  2014-07-30  1348  	struct device *dev = &pdev->dev;
5402626c83a2f1 Benjamin Gaignard  2014-07-30  1349  	struct sti_hdmi *hdmi;
5402626c83a2f1 Benjamin Gaignard  2014-07-30  1350  	struct device_node *np = dev->of_node;
5402626c83a2f1 Benjamin Gaignard  2014-07-30  1351  	struct resource *res;
53bdcf5f026c56 Benjamin Gaignard  2015-07-17  1352  	struct device_node *ddc;
5402626c83a2f1 Benjamin Gaignard  2014-07-30  1353  	int ret;
5402626c83a2f1 Benjamin Gaignard  2014-07-30  1354  
5402626c83a2f1 Benjamin Gaignard  2014-07-30  1355  	DRM_INFO("%s\n", __func__);
5402626c83a2f1 Benjamin Gaignard  2014-07-30  1356  
5402626c83a2f1 Benjamin Gaignard  2014-07-30  1357  	hdmi = devm_kzalloc(dev, sizeof(*hdmi), GFP_KERNEL);
5402626c83a2f1 Benjamin Gaignard  2014-07-30  1358  	if (!hdmi)
5402626c83a2f1 Benjamin Gaignard  2014-07-30  1359  		return -ENOMEM;
5402626c83a2f1 Benjamin Gaignard  2014-07-30  1360  
53bdcf5f026c56 Benjamin Gaignard  2015-07-17  1361  	ddc = of_parse_phandle(pdev->dev.of_node, "ddc", 0);
53bdcf5f026c56 Benjamin Gaignard  2015-07-17  1362  	if (ddc) {
4d5821a71ce9be Vladimir Zapolskiy 2015-09-21  1363  		hdmi->ddc_adapt = of_get_i2c_adapter_by_node(ddc);
53bdcf5f026c56 Benjamin Gaignard  2015-07-17  1364  		of_node_put(ddc);
4d5821a71ce9be Vladimir Zapolskiy 2015-09-21  1365  		if (!hdmi->ddc_adapt)
53bdcf5f026c56 Benjamin Gaignard  2015-07-17  1366  			return -EPROBE_DEFER;
53bdcf5f026c56 Benjamin Gaignard  2015-07-17  1367  	}
53bdcf5f026c56 Benjamin Gaignard  2015-07-17  1368  
5402626c83a2f1 Benjamin Gaignard  2014-07-30  1369  	hdmi->dev = pdev->dev;
5402626c83a2f1 Benjamin Gaignard  2014-07-30  1370  
5402626c83a2f1 Benjamin Gaignard  2014-07-30  1371  	/* Get resources */
5402626c83a2f1 Benjamin Gaignard  2014-07-30  1372  	res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "hdmi-reg");
5402626c83a2f1 Benjamin Gaignard  2014-07-30  1373  	if (!res) {
5402626c83a2f1 Benjamin Gaignard  2014-07-30  1374  		DRM_ERROR("Invalid hdmi resource\n");
807642d731e08f Vladimir Zapolskiy 2015-09-21  1375  		ret = -ENOMEM;
807642d731e08f Vladimir Zapolskiy 2015-09-21  1376  		goto release_adapter;
5402626c83a2f1 Benjamin Gaignard  2014-07-30  1377  	}
5402626c83a2f1 Benjamin Gaignard  2014-07-30 @1378  	hdmi->regs = devm_ioremap_nocache(dev, res->start, resource_size(res));
807642d731e08f Vladimir Zapolskiy 2015-09-21  1379  	if (!hdmi->regs) {
807642d731e08f Vladimir Zapolskiy 2015-09-21  1380  		ret = -ENOMEM;
807642d731e08f Vladimir Zapolskiy 2015-09-21  1381  		goto release_adapter;
807642d731e08f Vladimir Zapolskiy 2015-09-21  1382  	}
5402626c83a2f1 Benjamin Gaignard  2014-07-30  1383  
5402626c83a2f1 Benjamin Gaignard  2014-07-30  1384  	hdmi->phy_ops = (struct hdmi_phy_ops *)
5402626c83a2f1 Benjamin Gaignard  2014-07-30  1385  		of_match_node(hdmi_of_match, np)->data;
5402626c83a2f1 Benjamin Gaignard  2014-07-30  1386  
5402626c83a2f1 Benjamin Gaignard  2014-07-30  1387  	/* Get clock resources */
5402626c83a2f1 Benjamin Gaignard  2014-07-30  1388  	hdmi->clk_pix = devm_clk_get(dev, "pix");
5402626c83a2f1 Benjamin Gaignard  2014-07-30  1389  	if (IS_ERR(hdmi->clk_pix)) {
5402626c83a2f1 Benjamin Gaignard  2014-07-30  1390  		DRM_ERROR("Cannot get hdmi_pix clock\n");
807642d731e08f Vladimir Zapolskiy 2015-09-21  1391  		ret = PTR_ERR(hdmi->clk_pix);
807642d731e08f Vladimir Zapolskiy 2015-09-21  1392  		goto release_adapter;
5402626c83a2f1 Benjamin Gaignard  2014-07-30  1393  	}
5402626c83a2f1 Benjamin Gaignard  2014-07-30  1394  
5402626c83a2f1 Benjamin Gaignard  2014-07-30  1395  	hdmi->clk_tmds = devm_clk_get(dev, "tmds");
5402626c83a2f1 Benjamin Gaignard  2014-07-30  1396  	if (IS_ERR(hdmi->clk_tmds)) {
5402626c83a2f1 Benjamin Gaignard  2014-07-30  1397  		DRM_ERROR("Cannot get hdmi_tmds clock\n");
807642d731e08f Vladimir Zapolskiy 2015-09-21  1398  		ret = PTR_ERR(hdmi->clk_tmds);
807642d731e08f Vladimir Zapolskiy 2015-09-21  1399  		goto release_adapter;
5402626c83a2f1 Benjamin Gaignard  2014-07-30  1400  	}
5402626c83a2f1 Benjamin Gaignard  2014-07-30  1401  
5402626c83a2f1 Benjamin Gaignard  2014-07-30  1402  	hdmi->clk_phy = devm_clk_get(dev, "phy");
5402626c83a2f1 Benjamin Gaignard  2014-07-30  1403  	if (IS_ERR(hdmi->clk_phy)) {
5402626c83a2f1 Benjamin Gaignard  2014-07-30  1404  		DRM_ERROR("Cannot get hdmi_phy clock\n");
807642d731e08f Vladimir Zapolskiy 2015-09-21  1405  		ret = PTR_ERR(hdmi->clk_phy);
807642d731e08f Vladimir Zapolskiy 2015-09-21  1406  		goto release_adapter;
5402626c83a2f1 Benjamin Gaignard  2014-07-30  1407  	}
5402626c83a2f1 Benjamin Gaignard  2014-07-30  1408  
5402626c83a2f1 Benjamin Gaignard  2014-07-30  1409  	hdmi->clk_audio = devm_clk_get(dev, "audio");
5402626c83a2f1 Benjamin Gaignard  2014-07-30  1410  	if (IS_ERR(hdmi->clk_audio)) {
5402626c83a2f1 Benjamin Gaignard  2014-07-30  1411  		DRM_ERROR("Cannot get hdmi_audio clock\n");
807642d731e08f Vladimir Zapolskiy 2015-09-21  1412  		ret = PTR_ERR(hdmi->clk_audio);
807642d731e08f Vladimir Zapolskiy 2015-09-21  1413  		goto release_adapter;
5402626c83a2f1 Benjamin Gaignard  2014-07-30  1414  	}
5402626c83a2f1 Benjamin Gaignard  2014-07-30  1415  
765692078f08d0 Benjamin Gaignard  2014-10-09  1416  	hdmi->hpd = readl(hdmi->regs + HDMI_STA) & HDMI_STA_HOT_PLUG;
5402626c83a2f1 Benjamin Gaignard  2014-07-30  1417  
5402626c83a2f1 Benjamin Gaignard  2014-07-30  1418  	init_waitqueue_head(&hdmi->wait_event);
5402626c83a2f1 Benjamin Gaignard  2014-07-30  1419  
5402626c83a2f1 Benjamin Gaignard  2014-07-30  1420  	hdmi->irq = platform_get_irq_byname(pdev, "irq");
c83ecfa5851f4d Arvind Yadav       2017-11-17  1421  	if (hdmi->irq < 0) {
c83ecfa5851f4d Arvind Yadav       2017-11-17  1422  		DRM_ERROR("Cannot get HDMI irq\n");
c83ecfa5851f4d Arvind Yadav       2017-11-17  1423  		ret = hdmi->irq;
c83ecfa5851f4d Arvind Yadav       2017-11-17  1424  		goto release_adapter;
c83ecfa5851f4d Arvind Yadav       2017-11-17  1425  	}
5402626c83a2f1 Benjamin Gaignard  2014-07-30  1426  
5402626c83a2f1 Benjamin Gaignard  2014-07-30  1427  	ret = devm_request_threaded_irq(dev, hdmi->irq, hdmi_irq,
5402626c83a2f1 Benjamin Gaignard  2014-07-30  1428  			hdmi_irq_thread, IRQF_ONESHOT, dev_name(dev), hdmi);
5402626c83a2f1 Benjamin Gaignard  2014-07-30  1429  	if (ret) {
5402626c83a2f1 Benjamin Gaignard  2014-07-30  1430  		DRM_ERROR("Failed to register HDMI interrupt\n");
807642d731e08f Vladimir Zapolskiy 2015-09-21  1431  		goto release_adapter;
5402626c83a2f1 Benjamin Gaignard  2014-07-30  1432  	}
5402626c83a2f1 Benjamin Gaignard  2014-07-30  1433  
bca55958ea8758 Benjamin Gaignard  2017-01-03  1434  	hdmi->notifier = cec_notifier_get(&pdev->dev);
bca55958ea8758 Benjamin Gaignard  2017-01-03  1435  	if (!hdmi->notifier)
bca55958ea8758 Benjamin Gaignard  2017-01-03  1436  		goto release_adapter;
bca55958ea8758 Benjamin Gaignard  2017-01-03  1437  
5402626c83a2f1 Benjamin Gaignard  2014-07-30  1438  	hdmi->reset = devm_reset_control_get(dev, "hdmi");
5402626c83a2f1 Benjamin Gaignard  2014-07-30  1439  	/* Take hdmi out of reset */
5402626c83a2f1 Benjamin Gaignard  2014-07-30  1440  	if (!IS_ERR(hdmi->reset))
5402626c83a2f1 Benjamin Gaignard  2014-07-30  1441  		reset_control_deassert(hdmi->reset);
5402626c83a2f1 Benjamin Gaignard  2014-07-30  1442  
5402626c83a2f1 Benjamin Gaignard  2014-07-30  1443  	platform_set_drvdata(pdev, hdmi);
5402626c83a2f1 Benjamin Gaignard  2014-07-30  1444  
5402626c83a2f1 Benjamin Gaignard  2014-07-30  1445  	return component_add(&pdev->dev, &sti_hdmi_ops);
807642d731e08f Vladimir Zapolskiy 2015-09-21  1446  
807642d731e08f Vladimir Zapolskiy 2015-09-21  1447   release_adapter:
4d5821a71ce9be Vladimir Zapolskiy 2015-09-21  1448  	i2c_put_adapter(hdmi->ddc_adapt);
807642d731e08f Vladimir Zapolskiy 2015-09-21  1449  
807642d731e08f Vladimir Zapolskiy 2015-09-21  1450  	return ret;
5402626c83a2f1 Benjamin Gaignard  2014-07-30  1451  }
5402626c83a2f1 Benjamin Gaignard  2014-07-30  1452  

:::::: The code at line 1378 was first introduced by commit
:::::: 5402626c83a2f19da14859e2bab231a53e16ee74 drm: sti: add HDMI driver

:::::: TO: Benjamin Gaignard <benjamin.gaignard@xxxxxxxxxx>
:::::: CC: Benjamin Gaignard <benjamin.gaignard@xxxxxxxxxx>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Attachment: .config.gz
Description: application/gzip


[Index of Archives]     [Linux SPI]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux