Re: [PATCH 1/1] v4l: samsung, ov9650: Rely on V4L2-set sub-device names

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

 



Hi Sakari,

I love your patch! Yet something to improve:

[auto build test ERROR on linuxtv-media/master]
[also build test ERROR on next-20180913]
[cannot apply to v4.19-rc4]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Sakari-Ailus/v4l-samsung-ov9650-Rely-on-V4L2-set-sub-device-names/20180916-232558
base:   git://linuxtv.org/media_tree.git master
config: i386-randconfig-x0-09171846 (attached as .config)
compiler: gcc-5 (Debian 5.5.0-3) 5.4.1 20171010
reproduce:
        # save the attached .config to linux build tree
        make ARCH=i386 

All errors (new ones prefixed by >>):

   drivers/media/i2c/s5c73m3/s5c73m3-core.c: In function 's5c73m3_probe':
>> drivers/media/i2c/s5c73m3/s5c73m3-core.c:1686:2: error: implicit declaration of function 'v4l2_i2c_subdev_set_name' [-Werror=implicit-function-declaration]
     v4l2_i2c_subdev_set_name(sd, client, NULL, NULL);
     ^
   cc1: some warnings being treated as errors

vim +/v4l2_i2c_subdev_set_name +1686 drivers/media/i2c/s5c73m3/s5c73m3-core.c

  1660	
  1661	static int s5c73m3_probe(struct i2c_client *client,
  1662					const struct i2c_device_id *id)
  1663	{
  1664		struct device *dev = &client->dev;
  1665		struct v4l2_subdev *sd;
  1666		struct v4l2_subdev *oif_sd;
  1667		struct s5c73m3 *state;
  1668		int ret, i;
  1669	
  1670		state = devm_kzalloc(dev, sizeof(*state), GFP_KERNEL);
  1671		if (!state)
  1672			return -ENOMEM;
  1673	
  1674		state->i2c_client = client;
  1675		ret = s5c73m3_get_platform_data(state);
  1676		if (ret < 0)
  1677			return ret;
  1678	
  1679		mutex_init(&state->lock);
  1680		sd = &state->sensor_sd;
  1681		oif_sd = &state->oif_sd;
  1682	
  1683		v4l2_subdev_init(sd, &s5c73m3_subdev_ops);
  1684		sd->owner = client->dev.driver->owner;
  1685		v4l2_set_subdevdata(sd, state);
> 1686		v4l2_i2c_subdev_set_name(sd, client, NULL, NULL);
  1687	
  1688		sd->internal_ops = &s5c73m3_internal_ops;
  1689		sd->flags |= V4L2_SUBDEV_FL_HAS_DEVNODE;
  1690	
  1691		state->sensor_pads[S5C73M3_JPEG_PAD].flags = MEDIA_PAD_FL_SOURCE;
  1692		state->sensor_pads[S5C73M3_ISP_PAD].flags = MEDIA_PAD_FL_SOURCE;
  1693		sd->entity.function = MEDIA_ENT_F_CAM_SENSOR;
  1694	
  1695		ret = media_entity_pads_init(&sd->entity, S5C73M3_NUM_PADS,
  1696								state->sensor_pads);
  1697		if (ret < 0)
  1698			return ret;
  1699	
  1700		v4l2_i2c_subdev_init(oif_sd, client, &oif_subdev_ops);
  1701		v4l2_i2c_subdev_set_name(sd, client, NULL, "-oif");
  1702	
  1703		oif_sd->internal_ops = &oif_internal_ops;
  1704		oif_sd->flags |= V4L2_SUBDEV_FL_HAS_DEVNODE;
  1705	
  1706		state->oif_pads[OIF_ISP_PAD].flags = MEDIA_PAD_FL_SINK;
  1707		state->oif_pads[OIF_JPEG_PAD].flags = MEDIA_PAD_FL_SINK;
  1708		state->oif_pads[OIF_SOURCE_PAD].flags = MEDIA_PAD_FL_SOURCE;
  1709		oif_sd->entity.function = MEDIA_ENT_F_PROC_VIDEO_SCALER;
  1710	
  1711		ret = media_entity_pads_init(&oif_sd->entity, OIF_NUM_PADS,
  1712								state->oif_pads);
  1713		if (ret < 0)
  1714			return ret;
  1715	
  1716		ret = s5c73m3_configure_gpios(state);
  1717		if (ret)
  1718			goto out_err;
  1719	
  1720		for (i = 0; i < S5C73M3_MAX_SUPPLIES; i++)
  1721			state->supplies[i].supply = s5c73m3_supply_names[i];
  1722	
  1723		ret = devm_regulator_bulk_get(dev, S5C73M3_MAX_SUPPLIES,
  1724				       state->supplies);
  1725		if (ret) {
  1726			dev_err(dev, "failed to get regulators\n");
  1727			goto out_err;
  1728		}
  1729	
  1730		ret = s5c73m3_init_controls(state);
  1731		if (ret)
  1732			goto out_err;
  1733	
  1734		state->sensor_pix_size[RES_ISP] = &s5c73m3_isp_resolutions[1];
  1735		state->sensor_pix_size[RES_JPEG] = &s5c73m3_jpeg_resolutions[1];
  1736		state->oif_pix_size[RES_ISP] = state->sensor_pix_size[RES_ISP];
  1737		state->oif_pix_size[RES_JPEG] = state->sensor_pix_size[RES_JPEG];
  1738	
  1739		state->mbus_code = S5C73M3_ISP_FMT;
  1740	
  1741		state->fiv = &s5c73m3_intervals[S5C73M3_DEFAULT_FRAME_INTERVAL];
  1742	
  1743		state->fw_file_version[0] = 'G';
  1744		state->fw_file_version[1] = 'C';
  1745	
  1746		ret = s5c73m3_register_spi_driver(state);
  1747		if (ret < 0)
  1748			goto out_err;
  1749	
  1750		oif_sd->dev = dev;
  1751	
  1752		ret = __s5c73m3_power_on(state);
  1753		if (ret < 0)
  1754			goto out_err1;
  1755	
  1756		ret = s5c73m3_get_fw_version(state);
  1757		__s5c73m3_power_off(state);
  1758	
  1759		if (ret < 0) {
  1760			dev_err(dev, "Device detection failed: %d\n", ret);
  1761			goto out_err1;
  1762		}
  1763	
  1764		ret = v4l2_async_register_subdev(oif_sd);
  1765		if (ret < 0)
  1766			goto out_err1;
  1767	
  1768		v4l2_info(sd, "%s: completed successfully\n", __func__);
  1769		return 0;
  1770	
  1771	out_err1:
  1772		s5c73m3_unregister_spi_driver(state);
  1773	out_err:
  1774		media_entity_cleanup(&sd->entity);
  1775		return ret;
  1776	}
  1777	

---
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 Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux