Hi Sakari, kernel test robot noticed the following build warnings: [auto build test WARNING on c4b7779abc6633677e6edb79e2809f4f61fde157] url: https://github.com/intel-lab-lkp/linux/commits/Sakari-Ailus/media-v4l-Support-passing-media-pad-argument-to-v4l2_get_link_freq/20250119-224053 base: c4b7779abc6633677e6edb79e2809f4f61fde157 patch link: https://lore.kernel.org/r/20250119143904.114991-10-sakari.ailus%40linux.intel.com patch subject: [PATCH v9 9/9] media: v4l: Convert the users of v4l2_get_link_freq to call it on a pad config: sh-allyesconfig (https://download.01.org/0day-ci/archive/20250120/202501200228.jk1X695m-lkp@xxxxxxxxx/config) compiler: sh4-linux-gcc (GCC) 14.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250120/202501200228.jk1X695m-lkp@xxxxxxxxx/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@xxxxxxxxx> | Closes: https://lore.kernel.org/oe-kbuild-all/202501200228.jk1X695m-lkp@xxxxxxxxx/ All warnings (new ones prefixed by >>): drivers/media/platform/qcom/camss/camss.c: In function 'camss_get_pixel_clock': drivers/media/platform/qcom/camss/camss.c:2057:9: error: 'sensor_pad' undeclared (first use in this function); did you mean 'sensor'? 2057 | sensor_pad = camss_find_sensor_pad(entity); | ^~~~~~~~~~ | sensor drivers/media/platform/qcom/camss/camss.c:2057:9: note: each undeclared identifier is reported only once for each function it appears in In file included from include/linux/container_of.h:5, from include/linux/kernel.h:22, from include/linux/clk.h:13, from drivers/media/platform/qcom/camss/camss.c:10: include/linux/container_of.h:20:35: error: invalid type argument of unary '*' (have 'int') 20 | static_assert(__same_type(*(ptr), ((type *)0)->member) || \ | ^~~~~~ include/linux/build_bug.h:78:56: note: in definition of macro '__static_assert' 78 | #define __static_assert(expr, msg, ...) _Static_assert(expr, msg) | ^~~~ include/linux/container_of.h:20:9: note: in expansion of macro 'static_assert' 20 | static_assert(__same_type(*(ptr), ((type *)0)->member) || \ | ^~~~~~~~~~~~~ include/linux/container_of.h:20:23: note: in expansion of macro '__same_type' 20 | static_assert(__same_type(*(ptr), ((type *)0)->member) || \ | ^~~~~~~~~~~ include/media/v4l2-subdev.h:1132:17: note: in expansion of macro 'container_of' 1132 | container_of(__me_sd_ent, struct v4l2_subdev, entity) : \ | ^~~~~~~~~~~~ drivers/media/platform/qcom/camss/camss.c:2061:18: note: in expansion of macro 'media_entity_to_v4l2_subdev' 2061 | subdev = media_entity_to_v4l2_subdev(sensor_pad->entity); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/container_of.h:21:35: error: invalid type argument of unary '*' (have 'int') 21 | __same_type(*(ptr), void), \ | ^~~~~~ include/linux/build_bug.h:78:56: note: in definition of macro '__static_assert' 78 | #define __static_assert(expr, msg, ...) _Static_assert(expr, msg) | ^~~~ include/linux/container_of.h:20:9: note: in expansion of macro 'static_assert' 20 | static_assert(__same_type(*(ptr), ((type *)0)->member) || \ | ^~~~~~~~~~~~~ include/linux/container_of.h:21:23: note: in expansion of macro '__same_type' 21 | __same_type(*(ptr), void), \ | ^~~~~~~~~~~ include/media/v4l2-subdev.h:1132:17: note: in expansion of macro 'container_of' 1132 | container_of(__me_sd_ent, struct v4l2_subdev, entity) : \ | ^~~~~~~~~~~~ drivers/media/platform/qcom/camss/camss.c:2061:18: note: in expansion of macro 'media_entity_to_v4l2_subdev' 2061 | subdev = media_entity_to_v4l2_subdev(sensor_pad->entity); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/compiler_types.h:483:27: error: expression in static assertion is not an integer 483 | #define __same_type(a, b) __builtin_types_compatible_p(typeof(a), typeof(b)) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/build_bug.h:78:56: note: in definition of macro '__static_assert' 78 | #define __static_assert(expr, msg, ...) _Static_assert(expr, msg) | ^~~~ include/linux/container_of.h:20:9: note: in expansion of macro 'static_assert' 20 | static_assert(__same_type(*(ptr), ((type *)0)->member) || \ | ^~~~~~~~~~~~~ include/linux/container_of.h:20:23: note: in expansion of macro '__same_type' 20 | static_assert(__same_type(*(ptr), ((type *)0)->member) || \ | ^~~~~~~~~~~ include/media/v4l2-subdev.h:1132:17: note: in expansion of macro 'container_of' 1132 | container_of(__me_sd_ent, struct v4l2_subdev, entity) : \ | ^~~~~~~~~~~~ drivers/media/platform/qcom/camss/camss.c:2061:18: note: in expansion of macro 'media_entity_to_v4l2_subdev' 2061 | subdev = media_entity_to_v4l2_subdev(sensor_pad->entity); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ >> drivers/media/platform/qcom/camss/camss.c:2053:27: warning: unused variable 'sensor' [-Wunused-variable] 2053 | struct media_pad *sensor; | ^~~~~~ vim +/sensor +2053 drivers/media/platform/qcom/camss/camss.c 2043 2044 /* 2045 * camss_get_pixel_clock - Get pixel clock rate from sensor 2046 * @entity: Media entity in the current pipeline 2047 * @pixel_clock: Received pixel clock value 2048 * 2049 * Return 0 on success or a negative error code otherwise 2050 */ 2051 int camss_get_pixel_clock(struct media_entity *entity, u64 *pixel_clock) 2052 { > 2053 struct media_pad *sensor; 2054 struct v4l2_subdev *subdev; 2055 struct v4l2_ctrl *ctrl; 2056 2057 sensor_pad = camss_find_sensor_pad(entity); 2058 if (!sensor_pad) 2059 return -ENODEV; 2060 2061 subdev = media_entity_to_v4l2_subdev(sensor_pad->entity); 2062 2063 ctrl = v4l2_ctrl_find(subdev->ctrl_handler, V4L2_CID_PIXEL_RATE); 2064 2065 if (!ctrl) 2066 return -EINVAL; 2067 2068 *pixel_clock = v4l2_ctrl_g_ctrl_int64(ctrl); 2069 2070 return 0; 2071 } 2072 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki