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