drivers/media/platform/s5p-tv/hdmiphy_drv.c:325:1: error: type defaults to 'int' in declaration of 'module_i2c_driver'
From: Fengguang Wu <hidden>
Date: 2014-10-28 10:52:34
tree: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: f7e87a44ef60ad379e39b45437604141453bf0ec
commit: 3cf0c6bd68915aee3b5827b960e485de201e42c1 Merge remote-tracking branch 'linus/master' into patchwork
date: 5 weeks ago
config: x86_64-randconfig-iv1-10281307 (attached as .config)
reproduce:
git checkout 3cf0c6bd68915aee3b5827b960e485de201e42c1
# save the attached .config to linux build tree
make ARCH=x86_64
All error/warnings:
drivers/media/platform/s5p-tv/hdmiphy_drv.c: In function 'hdmiphy_s_dv_timings':
drivers/media/platform/s5p-tv/hdmiphy_drv.c:216:2: error: implicit declaration of function 'i2c_master_send' [-Werror=implicit-function-declaration]
ret = i2c_master_send(client, buffer, 32);
^
drivers/media/platform/s5p-tv/hdmiphy_drv.c: At top level:
drivers/media/platform/s5p-tv/hdmiphy_drv.c:325:1: warning: data definition has no type or storage class
module_i2c_driver(hdmiphy_driver);
^quoted
drivers/media/platform/s5p-tv/hdmiphy_drv.c:325:1: error: type defaults to 'int' in declaration of 'module_i2c_driver' [-Werror=implicit-int]
drivers/media/platform/s5p-tv/hdmiphy_drv.c:325:1: warning: parameter names (without types) in function declaration
drivers/media/platform/s5p-tv/hdmiphy_drv.c:315:26: warning: 'hdmiphy_driver' defined but not used [-Wunused-variable]
static struct i2c_driver hdmiphy_driver = {
^
cc1: some warnings being treated as errors
vim +325 drivers/media/platform/s5p-tv/hdmiphy_drv.c
8cf2f7ad drivers/media/platform/s5p-tv/hdmiphy_drv.c Hans Verkuil 2013-03-04 210 dev_err(dev, "format not supported\n");
8cf2f7ad drivers/media/platform/s5p-tv/hdmiphy_drv.c Hans Verkuil 2013-03-04 211 return -EINVAL;
8cf2f7ad drivers/media/platform/s5p-tv/hdmiphy_drv.c Hans Verkuil 2013-03-04 212 }
8cf2f7ad drivers/media/platform/s5p-tv/hdmiphy_drv.c Hans Verkuil 2013-03-04 213
8cf2f7ad drivers/media/platform/s5p-tv/hdmiphy_drv.c Hans Verkuil 2013-03-04 214 /* storing configuration to the device */
8cf2f7ad drivers/media/platform/s5p-tv/hdmiphy_drv.c Hans Verkuil 2013-03-04 215 memcpy(buffer, data, 32);
8cf2f7ad drivers/media/platform/s5p-tv/hdmiphy_drv.c Hans Verkuil 2013-03-04 216 ret = i2c_master_send(client, buffer, 32);
8cf2f7ad drivers/media/platform/s5p-tv/hdmiphy_drv.c Hans Verkuil 2013-03-04 217 if (ret != 32) {
8cf2f7ad drivers/media/platform/s5p-tv/hdmiphy_drv.c Hans Verkuil 2013-03-04 218 dev_err(dev, "failed to configure HDMIPHY via I2C\n");
8cf2f7ad drivers/media/platform/s5p-tv/hdmiphy_drv.c Hans Verkuil 2013-03-04 219 return -EIO;
8cf2f7ad drivers/media/platform/s5p-tv/hdmiphy_drv.c Hans Verkuil 2013-03-04 220 }
8cf2f7ad drivers/media/platform/s5p-tv/hdmiphy_drv.c Hans Verkuil 2013-03-04 221
8cf2f7ad drivers/media/platform/s5p-tv/hdmiphy_drv.c Hans Verkuil 2013-03-04 222 return 0;
8cf2f7ad drivers/media/platform/s5p-tv/hdmiphy_drv.c Hans Verkuil 2013-03-04 223 }
8cf2f7ad drivers/media/platform/s5p-tv/hdmiphy_drv.c Hans Verkuil 2013-03-04 224
8cf2f7ad drivers/media/platform/s5p-tv/hdmiphy_drv.c Hans Verkuil 2013-03-04 225 static int hdmiphy_dv_timings_cap(struct v4l2_subdev *sd,
8cf2f7ad drivers/media/platform/s5p-tv/hdmiphy_drv.c Hans Verkuil 2013-03-04 226 struct v4l2_dv_timings_cap *cap)
8cf2f7ad drivers/media/platform/s5p-tv/hdmiphy_drv.c Hans Verkuil 2013-03-04 227 {
1579a9d3 drivers/media/platform/s5p-tv/hdmiphy_drv.c Laurent Pinchart 2014-01-31 228 if (cap->pad != 0)
1579a9d3 drivers/media/platform/s5p-tv/hdmiphy_drv.c Laurent Pinchart 2014-01-31 229 return -EINVAL;
1579a9d3 drivers/media/platform/s5p-tv/hdmiphy_drv.c Laurent Pinchart 2014-01-31 230
8cf2f7ad drivers/media/platform/s5p-tv/hdmiphy_drv.c Hans Verkuil 2013-03-04 231 cap->type = V4L2_DV_BT_656_1120;
8cf2f7ad drivers/media/platform/s5p-tv/hdmiphy_drv.c Hans Verkuil 2013-03-04 232 /* The phy only determines the pixelclock, leave the other values
8cf2f7ad drivers/media/platform/s5p-tv/hdmiphy_drv.c Hans Verkuil 2013-03-04 233 * at 0 to signify that we have no information for them. */
8cf2f7ad drivers/media/platform/s5p-tv/hdmiphy_drv.c Hans Verkuil 2013-03-04 234 cap->bt.min_pixelclock = 27000000;
8cf2f7ad drivers/media/platform/s5p-tv/hdmiphy_drv.c Hans Verkuil 2013-03-04 235 cap->bt.max_pixelclock = 148500000;
8cf2f7ad drivers/media/platform/s5p-tv/hdmiphy_drv.c Hans Verkuil 2013-03-04 236 return 0;
8cf2f7ad drivers/media/platform/s5p-tv/hdmiphy_drv.c Hans Verkuil 2013-03-04 237 }
8cf2f7ad drivers/media/platform/s5p-tv/hdmiphy_drv.c Hans Verkuil 2013-03-04 238
a52074ee drivers/media/video/s5p-tv/hdmiphy_drv.c Tomasz Stanislawski 2011-03-02 239 static int hdmiphy_s_stream(struct v4l2_subdev *sd, int enable)
a52074ee drivers/media/video/s5p-tv/hdmiphy_drv.c Tomasz Stanislawski 2011-03-02 240 {
a52074ee drivers/media/video/s5p-tv/hdmiphy_drv.c Tomasz Stanislawski 2011-03-02 241 struct i2c_client *client = v4l2_get_subdevdata(sd);
a52074ee drivers/media/video/s5p-tv/hdmiphy_drv.c Tomasz Stanislawski 2011-03-02 242 struct device *dev = &client->dev;
a52074ee drivers/media/video/s5p-tv/hdmiphy_drv.c Tomasz Stanislawski 2011-03-02 243 u8 buffer[2];
a52074ee drivers/media/video/s5p-tv/hdmiphy_drv.c Tomasz Stanislawski 2011-03-02 244 int ret;
a52074ee drivers/media/video/s5p-tv/hdmiphy_drv.c Tomasz Stanislawski 2011-03-02 245
a52074ee drivers/media/video/s5p-tv/hdmiphy_drv.c Tomasz Stanislawski 2011-03-02 246 dev_info(dev, "s_stream(%d)\n", enable);
a52074ee drivers/media/video/s5p-tv/hdmiphy_drv.c Tomasz Stanislawski 2011-03-02 247 /* going to/from configuration from/to operation mode */
a52074ee drivers/media/video/s5p-tv/hdmiphy_drv.c Tomasz Stanislawski 2011-03-02 248 buffer[0] = 0x1f;
a52074ee drivers/media/video/s5p-tv/hdmiphy_drv.c Tomasz Stanislawski 2011-03-02 249 buffer[1] = enable ? 0x80 : 0x00;
a52074ee drivers/media/video/s5p-tv/hdmiphy_drv.c Tomasz Stanislawski 2011-03-02 250
a52074ee drivers/media/video/s5p-tv/hdmiphy_drv.c Tomasz Stanislawski 2011-03-02 251 ret = i2c_master_send(client, buffer, 2);
a52074ee drivers/media/video/s5p-tv/hdmiphy_drv.c Tomasz Stanislawski 2011-03-02 252 if (ret != 2) {
a52074ee drivers/media/video/s5p-tv/hdmiphy_drv.c Tomasz Stanislawski 2011-03-02 253 dev_err(dev, "stream (%d) failed\n", enable);
a52074ee drivers/media/video/s5p-tv/hdmiphy_drv.c Tomasz Stanislawski 2011-03-02 254 return -EIO;
a52074ee drivers/media/video/s5p-tv/hdmiphy_drv.c Tomasz Stanislawski 2011-03-02 255 }
a52074ee drivers/media/video/s5p-tv/hdmiphy_drv.c Tomasz Stanislawski 2011-03-02 256 return 0;
a52074ee drivers/media/video/s5p-tv/hdmiphy_drv.c Tomasz Stanislawski 2011-03-02 257 }
a52074ee drivers/media/video/s5p-tv/hdmiphy_drv.c Tomasz Stanislawski 2011-03-02 258
a52074ee drivers/media/video/s5p-tv/hdmiphy_drv.c Tomasz Stanislawski 2011-03-02 259 static const struct v4l2_subdev_core_ops hdmiphy_core_ops = {
a52074ee drivers/media/video/s5p-tv/hdmiphy_drv.c Tomasz Stanislawski 2011-03-02 260 .s_power = hdmiphy_s_power,
a52074ee drivers/media/video/s5p-tv/hdmiphy_drv.c Tomasz Stanislawski 2011-03-02 261 };
a52074ee drivers/media/video/s5p-tv/hdmiphy_drv.c Tomasz Stanislawski 2011-03-02 262
a52074ee drivers/media/video/s5p-tv/hdmiphy_drv.c Tomasz Stanislawski 2011-03-02 263 static const struct v4l2_subdev_video_ops hdmiphy_video_ops = {
8cf2f7ad drivers/media/platform/s5p-tv/hdmiphy_drv.c Hans Verkuil 2013-03-04 264 .s_dv_timings = hdmiphy_s_dv_timings,
a52074ee drivers/media/video/s5p-tv/hdmiphy_drv.c Tomasz Stanislawski 2011-03-02 265 .s_stream = hdmiphy_s_stream,
a52074ee drivers/media/video/s5p-tv/hdmiphy_drv.c Tomasz Stanislawski 2011-03-02 266 };
a52074ee drivers/media/video/s5p-tv/hdmiphy_drv.c Tomasz Stanislawski 2011-03-02 267
1579a9d3 drivers/media/platform/s5p-tv/hdmiphy_drv.c Laurent Pinchart 2014-01-31 268 static const struct v4l2_subdev_pad_ops hdmiphy_pad_ops = {
1579a9d3 drivers/media/platform/s5p-tv/hdmiphy_drv.c Laurent Pinchart 2014-01-31 269 .dv_timings_cap = hdmiphy_dv_timings_cap,
1579a9d3 drivers/media/platform/s5p-tv/hdmiphy_drv.c Laurent Pinchart 2014-01-31 270 };
1579a9d3 drivers/media/platform/s5p-tv/hdmiphy_drv.c Laurent Pinchart 2014-01-31 271
a52074ee drivers/media/video/s5p-tv/hdmiphy_drv.c Tomasz Stanislawski 2011-03-02 272 static const struct v4l2_subdev_ops hdmiphy_ops = {
a52074ee drivers/media/video/s5p-tv/hdmiphy_drv.c Tomasz Stanislawski 2011-03-02 273 .core = &hdmiphy_core_ops,
a52074ee drivers/media/video/s5p-tv/hdmiphy_drv.c Tomasz Stanislawski 2011-03-02 274 .video = &hdmiphy_video_ops,
1579a9d3 drivers/media/platform/s5p-tv/hdmiphy_drv.c Laurent Pinchart 2014-01-31 275 .pad = &hdmiphy_pad_ops,
a52074ee drivers/media/video/s5p-tv/hdmiphy_drv.c Tomasz Stanislawski 2011-03-02 276 };
a52074ee drivers/media/video/s5p-tv/hdmiphy_drv.c Tomasz Stanislawski 2011-03-02 277
4c62e976 drivers/media/platform/s5p-tv/hdmiphy_drv.c Greg Kroah-Hartman 2012-12-21 278 static int hdmiphy_probe(struct i2c_client *client,
a52074ee drivers/media/video/s5p-tv/hdmiphy_drv.c Tomasz Stanislawski 2011-03-02 279 const struct i2c_device_id *id)
a52074ee drivers/media/video/s5p-tv/hdmiphy_drv.c Tomasz Stanislawski 2011-03-02 280 {
2470ea3f drivers/media/video/s5p-tv/hdmiphy_drv.c Tomasz Stanislawski 2012-02-03 281 struct hdmiphy_ctx *ctx;
2470ea3f drivers/media/video/s5p-tv/hdmiphy_drv.c Tomasz Stanislawski 2012-02-03 282
45b56d57 drivers/media/platform/s5p-tv/hdmiphy_drv.c Sachin Kamat 2012-11-26 283 ctx = kzalloc(sizeof(*ctx), GFP_KERNEL);
2470ea3f drivers/media/video/s5p-tv/hdmiphy_drv.c Tomasz Stanislawski 2012-02-03 284 if (!ctx)
2470ea3f drivers/media/video/s5p-tv/hdmiphy_drv.c Tomasz Stanislawski 2012-02-03 285 return -ENOMEM;
2470ea3f drivers/media/video/s5p-tv/hdmiphy_drv.c Tomasz Stanislawski 2012-02-03 286
2470ea3f drivers/media/video/s5p-tv/hdmiphy_drv.c Tomasz Stanislawski 2012-02-03 287 ctx->conf_tab = (struct hdmiphy_conf *)id->driver_data;
2470ea3f drivers/media/video/s5p-tv/hdmiphy_drv.c Tomasz Stanislawski 2012-02-03 288 v4l2_i2c_subdev_init(&ctx->sd, client, &hdmiphy_ops);
a52074ee drivers/media/video/s5p-tv/hdmiphy_drv.c Tomasz Stanislawski 2011-03-02 289
a52074ee drivers/media/video/s5p-tv/hdmiphy_drv.c Tomasz Stanislawski 2011-03-02 290 dev_info(&client->dev, "probe successful\n");
a52074ee drivers/media/video/s5p-tv/hdmiphy_drv.c Tomasz Stanislawski 2011-03-02 291 return 0;
a52074ee drivers/media/video/s5p-tv/hdmiphy_drv.c Tomasz Stanislawski 2011-03-02 292 }
a52074ee drivers/media/video/s5p-tv/hdmiphy_drv.c Tomasz Stanislawski 2011-03-02 293
4c62e976 drivers/media/platform/s5p-tv/hdmiphy_drv.c Greg Kroah-Hartman 2012-12-21 294 static int hdmiphy_remove(struct i2c_client *client)
a52074ee drivers/media/video/s5p-tv/hdmiphy_drv.c Tomasz Stanislawski 2011-03-02 295 {
2470ea3f drivers/media/video/s5p-tv/hdmiphy_drv.c Tomasz Stanislawski 2012-02-03 296 struct v4l2_subdev *sd = i2c_get_clientdata(client);
2470ea3f drivers/media/video/s5p-tv/hdmiphy_drv.c Tomasz Stanislawski 2012-02-03 297 struct hdmiphy_ctx *ctx = sd_to_ctx(sd);
2470ea3f drivers/media/video/s5p-tv/hdmiphy_drv.c Tomasz Stanislawski 2012-02-03 298
2470ea3f drivers/media/video/s5p-tv/hdmiphy_drv.c Tomasz Stanislawski 2012-02-03 299 kfree(ctx);
a52074ee drivers/media/video/s5p-tv/hdmiphy_drv.c Tomasz Stanislawski 2011-03-02 300 dev_info(&client->dev, "remove successful\n");
2470ea3f drivers/media/video/s5p-tv/hdmiphy_drv.c Tomasz Stanislawski 2012-02-03 301
a52074ee drivers/media/video/s5p-tv/hdmiphy_drv.c Tomasz Stanislawski 2011-03-02 302 return 0;
a52074ee drivers/media/video/s5p-tv/hdmiphy_drv.c Tomasz Stanislawski 2011-03-02 303 }
a52074ee drivers/media/video/s5p-tv/hdmiphy_drv.c Tomasz Stanislawski 2011-03-02 304
a52074ee drivers/media/video/s5p-tv/hdmiphy_drv.c Tomasz Stanislawski 2011-03-02 305 static const struct i2c_device_id hdmiphy_id[] = {
2470ea3f drivers/media/video/s5p-tv/hdmiphy_drv.c Tomasz Stanislawski 2012-02-03 306 { "hdmiphy", (unsigned long)hdmiphy_conf_exynos4210 },
2470ea3f drivers/media/video/s5p-tv/hdmiphy_drv.c Tomasz Stanislawski 2012-02-03 307 { "hdmiphy-s5pv210", (unsigned long)hdmiphy_conf_s5pv210 },
2470ea3f drivers/media/video/s5p-tv/hdmiphy_drv.c Tomasz Stanislawski 2012-02-03 308 { "hdmiphy-exynos4210", (unsigned long)hdmiphy_conf_exynos4210 },
2470ea3f drivers/media/video/s5p-tv/hdmiphy_drv.c Tomasz Stanislawski 2012-02-03 309 { "hdmiphy-exynos4212", (unsigned long)hdmiphy_conf_exynos4212 },
2470ea3f drivers/media/video/s5p-tv/hdmiphy_drv.c Tomasz Stanislawski 2012-02-03 310 { "hdmiphy-exynos4412", (unsigned long)hdmiphy_conf_exynos4412 },
a52074ee drivers/media/video/s5p-tv/hdmiphy_drv.c Tomasz Stanislawski 2011-03-02 311 { },
a52074ee drivers/media/video/s5p-tv/hdmiphy_drv.c Tomasz Stanislawski 2011-03-02 312 };
a52074ee drivers/media/video/s5p-tv/hdmiphy_drv.c Tomasz Stanislawski 2011-03-02 313 MODULE_DEVICE_TABLE(i2c, hdmiphy_id);
a52074ee drivers/media/video/s5p-tv/hdmiphy_drv.c Tomasz Stanislawski 2011-03-02 314
a52074ee drivers/media/video/s5p-tv/hdmiphy_drv.c Tomasz Stanislawski 2011-03-02 315 static struct i2c_driver hdmiphy_driver = {
a52074ee drivers/media/video/s5p-tv/hdmiphy_drv.c Tomasz Stanislawski 2011-03-02 316 .driver = {
a52074ee drivers/media/video/s5p-tv/hdmiphy_drv.c Tomasz Stanislawski 2011-03-02 317 .name = "s5p-hdmiphy",
a52074ee drivers/media/video/s5p-tv/hdmiphy_drv.c Tomasz Stanislawski 2011-03-02 318 .owner = THIS_MODULE,
a52074ee drivers/media/video/s5p-tv/hdmiphy_drv.c Tomasz Stanislawski 2011-03-02 319 },
a52074ee drivers/media/video/s5p-tv/hdmiphy_drv.c Tomasz Stanislawski 2011-03-02 320 .probe = hdmiphy_probe,
4c62e976 drivers/media/platform/s5p-tv/hdmiphy_drv.c Greg Kroah-Hartman 2012-12-21 321 .remove = hdmiphy_remove,
a52074ee drivers/media/video/s5p-tv/hdmiphy_drv.c Tomasz Stanislawski 2011-03-02 322 .id_table = hdmiphy_id,
a52074ee drivers/media/video/s5p-tv/hdmiphy_drv.c Tomasz Stanislawski 2011-03-02 323 };
a52074ee drivers/media/video/s5p-tv/hdmiphy_drv.c Tomasz Stanislawski 2011-03-02 324
c6e8d86f drivers/media/video/s5p-tv/hdmiphy_drv.c Axel Lin 2012-02-12 325 module_i2c_driver(hdmiphy_driver);
---
0-DAY kernel build testing backend Open Source Technology Center
http://lists.01.org/mailman/listinfo/kbuild Intel Corporation