device connection: Remove device_connection_add()
All the users of that API have now been converted to use software fwnodes instead. Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com> Link: https://lore.kernel.org/r/20200904125123.83725-3-heikki.krogerus@linux.intel.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
180c284ce4
commit
87ea592624
|
@ -9,9 +9,6 @@
|
|||
#include <linux/device.h>
|
||||
#include <linux/property.h>
|
||||
|
||||
static DEFINE_MUTEX(devcon_lock);
|
||||
static LIST_HEAD(devcon_list);
|
||||
|
||||
static void *
|
||||
fwnode_graph_devcon_match(struct fwnode_handle *fwnode, const char *con_id,
|
||||
void *data, devcon_match_fn_t match)
|
||||
|
@ -99,60 +96,6 @@ EXPORT_SYMBOL_GPL(fwnode_connection_find_match);
|
|||
void *device_connection_find_match(struct device *dev, const char *con_id,
|
||||
void *data, devcon_match_fn_t match)
|
||||
{
|
||||
struct fwnode_handle *fwnode = dev_fwnode(dev);
|
||||
const char *devname = dev_name(dev);
|
||||
struct device_connection *con;
|
||||
void *ret = NULL;
|
||||
int ep;
|
||||
|
||||
if (!match)
|
||||
return NULL;
|
||||
|
||||
ret = fwnode_connection_find_match(fwnode, con_id, data, match);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
mutex_lock(&devcon_lock);
|
||||
|
||||
list_for_each_entry(con, &devcon_list, list) {
|
||||
ep = match_string(con->endpoint, 2, devname);
|
||||
if (ep < 0)
|
||||
continue;
|
||||
|
||||
if (con_id && strcmp(con->id, con_id))
|
||||
continue;
|
||||
|
||||
ret = match(con, !ep, data);
|
||||
if (ret)
|
||||
break;
|
||||
}
|
||||
|
||||
mutex_unlock(&devcon_lock);
|
||||
|
||||
return ret;
|
||||
return fwnode_connection_find_match(dev_fwnode(dev), con_id, data, match);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(device_connection_find_match);
|
||||
|
||||
/**
|
||||
* device_connection_add - Register a connection description
|
||||
* @con: The connection description to be registered
|
||||
*/
|
||||
void device_connection_add(struct device_connection *con)
|
||||
{
|
||||
mutex_lock(&devcon_lock);
|
||||
list_add_tail(&con->list, &devcon_list);
|
||||
mutex_unlock(&devcon_lock);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(device_connection_add);
|
||||
|
||||
/**
|
||||
* device_connections_remove - Unregister connection description
|
||||
* @con: The connection description to be unregistered
|
||||
*/
|
||||
void device_connection_remove(struct device_connection *con)
|
||||
{
|
||||
mutex_lock(&devcon_lock);
|
||||
list_del(&con->list);
|
||||
mutex_unlock(&devcon_lock);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(device_connection_remove);
|
||||
|
|
|
@ -297,7 +297,6 @@ struct device_dma_parameters {
|
|||
* @fwnode: The device node of the connected device
|
||||
* @endpoint: The names of the two devices connected together
|
||||
* @id: Unique identifier for the connection
|
||||
* @list: List head, private, for internal use only
|
||||
*
|
||||
* NOTE: @fwnode is not used together with @endpoint. @fwnode is used when
|
||||
* platform firmware defines the connection. When the connection is registered
|
||||
|
@ -307,7 +306,6 @@ struct device_connection {
|
|||
struct fwnode_handle *fwnode;
|
||||
const char *endpoint[2];
|
||||
const char *id;
|
||||
struct list_head list;
|
||||
};
|
||||
|
||||
typedef void *(*devcon_match_fn_t)(struct device_connection *con, int ep,
|
||||
|
@ -319,33 +317,6 @@ void *fwnode_connection_find_match(struct fwnode_handle *fwnode,
|
|||
void *device_connection_find_match(struct device *dev, const char *con_id,
|
||||
void *data, devcon_match_fn_t match);
|
||||
|
||||
void device_connection_add(struct device_connection *con);
|
||||
void device_connection_remove(struct device_connection *con);
|
||||
|
||||
/**
|
||||
* device_connections_add - Add multiple device connections at once
|
||||
* @cons: Zero terminated array of device connection descriptors
|
||||
*/
|
||||
static inline void device_connections_add(struct device_connection *cons)
|
||||
{
|
||||
struct device_connection *c;
|
||||
|
||||
for (c = cons; c->endpoint[0]; c++)
|
||||
device_connection_add(c);
|
||||
}
|
||||
|
||||
/**
|
||||
* device_connections_remove - Remove multiple device connections at once
|
||||
* @cons: Zero terminated array of device connection descriptors
|
||||
*/
|
||||
static inline void device_connections_remove(struct device_connection *cons)
|
||||
{
|
||||
struct device_connection *c;
|
||||
|
||||
for (c = cons; c->endpoint[0]; c++)
|
||||
device_connection_remove(c);
|
||||
}
|
||||
|
||||
/**
|
||||
* enum device_link_state - Device link states.
|
||||
* @DL_STATE_NONE: The presence of the drivers is not being tracked.
|
||||
|
|
Loading…
Reference in New Issue