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

Reply via email to