Message ID | 20231213095023.3928703-1-jani.nikula@intel.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | [v2] ASoC: hdmi-codec: drop drm/drm_edid.h include | expand |
Hi Jani, kernel test robot noticed the following build errors: [auto build test ERROR on drm-misc/drm-misc-next] [also build test ERROR on tiwai-sound/for-next tiwai-sound/for-linus drm-tip/drm-tip linus/master v6.7-rc5 next-20231213] [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#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Jani-Nikula/ASoC-hdmi-codec-drop-drm-drm_edid-h-include/20231213-175633 base: git://anongit.freedesktop.org/drm/drm-misc drm-misc-next patch link: https://lore.kernel.org/r/20231213095023.3928703-1-jani.nikula%40intel.com patch subject: [PATCH v2] ASoC: hdmi-codec: drop drm/drm_edid.h include config: hexagon-randconfig-r063-20231213 (https://download.01.org/0day-ci/archive/20231214/202312140733.2qj4HH0f-lkp@intel.com/config) compiler: clang version 15.0.7 (https://github.com/llvm/llvm-project.git 8dfdcc7b7bf66834a761bd8de445840ef68e4d1a) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231214/202312140733.2qj4HH0f-lkp@intel.com/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp@intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202312140733.2qj4HH0f-lkp@intel.com/ All errors (new ones prefixed by >>): In file included from drivers/gpu/drm/bridge/lontium-lt9611.c:8: In file included from include/linux/i2c.h:19: In file included from include/linux/regulator/consumer.h:35: In file included from include/linux/suspend.h:5: In file included from include/linux/swap.h:9: In file included from include/linux/memcontrol.h:13: In file included from include/linux/cgroup.h:26: In file included from include/linux/kernel_stat.h:9: In file included from include/linux/interrupt.h:11: In file included from include/linux/hardirq.h:11: In file included from ./arch/hexagon/include/generated/asm/hardirq.h:1: In file included from include/asm-generic/hardirq.h:17: In file included from include/linux/irq.h:20: In file included from include/linux/io.h:13: In file included from arch/hexagon/include/asm/io.h:337: include/asm-generic/io.h:547:31: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] val = __raw_readb(PCI_IOBASE + addr); ~~~~~~~~~~ ^ include/asm-generic/io.h:560:61: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] val = __le16_to_cpu((__le16 __force)__raw_readw(PCI_IOBASE + addr)); ~~~~~~~~~~ ^ include/uapi/linux/byteorder/little_endian.h:37:51: note: expanded from macro '__le16_to_cpu' #define __le16_to_cpu(x) ((__force __u16)(__le16)(x)) ^ In file included from drivers/gpu/drm/bridge/lontium-lt9611.c:8: In file included from include/linux/i2c.h:19: In file included from include/linux/regulator/consumer.h:35: In file included from include/linux/suspend.h:5: In file included from include/linux/swap.h:9: In file included from include/linux/memcontrol.h:13: In file included from include/linux/cgroup.h:26: In file included from include/linux/kernel_stat.h:9: In file included from include/linux/interrupt.h:11: In file included from include/linux/hardirq.h:11: In file included from ./arch/hexagon/include/generated/asm/hardirq.h:1: In file included from include/asm-generic/hardirq.h:17: In file included from include/linux/irq.h:20: In file included from include/linux/io.h:13: In file included from arch/hexagon/include/asm/io.h:337: include/asm-generic/io.h:573:61: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] val = __le32_to_cpu((__le32 __force)__raw_readl(PCI_IOBASE + addr)); ~~~~~~~~~~ ^ include/uapi/linux/byteorder/little_endian.h:35:51: note: expanded from macro '__le32_to_cpu' #define __le32_to_cpu(x) ((__force __u32)(__le32)(x)) ^ In file included from drivers/gpu/drm/bridge/lontium-lt9611.c:8: In file included from include/linux/i2c.h:19: In file included from include/linux/regulator/consumer.h:35: In file included from include/linux/suspend.h:5: In file included from include/linux/swap.h:9: In file included from include/linux/memcontrol.h:13: In file included from include/linux/cgroup.h:26: In file included from include/linux/kernel_stat.h:9: In file included from include/linux/interrupt.h:11: In file included from include/linux/hardirq.h:11: In file included from ./arch/hexagon/include/generated/asm/hardirq.h:1: In file included from include/asm-generic/hardirq.h:17: In file included from include/linux/irq.h:20: In file included from include/linux/io.h:13: In file included from arch/hexagon/include/asm/io.h:337: include/asm-generic/io.h:584:33: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] __raw_writeb(value, PCI_IOBASE + addr); ~~~~~~~~~~ ^ include/asm-generic/io.h:594:59: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] __raw_writew((u16 __force)cpu_to_le16(value), PCI_IOBASE + addr); ~~~~~~~~~~ ^ include/asm-generic/io.h:604:59: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] __raw_writel((u32 __force)cpu_to_le32(value), PCI_IOBASE + addr); ~~~~~~~~~~ ^ >> drivers/gpu/drm/bridge/lontium-lt9611.c:346:8: error: call to undeclared function 'drm_hdmi_avi_infoframe_from_display_mode'; ISO C99 and later do not support implicit function declarations [-Werror,-Wimplicit-function-declaration] ret = drm_hdmi_avi_infoframe_from_display_mode(&infoframe.avi, ^ >> drivers/gpu/drm/bridge/lontium-lt9611.c:359:8: error: call to undeclared function 'drm_hdmi_vendor_infoframe_from_display_mode'; ISO C99 and later do not support implicit function declarations [-Werror,-Wimplicit-function-declaration] ret = drm_hdmi_vendor_infoframe_from_display_mode(&infoframe.vendor.hdmi, ^ >> drivers/gpu/drm/bridge/lontium-lt9611.c:855:9: error: call to undeclared function 'drm_do_get_edid'; ISO C99 and later do not support implicit function declarations [-Werror,-Wimplicit-function-declaration] return drm_do_get_edid(connector, lt9611_get_edid_block, lt9611); ^ drivers/gpu/drm/bridge/lontium-lt9611.c:855:9: note: did you mean 'drm_bridge_get_edid'? include/drm/drm_bridge.h:891:14: note: 'drm_bridge_get_edid' declared here struct edid *drm_bridge_get_edid(struct drm_bridge *bridge, ^ drivers/gpu/drm/bridge/lontium-lt9611.c:855:9: error: incompatible integer to pointer conversion returning 'int' from a function with result type 'struct edid *' [-Wint-conversion] return drm_do_get_edid(connector, lt9611_get_edid_block, lt9611); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6 warnings and 4 errors generated. vim +/drm_hdmi_avi_infoframe_from_display_mode +346 drivers/gpu/drm/bridge/lontium-lt9611.c 23278bf54afe18 Vinod Koul 2020-07-23 334 84cf74d99f88bc Dmitry Baryshkov 2023-01-18 335 static void lt9611_hdmi_set_infoframes(struct lt9611 *lt9611, 84cf74d99f88bc Dmitry Baryshkov 2023-01-18 336 struct drm_connector *connector, 84cf74d99f88bc Dmitry Baryshkov 2023-01-18 337 struct drm_display_mode *mode) 23278bf54afe18 Vinod Koul 2020-07-23 338 { 84cf74d99f88bc Dmitry Baryshkov 2023-01-18 339 union hdmi_infoframe infoframe; 84cf74d99f88bc Dmitry Baryshkov 2023-01-18 340 ssize_t len; 84cf74d99f88bc Dmitry Baryshkov 2023-01-18 341 u8 iframes = 0x0a; /* UD1 infoframe */ 84cf74d99f88bc Dmitry Baryshkov 2023-01-18 342 u8 buf[32]; 84cf74d99f88bc Dmitry Baryshkov 2023-01-18 343 int ret; 84cf74d99f88bc Dmitry Baryshkov 2023-01-18 344 int i; 84cf74d99f88bc Dmitry Baryshkov 2023-01-18 345 84cf74d99f88bc Dmitry Baryshkov 2023-01-18 @346 ret = drm_hdmi_avi_infoframe_from_display_mode(&infoframe.avi, 84cf74d99f88bc Dmitry Baryshkov 2023-01-18 347 connector, 84cf74d99f88bc Dmitry Baryshkov 2023-01-18 348 mode); 84cf74d99f88bc Dmitry Baryshkov 2023-01-18 349 if (ret < 0) 84cf74d99f88bc Dmitry Baryshkov 2023-01-18 350 goto out; 84cf74d99f88bc Dmitry Baryshkov 2023-01-18 351 84cf74d99f88bc Dmitry Baryshkov 2023-01-18 352 len = hdmi_infoframe_pack(&infoframe, buf, sizeof(buf)); 84cf74d99f88bc Dmitry Baryshkov 2023-01-18 353 if (len < 0) 84cf74d99f88bc Dmitry Baryshkov 2023-01-18 354 goto out; 84cf74d99f88bc Dmitry Baryshkov 2023-01-18 355 84cf74d99f88bc Dmitry Baryshkov 2023-01-18 356 for (i = 0; i < len; i++) 84cf74d99f88bc Dmitry Baryshkov 2023-01-18 357 regmap_write(lt9611->regmap, 0x8440 + i, buf[i]); 84cf74d99f88bc Dmitry Baryshkov 2023-01-18 358 84cf74d99f88bc Dmitry Baryshkov 2023-01-18 @359 ret = drm_hdmi_vendor_infoframe_from_display_mode(&infoframe.vendor.hdmi, 84cf74d99f88bc Dmitry Baryshkov 2023-01-18 360 connector, 84cf74d99f88bc Dmitry Baryshkov 2023-01-18 361 mode); 84cf74d99f88bc Dmitry Baryshkov 2023-01-18 362 if (ret < 0) 84cf74d99f88bc Dmitry Baryshkov 2023-01-18 363 goto out; 23278bf54afe18 Vinod Koul 2020-07-23 364 84cf74d99f88bc Dmitry Baryshkov 2023-01-18 365 len = hdmi_infoframe_pack(&infoframe, buf, sizeof(buf)); 84cf74d99f88bc Dmitry Baryshkov 2023-01-18 366 if (len < 0) 84cf74d99f88bc Dmitry Baryshkov 2023-01-18 367 goto out; 84cf74d99f88bc Dmitry Baryshkov 2023-01-18 368 84cf74d99f88bc Dmitry Baryshkov 2023-01-18 369 for (i = 0; i < len; i++) 84cf74d99f88bc Dmitry Baryshkov 2023-01-18 370 regmap_write(lt9611->regmap, 0x8474 + i, buf[i]); 84cf74d99f88bc Dmitry Baryshkov 2023-01-18 371 84cf74d99f88bc Dmitry Baryshkov 2023-01-18 372 iframes |= 0x20; 84cf74d99f88bc Dmitry Baryshkov 2023-01-18 373 84cf74d99f88bc Dmitry Baryshkov 2023-01-18 374 out: 84cf74d99f88bc Dmitry Baryshkov 2023-01-18 375 regmap_write(lt9611->regmap, 0x843d, iframes); /* UD1 infoframe */ 84cf74d99f88bc Dmitry Baryshkov 2023-01-18 376 } 84cf74d99f88bc Dmitry Baryshkov 2023-01-18 377
Hi Jani,
kernel test robot noticed the following build warnings:
[auto build test WARNING on drm-misc/drm-misc-next]
[also build test WARNING on tiwai-sound/for-next tiwai-sound/for-linus drm-tip/drm-tip linus/master v6.7-rc5 next-20231213]
[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#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Jani-Nikula/ASoC-hdmi-codec-drop-drm-drm_edid-h-include/20231213-175633
base: git://anongit.freedesktop.org/drm/drm-misc drm-misc-next
patch link: https://lore.kernel.org/r/20231213095023.3928703-1-jani.nikula%40intel.com
patch subject: [PATCH v2] ASoC: hdmi-codec: drop drm/drm_edid.h include
config: i386-randconfig-006-20231214 (https://download.01.org/0day-ci/archive/20231214/202312140917.YddZdAlJ-lkp@intel.com/config)
compiler: gcc-7 (Ubuntu 7.5.0-6ubuntu2) 7.5.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231214/202312140917.YddZdAlJ-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202312140917.YddZdAlJ-lkp@intel.com/
All warnings (new ones prefixed by >>):
drivers/gpu/drm/bridge/lontium-lt9611.c: In function 'lt9611_hdmi_set_infoframes':
drivers/gpu/drm/bridge/lontium-lt9611.c:346:8: error: implicit declaration of function 'drm_hdmi_avi_infoframe_from_display_mode'; did you mean 'hdmi_avi_infoframe_pack_only'? [-Werror=implicit-function-declaration]
ret = drm_hdmi_avi_infoframe_from_display_mode(&infoframe.avi,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hdmi_avi_infoframe_pack_only
drivers/gpu/drm/bridge/lontium-lt9611.c:359:8: error: implicit declaration of function 'drm_hdmi_vendor_infoframe_from_display_mode'; did you mean 'hdmi_vendor_infoframe_pack_only'? [-Werror=implicit-function-declaration]
ret = drm_hdmi_vendor_infoframe_from_display_mode(&infoframe.vendor.hdmi,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hdmi_vendor_infoframe_pack_only
drivers/gpu/drm/bridge/lontium-lt9611.c: In function 'lt9611_bridge_get_edid':
drivers/gpu/drm/bridge/lontium-lt9611.c:855:9: error: implicit declaration of function 'drm_do_get_edid'; did you mean 'drm_bridge_get_edid'? [-Werror=implicit-function-declaration]
return drm_do_get_edid(connector, lt9611_get_edid_block, lt9611);
^~~~~~~~~~~~~~~
drm_bridge_get_edid
>> drivers/gpu/drm/bridge/lontium-lt9611.c:855:9: warning: return makes pointer from integer without a cast [-Wint-conversion]
return drm_do_get_edid(connector, lt9611_get_edid_block, lt9611);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
vim +855 drivers/gpu/drm/bridge/lontium-lt9611.c
23278bf54afe18 Vinod Koul 2020-07-23 848
23278bf54afe18 Vinod Koul 2020-07-23 849 static struct edid *lt9611_bridge_get_edid(struct drm_bridge *bridge,
23278bf54afe18 Vinod Koul 2020-07-23 850 struct drm_connector *connector)
23278bf54afe18 Vinod Koul 2020-07-23 851 {
23278bf54afe18 Vinod Koul 2020-07-23 852 struct lt9611 *lt9611 = bridge_to_lt9611(bridge);
23278bf54afe18 Vinod Koul 2020-07-23 853
23278bf54afe18 Vinod Koul 2020-07-23 854 lt9611_power_on(lt9611);
23278bf54afe18 Vinod Koul 2020-07-23 @855 return drm_do_get_edid(connector, lt9611_get_edid_block, lt9611);
23278bf54afe18 Vinod Koul 2020-07-23 856 }
23278bf54afe18 Vinod Koul 2020-07-23 857
Hi Jani,
kernel test robot noticed the following build warnings:
[auto build test WARNING on drm-misc/drm-misc-next]
[also build test WARNING on tiwai-sound/for-next tiwai-sound/for-linus drm-tip/drm-tip linus/master v6.7-rc5 next-20231213]
[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#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Jani-Nikula/ASoC-hdmi-codec-drop-drm-drm_edid-h-include/20231213-175633
base: git://anongit.freedesktop.org/drm/drm-misc drm-misc-next
patch link: https://lore.kernel.org/r/20231213095023.3928703-1-jani.nikula%40intel.com
patch subject: [PATCH v2] ASoC: hdmi-codec: drop drm/drm_edid.h include
config: i386-randconfig-002-20231214 (https://download.01.org/0day-ci/archive/20231214/202312141302.SBNAHryl-lkp@intel.com/config)
compiler: gcc-7 (Ubuntu 7.5.0-6ubuntu2) 7.5.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231214/202312141302.SBNAHryl-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202312141302.SBNAHryl-lkp@intel.com/
All warnings (new ones prefixed by >>):
drivers/gpu/drm/bridge/lontium-lt9611uxc.c: In function 'lt9611uxc_connector_get_modes':
drivers/gpu/drm/bridge/lontium-lt9611uxc.c:301:10: error: implicit declaration of function 'drm_add_edid_modes'; did you mean 'drm_bridge_get_modes'? [-Werror=implicit-function-declaration]
count = drm_add_edid_modes(connector, edid);
^~~~~~~~~~~~~~~~~~
drm_bridge_get_modes
drivers/gpu/drm/bridge/lontium-lt9611uxc.c: In function 'lt9611uxc_bridge_get_edid':
drivers/gpu/drm/bridge/lontium-lt9611uxc.c:512:9: error: implicit declaration of function 'drm_do_get_edid'; did you mean 'drm_bridge_get_edid'? [-Werror=implicit-function-declaration]
return drm_do_get_edid(connector, lt9611uxc_get_edid_block, lt9611uxc);
^~~~~~~~~~~~~~~
drm_bridge_get_edid
>> drivers/gpu/drm/bridge/lontium-lt9611uxc.c:512:9: warning: return makes pointer from integer without a cast [-Wint-conversion]
return drm_do_get_edid(connector, lt9611uxc_get_edid_block, lt9611uxc);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
vim +512 drivers/gpu/drm/bridge/lontium-lt9611uxc.c
0cbbd5b1a012cd Dmitry Baryshkov 2020-11-02 496
0cbbd5b1a012cd Dmitry Baryshkov 2020-11-02 497 static struct edid *lt9611uxc_bridge_get_edid(struct drm_bridge *bridge,
0cbbd5b1a012cd Dmitry Baryshkov 2020-11-02 498 struct drm_connector *connector)
0cbbd5b1a012cd Dmitry Baryshkov 2020-11-02 499 {
0cbbd5b1a012cd Dmitry Baryshkov 2020-11-02 500 struct lt9611uxc *lt9611uxc = bridge_to_lt9611uxc(bridge);
0cbbd5b1a012cd Dmitry Baryshkov 2020-11-02 501 int ret;
0cbbd5b1a012cd Dmitry Baryshkov 2020-11-02 502
0cbbd5b1a012cd Dmitry Baryshkov 2020-11-02 503 ret = lt9611uxc_wait_for_edid(lt9611uxc);
0cbbd5b1a012cd Dmitry Baryshkov 2020-11-02 504 if (ret < 0) {
0cbbd5b1a012cd Dmitry Baryshkov 2020-11-02 505 dev_err(lt9611uxc->dev, "wait for EDID failed: %d\n", ret);
1bb7ab402da44e Dmitry Baryshkov 2021-01-22 506 return NULL;
1bb7ab402da44e Dmitry Baryshkov 2021-01-22 507 } else if (ret == 0) {
1bb7ab402da44e Dmitry Baryshkov 2021-01-22 508 dev_err(lt9611uxc->dev, "wait for EDID timeout\n");
1bb7ab402da44e Dmitry Baryshkov 2021-01-22 509 return NULL;
0cbbd5b1a012cd Dmitry Baryshkov 2020-11-02 510 }
0cbbd5b1a012cd Dmitry Baryshkov 2020-11-02 511
0cbbd5b1a012cd Dmitry Baryshkov 2020-11-02 @512 return drm_do_get_edid(connector, lt9611uxc_get_edid_block, lt9611uxc);
0cbbd5b1a012cd Dmitry Baryshkov 2020-11-02 513 }
0cbbd5b1a012cd Dmitry Baryshkov 2020-11-02 514
diff --git a/drivers/gpu/drm/msm/dp/dp_display.c b/drivers/gpu/drm/msm/dp/dp_display.c index 1b88fb52726f..766c8d01e6b3 100644 --- a/drivers/gpu/drm/msm/dp/dp_display.c +++ b/drivers/gpu/drm/msm/dp/dp_display.c @@ -11,6 +11,7 @@ #include <linux/of_irq.h> #include <linux/delay.h> #include <drm/display/drm_dp_aux_bus.h> +#include <drm/drm_edid.h> #include "msm_drv.h" #include "msm_kms.h" diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c index 25c9c71256d3..d35d8a531cfc 100644 --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c @@ -35,6 +35,7 @@ #include <drm/display/drm_scdc_helper.h> #include <drm/drm_atomic_helper.h> #include <drm/drm_drv.h> +#include <drm/drm_edid.h> #include <drm/drm_probe_helper.h> #include <drm/drm_simple_kms_helper.h> #include <linux/clk.h> diff --git a/include/sound/hdmi-codec.h b/include/sound/hdmi-codec.h index 9b162ac1e08e..5e1a9eafd10f 100644 --- a/include/sound/hdmi-codec.h +++ b/include/sound/hdmi-codec.h @@ -12,7 +12,6 @@ #include <linux/of_graph.h> #include <linux/hdmi.h> -#include <drm/drm_edid.h> #include <sound/asoundef.h> #include <sound/soc.h> #include <uapi/sound/asound.h>
hdmi-codec.h does not appear to directly need drm/drm_edid.h for anything. Remove it. There are some files that get drm/edid.h by proxy; include it where needed. v2: Fix build (kernel test robot <lkp@intel.com>) Signed-off-by: Jani Nikula <jani.nikula@intel.com> --- I'm pretty sure I haven't compiled everything that might implicitly depend on the include. However, the right thing to do is to include drm_edid.h where needed, not from somewhat random intermediate headers. I hope this uncovers anything I missed. --- drivers/gpu/drm/msm/dp/dp_display.c | 1 + drivers/gpu/drm/vc4/vc4_hdmi.c | 1 + include/sound/hdmi-codec.h | 1 - 3 files changed, 2 insertions(+), 1 deletion(-)