mei: add me client remove functions

To support dynamic addition/remove we add wrappers
for removal of me clients

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Tomas Winkler
2014-08-21 14:29:14 +03:00
committed by Greg Kroah-Hartman
parent 5ca2d3882d
commit 25ca6472b5
3 changed files with 38 additions and 7 deletions

View File

@@ -47,7 +47,6 @@ struct mei_me_client *mei_me_cl_by_uuid(const struct mei_device *dev,
return NULL;
}
/**
* mei_me_cl_by_id return index to me_clients for client_id
*
@@ -70,6 +69,27 @@ struct mei_me_client *mei_me_cl_by_id(struct mei_device *dev, u8 client_id)
return NULL;
}
/**
* mei_me_cl_remove - remove me client matching uuid and client_id
*
* @dev: the device structure
* @uuid: me client uuid
* @client_id: me client address
*/
void mei_me_cl_remove(struct mei_device *dev, const uuid_le *uuid, u8 client_id)
{
struct mei_me_client *me_cl, *next;
list_for_each_entry_safe(me_cl, next, &dev->me_clients, list) {
if (uuid_le_cmp(*uuid, me_cl->props.protocol_name) == 0 &&
me_cl->client_id == client_id) {
list_del(&me_cl->list);
kfree(me_cl);
break;
}
}
}
/**
* mei_cl_cmp_id - tells if the clients are the same