media: v4l2-core: v4l2-i2c: convert to new API with ERRPTR
authorWolfram Sang <wsa+renesas@sang-engineering.com>
Mon, 16 Dec 2019 15:51:43 +0000 (16:51 +0100)
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Mon, 24 Feb 2020 14:21:52 +0000 (15:21 +0100)
Use the new APIs instead of the deprecated ones.

Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
drivers/media/v4l2-core/v4l2-i2c.c

index 5bf99e7c0c09a3ec9c89378b264482fa65b4d4df..b4acca75644beb42c2e129945e6abd1f697f5df4 100644 (file)
@@ -74,10 +74,10 @@ struct v4l2_subdev
 
        /* Create the i2c client */
        if (info->addr == 0 && probe_addrs)
-               client = i2c_new_probed_device(adapter, info, probe_addrs,
-                                              NULL);
+               client = i2c_new_scanned_device(adapter, info, probe_addrs,
+                                               NULL);
        else
-               client = i2c_new_device(adapter, info);
+               client = i2c_new_client_device(adapter, info);
 
        /*
         * Note: by loading the module first we are certain that c->driver
@@ -88,7 +88,7 @@ struct v4l2_subdev
         * want to use the i2c device, so explicitly loading the module
         * is the best alternative.
         */
-       if (!client || !client->dev.driver)
+       if (!i2c_client_has_driver(client))
                goto error;
 
        /* Lock the module so we can safely get the v4l2_subdev pointer */
@@ -110,7 +110,7 @@ error:
         * If we have a client but no subdev, then something went wrong and
         * we must unregister the client.
         */
-       if (client && !sd)
+       if (!IS_ERR(client) && !sd)
                i2c_unregister_device(client);
        return sd;
 }