Commit a519f6d0 authored by Wolfram Sang's avatar Wolfram Sang Committed by Emil Velikov
Browse files

drm: encoder_slave: use new I2C API



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: default avatarWolfram Sang <wsa+renesas@sang-engineering.com>
Reviewed-by: default avatarEmil Velikov <emil.l.velikov@gmail.com>
Signed-off-by: default avatarEmil Velikov <emil.l.velikov@gmail.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200316163907.13709-3-wsa+renesas@sang-engineering.com
parent 683c09e9
Loading
Loading
Loading
Loading
+2 −8
Original line number Diff line number Diff line
@@ -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 @@ int drm_i2c_encoder_init(struct drm_device *dev,
	module_put(module);
fail_unregister:
	i2c_unregister_device(client);
fail:
	return err;
}
EXPORT_SYMBOL(drm_i2c_encoder_init);