Commit 9af43384 authored by Wolfram Sang's avatar Wolfram Sang Committed by Wolfram Sang

i2c: remove helpers for ref-counting clients

There are no in-tree users of these helpers anymore, and there
shouldn't. Most use cases went away once the driver model started to
refcount for us. There have been users like the media subsystem, but
they all switched to better refcounting methods meanwhile. Media did
this in 2008. Last user (IPMI) left 2018. Remove this cruft.
Signed-off-by: default avatarWolfram Sang <wsa+renesas@sang-engineering.com>
Reviewed-by: default avatarNiklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Reviewed-by: default avatarJean Delvare <jdelvare@suse.de>
Tested-by: default avatarLuca Ceresoli <luca@lucaceresoli.net>
Reviewed-by: default avatarLuca Ceresoli <luca@lucaceresoli.net>
Reviewed-by: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
parent 79e4be2c
...@@ -1743,38 +1743,6 @@ EXPORT_SYMBOL(i2c_del_driver); ...@@ -1743,38 +1743,6 @@ EXPORT_SYMBOL(i2c_del_driver);
/* ------------------------------------------------------------------------- */ /* ------------------------------------------------------------------------- */
/**
* i2c_use_client - increments the reference count of the i2c client structure
* @client: the client being referenced
*
* Each live reference to a client should be refcounted. The driver model does
* that automatically as part of driver binding, so that most drivers don't
* need to do this explicitly: they hold a reference until they're unbound
* from the device.
*
* A pointer to the client with the incremented reference counter is returned.
*/
struct i2c_client *i2c_use_client(struct i2c_client *client)
{
if (client && get_device(&client->dev))
return client;
return NULL;
}
EXPORT_SYMBOL(i2c_use_client);
/**
* i2c_release_client - release a use of the i2c client structure
* @client: the client being no longer referenced
*
* Must be called when a user of a client is finished with it.
*/
void i2c_release_client(struct i2c_client *client)
{
if (client)
put_device(&client->dev);
}
EXPORT_SYMBOL(i2c_release_client);
struct i2c_cmd_arg { struct i2c_cmd_arg {
unsigned cmd; unsigned cmd;
void *arg; void *arg;
......
...@@ -850,9 +850,6 @@ extern void i2c_del_driver(struct i2c_driver *driver); ...@@ -850,9 +850,6 @@ extern void i2c_del_driver(struct i2c_driver *driver);
#define i2c_add_driver(driver) \ #define i2c_add_driver(driver) \
i2c_register_driver(THIS_MODULE, driver) i2c_register_driver(THIS_MODULE, driver)
extern struct i2c_client *i2c_use_client(struct i2c_client *client);
extern void i2c_release_client(struct i2c_client *client);
/* call the i2c_client->command() of all attached clients with /* call the i2c_client->command() of all attached clients with
* the given arguments */ * the given arguments */
extern void i2c_clients_command(struct i2c_adapter *adap, extern void i2c_clients_command(struct i2c_adapter *adap,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment