drm: encoder_slave: use new I2C API
authorWolfram Sang <wsa+renesas@sang-engineering.com>
Mon, 15 Jun 2020 07:58:11 +0000 (09:58 +0200)
committerWolfram Sang <wsa@kernel.org>
Fri, 19 Jun 2020 07:20:21 +0000 (09:20 +0200)
i2c_new_client() is deprecated, use the replacement
i2c_new_client_device(). Also, we have a helper to check if a driver is
bound. Use it to simplify the code. Note that this changes the errno for
a failed device creation from ENOMEM to ENODEV. No callers currently
interpret this errno, though, so we use this condensed error check.

Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
drivers/gpu/drm/drm_encoder_slave.c

index d50a788..e464429 100644 (file)
@@ -61,13 +61,8 @@ int drm_i2c_encoder_init(struct drm_device *dev,
 
        request_module("%s%s", I2C_MODULE_PREFIX, info->type);
 
-       client = i2c_new_device(adap, info);
-       if (!client) {
-               err = -ENOMEM;
-               goto fail;
-       }
-
-       if (!client->dev.driver) {
+       client = i2c_new_client_device(adap, info);
+       if (!i2c_client_has_driver(client)) {
                err = -ENODEV;
                goto fail_unregister;
        }
@@ -96,7 +91,6 @@ fail_module_put:
        module_put(module);
 fail_unregister:
        i2c_unregister_device(client);
-fail:
        return err;
 }
 EXPORT_SYMBOL(drm_i2c_encoder_init);