tree:
https://github.com/intel/linux-intel-lts.git 5.15/linux
head: 719d8431f0cc54f9e54ee62dfd2f5354a6f879f7
commit: 49fa3e4bf70e3787f53ec225a1f9962598606bb9 [44/62] media: keembay-camera: sync with
API change
config: alpha-allyesconfig
(
https://download.01.org/0day-ci/archive/20220121/202201212142.jo6p4UtN-lk...)
compiler: alpha-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/intel/linux-intel-lts/commit/49fa3e4bf70e3787f53ec225a...
git remote add intel-lts
https://github.com/intel/linux-intel-lts.git
git fetch --no-tags intel-lts 5.15/linux
git checkout 49fa3e4bf70e3787f53ec225a1f9962598606bb9
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir
ARCH=alpha SHELL=/bin/bash drivers/media/i2c/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
drivers/media/i2c/kmb-imx327.c:134: warning: Function parameter or member 'fps'
not described in 'kmb_imx327_mode'
drivers/media/i2c/kmb-imx327.c:982: warning: Function parameter or member
'code' not described in 'kmb_imx327_enum_mbus_code'
drivers/media/i2c/kmb-imx327.c:982: warning: Excess function parameter 'fsize'
description in 'kmb_imx327_enum_mbus_code'
drivers/media/i2c/kmb-imx327.c:1041: warning: Function parameter or member
'fie' not described in 'kmb_imx327_enum_frame_interval'
drivers/media/i2c/kmb-imx327.c:1041: warning: Excess function parameter 'fsize'
description in 'kmb_imx327_enum_frame_interval'
drivers/media/i2c/kmb-imx327.c:1764: warning: Function parameter or member
'client' not described in 'kmb_imx327_i2c_probe'
drivers/media/i2c/kmb-imx327.c:1764: warning: Function parameter or member 'id'
not described in 'kmb_imx327_i2c_probe'
drivers/media/i2c/kmb-imx327.c:1764: warning: Excess function parameter 'pdev'
description in 'kmb_imx327_i2c_probe'
> drivers/media/i2c/kmb-imx327.c:1962: warning: expecting prototype
for kmb_imx327_probe(). Prototype was for kmb_imx327_pdev_probe() instead
> drivers/media/i2c/kmb-imx327.c:2086: warning: expecting prototype for
kmb_imx327_remove(). Prototype was for kmb_imx327_pdev_remove() instead
--
drivers/media/i2c/kmb-imx412.c:209: warning: Function parameter or member 'fps'
not described in 'kmb_imx412_mode'
> drivers/media/i2c/kmb-imx412.c:2275: warning: expecting prototype
for kmb_imx412_open(). Prototype was for kmb_imx412_sync_start() instead
drivers/media/i2c/kmb-imx412.c:2887: warning: Function parameter or member 'code'
not described in 'kmb_imx412_enum_mbus_code'
drivers/media/i2c/kmb-imx412.c:2887: warning: Excess function parameter 'fsize'
description in 'kmb_imx412_enum_mbus_code'
drivers/media/i2c/kmb-imx412.c:2980: warning: Function parameter or member
'fie' not described in 'kmb_imx412_enum_frame_interval'
drivers/media/i2c/kmb-imx412.c:2980: warning: Excess function parameter 'fsize'
description in 'kmb_imx412_enum_frame_interval'
vim +1962 drivers/media/i2c/kmb-imx327.c
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 1954
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 1955 /**
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 1956 * kmb_imx327_probe - Platform
device binding
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 1957 * @pdev: pointer to platform
device
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 1958 *
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 1959 * Return: 0 if successful
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 1960 */
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 1961 static int
kmb_imx327_pdev_probe(struct platform_device *pdev)
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 @1962 {
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 1963 struct kmb_imx327 *kmb_imx327;
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 1964 struct gpio_descs *detect_gpios;
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 1965 int ret;
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 1966
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 1967 kmb_imx327 =
devm_kzalloc(&pdev->dev, sizeof(*kmb_imx327), GFP_KERNEL);
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 1968 if (!kmb_imx327)
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 1969 return -ENOMEM;
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 1970
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 1971 platform_set_drvdata(pdev,
kmb_imx327);
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 1972
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 1973
mutex_init(&kmb_imx327->mutex);
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 1974
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 1975 kmb_imx327->dev =
&pdev->dev;
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 1976
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 1977 /* Initialize subdev */
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 1978
v4l2_subdev_init(&kmb_imx327->sd, &kmb_imx327_subdev_ops);
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 1979 kmb_imx327->sd.owner =
pdev->dev.driver->owner;
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 1980 kmb_imx327->sd.dev =
&pdev->dev;
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 1981
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 1982 /* request optional detect pins */
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 1983 detect_gpios =
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 1984
gpiod_get_array_optional(&pdev->dev, "detect", GPIOD_OUT_LOW);
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 1985 if (IS_ERR(detect_gpios)) {
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 1986 ret = PTR_ERR(detect_gpios);
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 1987 dev_info(&pdev->dev,
"failed to get detect gpios %d", ret);
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 1988 /* Defer the probe if detect gpios
are busy */
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 1989 ret = (ret == -EBUSY) ?
-EPROBE_DEFER : ret;
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 1990 goto error_mutex_destroy;
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 1991 }
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 1992
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 1993 ret =
kmb_imx327_power_on(kmb_imx327);
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 1994 if (ret) {
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 1995 dev_dbg(&pdev->dev,
"failed to power-on the sensor %d", ret);
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 1996 /* Defer the probe if resourcess
are busy */
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 1997 ret = (ret == -EBUSY) ?
-EPROBE_DEFER : ret;
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 1998 goto error_put_detect_gpios;
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 1999 }
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2000
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2001 ret =
kmb_imx327_get_i2c_client(kmb_imx327);
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2002 if (ret) {
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2003 dev_dbg(&pdev->dev,
"failed to get i2c %d\n", ret);
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2004 goto error_sensor_power_off;
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2005 }
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2006
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2007
v4l2_set_subdevdata(&kmb_imx327->sd, kmb_imx327->client);
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2008
i2c_set_clientdata(kmb_imx327->client, &kmb_imx327->sd);
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2009
v4l2_i2c_subdev_set_name(&kmb_imx327->sd, kmb_imx327->client,
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2010 KMB_IMX327_DRV_NAME,
pdev->name);
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2011
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2012 /* Check module identity */
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2013 ret =
kmb_imx327_detect(kmb_imx327);
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2014 if (ret) {
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2015 dev_err(&pdev->dev,
"failed to find sensor: %d", ret);
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2016 goto error_unregister_i2c_dev;
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2017 }
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2018
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2019 /* Set default mode to max
resolution */
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2020 kmb_imx327->cur_mode =
&supported_modes[0];
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2021 kmb_imx327->fps =
kmb_imx327->cur_mode->fps.def;
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2022 kmb_imx327->lpfr =
kmb_imx327->cur_mode->lpfr[0];
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2023
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2024 ret =
kmb_imx327_init_controls(kmb_imx327);
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2025 if (ret) {
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2026 dev_err(&pdev->dev,
"failed to init controls: %d", ret);
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2027 goto error_unregister_i2c_dev;
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2028 }
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2029
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2030 /* Initialize subdev */
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2031 kmb_imx327->sd.internal_ops =
&kmb_imx327_internal_ops;
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2032 kmb_imx327->sd.flags |=
V4L2_SUBDEV_FL_HAS_DEVNODE;
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2033 kmb_imx327->sd.entity.ops =
&kmb_imx327_subdev_entity_ops;
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2034 kmb_imx327->sd.entity.function =
MEDIA_ENT_F_CAM_SENSOR;
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2035
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2036 /* Initialize source pad */
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2037 kmb_imx327->pad.flags =
MEDIA_PAD_FL_SOURCE;
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2038 ret =
media_entity_pads_init(&kmb_imx327->sd.entity, 1,
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2039 &kmb_imx327->pad);
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2040 if (ret) {
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2041 dev_err(&pdev->dev,
"failed to init entity pads: %d", ret);
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2042 goto error_handler_free;
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2043 }
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2044
49fa3e4bf70e378 Zhou Furong 2021-10-20 2045 ret =
v4l2_async_register_subdev_sensor(&kmb_imx327->sd);
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2046 if (ret < 0) {
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2047 dev_err(&pdev->dev,
"failed to register async subdev: %d", ret);
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2048 goto error_media_entity;
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2049 }
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2050
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2051 if (detect_gpios)
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2052 gpiod_put_array(detect_gpios);
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2053
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2054
pm_runtime_set_active(&pdev->dev);
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2055
pm_runtime_enable(&pdev->dev);
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2056
pm_runtime_idle(&pdev->dev);
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2057
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2058 dev_info(&pdev->dev,
"Probe success!");
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2059 return 0;
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2060
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2061 error_media_entity:
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2062
media_entity_cleanup(&kmb_imx327->sd.entity);
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2063 error_handler_free:
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2064
v4l2_ctrl_handler_free(kmb_imx327->sd.ctrl_handler);
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2065 error_unregister_i2c_dev:
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2066 if (kmb_imx327->client)
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2067
i2c_unregister_device(kmb_imx327->client);
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2068 error_sensor_power_off:
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2069 kmb_imx327_power_off(kmb_imx327);
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2070 error_put_detect_gpios:
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2071 if (detect_gpios)
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2072 gpiod_put_array(detect_gpios);
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2073 error_mutex_destroy:
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2074
mutex_destroy(&kmb_imx327->mutex);
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2075
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2076 return ret;
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2077 }
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2078
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2079 /**
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2080 * kmb_imx327_remove - Platform
device unbinding
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2081 * @pdev: pointer to platform
device
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2082 *
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2083 * Return: 0 if successful
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2084 */
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2085 static int
kmb_imx327_pdev_remove(struct platform_device *pdev)
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 @2086 {
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2087 struct kmb_imx327 *kmb_imx327 =
platform_get_drvdata(pdev);
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2088 struct v4l2_subdev *sd =
&kmb_imx327->sd;
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2089
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2090 v4l2_async_unregister_subdev(sd);
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2091
media_entity_cleanup(&sd->entity);
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2092
v4l2_ctrl_handler_free(sd->ctrl_handler);
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2093
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2094
pm_runtime_disable(&pdev->dev);
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2095
pm_runtime_suspended(&pdev->dev);
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2096
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2097 if (kmb_imx327->client)
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2098
i2c_unregister_device(kmb_imx327->client);
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2099
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2100
mutex_destroy(&kmb_imx327->mutex);
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2101
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2102 return 0;
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2103 }
ca29c95cf4cd93d Gjorgji Rosikopulos 2020-06-26 2104
:::::: The code at line 1962 was first introduced by commit
:::::: ca29c95cf4cd93d1e33013951d9ab731e49e1bce media: kmb-imx327-sensor: Add Keem Bay
IMX327 sensor
:::::: TO: Gjorgji Rosikopulos <gjorgjix.rosikopulos(a)intel.com>
:::::: CC: nanli2x <nanx.li(a)intel.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org