lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <202105280056.11fyu2Be-lkp@intel.com>
Date:   Fri, 28 May 2021 00:39:10 +0800
From:   kernel test robot <lkp@...el.com>
To:     Martin Kepplinger <martin.kepplinger@...i.sm>, mchehab@...nel.org,
        robh@...nel.org, krzysztof.kozlowski@...onical.com,
        laurent.pinchart@...asonboard.com
Cc:     kbuild-all@...ts.01.org, kernel@...i.sm,
        paul.kocialkowski@...tlin.com, shawnx.tu@...el.com,
        linux-media@...r.kernel.org, linux-kernel@...r.kernel.org,
        devicetree@...r.kernel.org
Subject: Re: [PATCH v1 3/4] media: i2c: add driver for the SK Hynix Hi-846 8M
 pixel camera

Hi Martin,

I love your patch! Yet something to improve:

[auto build test ERROR on linuxtv-media/master]
[also build test ERROR on robh/for-next linus/master v5.13-rc3 next-20210527]
[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]

url:    https://github.com/0day-ci/linux/commits/Martin-Kepplinger/Add-support-for-the-Hynix-Hi-846-camera/20210527-171447
base:   git://linuxtv.org/media_tree.git master
config: x86_64-allyesconfig (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
        # https://github.com/0day-ci/linux/commit/707231d55da9f8b9f902252d852e5a9af635503d
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Martin-Kepplinger/Add-support-for-the-Hynix-Hi-846-camera/20210527-171447
        git checkout 707231d55da9f8b9f902252d852e5a9af635503d
        # save the attached .config to linux build tree
        make W=1 ARCH=x86_64 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@...el.com>

All errors (new ones prefixed by >>):

   drivers/media/i2c/hi846.c: In function 'hi846_probe':
   drivers/media/i2c/hi846.c:2162:8: error: implicit declaration of function 'v4l2_async_register_subdev_sensor_common'; did you mean 'v4l2_async_register_subdev_sensor'? [-Werror=implicit-function-declaration]
    2162 |  ret = v4l2_async_register_subdev_sensor_common(&hi846->sd);
         |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         |        v4l2_async_register_subdev_sensor
   drivers/media/i2c/hi846.c:2084:17: warning: unused variable 'd' [-Wunused-variable]
    2084 |  struct dentry *d;
         |                 ^
   In file included from drivers/media/i2c/hi846.c:5:
   drivers/media/i2c/hi846.c: At top level:
>> drivers/media/i2c/hi846.c:2200:32: error: 'hi846_acpi_ids' undeclared here (not in a function); did you mean 'hi846_pm_ops'?
    2200 |   .acpi_match_table = ACPI_PTR(hi846_acpi_ids),
         |                                ^~~~~~~~~~~~~~
   include/linux/acpi.h:673:25: note: in definition of macro 'ACPI_PTR'
     673 | #define ACPI_PTR(_ptr) (_ptr)
         |                         ^~~~
   drivers/media/i2c/hi846.c:1082:31: warning: 'mode_3264x2448_mipi_4lane' defined but not used [-Wunused-const-variable=]
    1082 | static const struct hi846_reg mode_3264x2448_mipi_4lane[] = {
         |                               ^~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/media/i2c/hi846.c:1063:31: warning: 'mode_3264x2448_mipi_2lane' defined but not used [-Wunused-const-variable=]
    1063 | static const struct hi846_reg mode_3264x2448_mipi_2lane[] = {
         |                               ^~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/media/i2c/hi846.c:1032:31: warning: 'mode_3264x2448_config' defined but not used [-Wunused-const-variable=]
    1032 | static const struct hi846_reg mode_3264x2448_config[] = {
         |                               ^~~~~~~~~~~~~~~~~~~~~
   cc1: some warnings being treated as errors


vim +2200 drivers/media/i2c/hi846.c

  2078	
  2079	static int hi846_probe(struct i2c_client *client)
  2080	{
  2081		struct hi846 *hi846;
  2082		int ret;
  2083		u8 lanes;
  2084		struct dentry *d;
  2085	
  2086		ret = hi846_check_hwcfg(&client->dev, &lanes);
  2087		if (ret) {
  2088			dev_err(&client->dev, "failed to check HW configuration: %d",
  2089				ret);
  2090			return ret;
  2091		}
  2092	
  2093		hi846 = devm_kzalloc(&client->dev, sizeof(*hi846), GFP_KERNEL);
  2094		if (!hi846)
  2095			return -ENOMEM;
  2096	
  2097		hi846->nr_lanes = lanes;
  2098	
  2099		v4l2_i2c_subdev_init(&hi846->sd, client, &hi846_subdev_ops);
  2100	
  2101		ret = hi846_parse_gpio(&hi846->rst_gpio, &client->dev);
  2102		if (ret < 0) {
  2103			dev_err(&client->dev, "parse gpio failed: %d\n", ret);
  2104			return ret;
  2105		}
  2106	
  2107		hi846->vdd_regulator = devm_regulator_get(&client->dev, "vdd");
  2108		if (IS_ERR(hi846->vdd_regulator))
  2109			dev_warn(&client->dev, "cannot get voltage regulator\n");
  2110	
  2111		hi846->vdd1_regulator = devm_regulator_get(&client->dev, "vdd1");
  2112		if (IS_ERR(hi846->vdd1_regulator))
  2113			dev_warn(&client->dev, "cannot get voltage regulator\n");
  2114	
  2115		ret = hi846_regulator_enable(hi846);
  2116		if (ret) {
  2117			dev_err(&client->dev, "regulator enable failed: %d\n", ret);
  2118			return ret;
  2119		}
  2120	
  2121		hi846->clock = devm_clk_get(hi846->sd.dev, "mclk");
  2122		if (IS_ERR(hi846->clock)) {
  2123			dev_err(&client->dev, "get clk failed\n");
  2124			ret = -EPROBE_DEFER;
  2125			goto probe_error_regulator;
  2126		}
  2127	
  2128		ret = clk_prepare_enable(hi846->clock);
  2129		if (ret < 0)
  2130			goto probe_error_regulator;
  2131	
  2132		msleep(100);
  2133	
  2134		hi846_rst_gpio_assert(hi846, true);
  2135	
  2136		ret = hi846_identify_module(hi846);
  2137		if (ret) {
  2138			dev_err(&client->dev, "failed to find sensor: %d", ret);
  2139			goto probe_error_regulator;
  2140		}
  2141	
  2142		mutex_init(&hi846->mutex);
  2143	
  2144		hi846->cur_mode = &supported_modes[0];
  2145		ret = hi846_init_controls(hi846);
  2146		if (ret) {
  2147			dev_err(&client->dev, "failed to init controls: %d", ret);
  2148			goto probe_error_v4l2_ctrl_handler_free;
  2149		}
  2150	
  2151		hi846->sd.internal_ops = &hi846_internal_ops;
  2152		hi846->sd.flags |= V4L2_SUBDEV_FL_HAS_DEVNODE;
  2153		hi846->sd.entity.ops = &hi846_subdev_entity_ops;
  2154		hi846->sd.entity.function = MEDIA_ENT_F_CAM_SENSOR;
  2155		hi846->pad.flags = MEDIA_PAD_FL_SOURCE;
  2156		ret = media_entity_pads_init(&hi846->sd.entity, 1, &hi846->pad);
  2157		if (ret) {
  2158			dev_err(&client->dev, "failed to init entity pads: %d", ret);
  2159			goto probe_error_v4l2_ctrl_handler_free;
  2160		}
  2161	
> 2162		ret = v4l2_async_register_subdev_sensor_common(&hi846->sd);
  2163		if (ret < 0) {
  2164			dev_err(&client->dev, "failed to register V4L2 subdev: %d",
  2165				ret);
  2166			goto probe_error_media_entity_cleanup;
  2167		}
  2168	
  2169		pm_runtime_set_active(&client->dev);
  2170		pm_runtime_enable(&client->dev);
  2171		pm_runtime_idle(&client->dev);
  2172	
  2173		return 0;
  2174	
  2175	probe_error_media_entity_cleanup:
  2176		media_entity_cleanup(&hi846->sd.entity);
  2177	
  2178	probe_error_v4l2_ctrl_handler_free:
  2179		v4l2_ctrl_handler_free(hi846->sd.ctrl_handler);
  2180		mutex_destroy(&hi846->mutex);
  2181	
  2182	probe_error_regulator:
  2183		hi846_regulator_disable(hi846);
  2184	
  2185		return ret;
  2186	}
  2187	
  2188	UNIVERSAL_DEV_PM_OPS(hi846_pm_ops, hi846_suspend, hi846_resume, NULL);
  2189	
  2190	static const struct of_device_id hi846_of_match[] = {
  2191		{ .compatible = "hynix,hi846", },
  2192		{},
  2193	};
  2194	MODULE_DEVICE_TABLE(of, hi846_of_match);
  2195	
  2196	static struct i2c_driver hi846_i2c_driver = {
  2197		.driver = {
  2198			.name = "hi846",
  2199			.pm = &hi846_pm_ops,
> 2200			.acpi_match_table = ACPI_PTR(hi846_acpi_ids),
  2201			.of_match_table = of_match_ptr(hi846_of_match),
  2202		},
  2203		.probe_new = hi846_probe,
  2204		.remove = hi846_remove,
  2205	};
  2206	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

Download attachment ".config.gz" of type "application/gzip" (65661 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ