media: v4l2-core: v4l2-i2c: convert to new API with ERRPTR

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>
This commit is contained in:
Wolfram Sang 2019-12-16 16:51:43 +01:00 committed by Mauro Carvalho Chehab
parent e18976eeca
commit 2e1b100cdc

View 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;
}