summaryrefslogtreecommitdiffstats
path: root/drivers/misc/mei/mei_dev.h
diff options
context:
space:
mode:
authorTomas Winkler <tomas.winkler@intel.com>2015-07-23 15:08:47 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2015-08-03 17:24:48 -0700
commit6009595a66e460af0b170d736398c49395cb4499 (patch)
treef165c655c8584c34feb695d54415f189972f2e76 /drivers/misc/mei/mei_dev.h
parentb39910c2e0ac7c3d0e2f1999b04308c771b1d8fc (diff)
downloadop-kernel-dev-6009595a66e460af0b170d736398c49395cb4499.zip
op-kernel-dev-6009595a66e460af0b170d736398c49395cb4499.tar.gz
mei: bus: link client devices instead of host clients
MEI bus was designed around nfc and was hard to extend. Instead of the hard coded way of adding the devices on the mei bus we scan the whole me client list and create a device for each eligible me client (mei_cl_bus_rescan); currently we support only clients with single connection and fixed address clients. NFC radio name detection is run as a fixup routine The patch replaces handling the device list based on struct me_cl to device list based on me_cl_devices. The creating a connection is pushed from the device creation time to device enablement. Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/misc/mei/mei_dev.h')
-rw-r--r--drivers/misc/mei/mei_dev.h11
1 files changed, 1 insertions, 10 deletions
diff --git a/drivers/misc/mei/mei_dev.h b/drivers/misc/mei/mei_dev.h
index 7098dca..71c55f4 100644
--- a/drivers/misc/mei/mei_dev.h
+++ b/drivers/misc/mei/mei_dev.h
@@ -241,7 +241,6 @@ struct mei_cl_cb {
* @rd_completed: completed read
*
* @cldev: device on the mei client bus
- * @device_link: link to bus clients
*/
struct mei_cl {
struct list_head link;
@@ -260,9 +259,7 @@ struct mei_cl {
struct list_head rd_pending;
struct list_head rd_completed;
- /* MEI CL bus data */
struct mei_cl_device *cldev;
- struct list_head device_link;
};
/** struct mei_hw_ops
@@ -329,12 +326,7 @@ struct mei_hw_ops {
};
/* MEI bus API*/
-
-struct mei_cl_device *mei_cl_add_device(struct mei_device *bus,
- struct mei_me_client *me_cl,
- struct mei_cl *cl,
- const char *name);
-void mei_cl_remove_device(struct mei_cl_device *cldev);
+void mei_cl_bus_rescan(struct mei_device *bus);
void mei_cl_dev_fixup(struct mei_cl_device *dev);
ssize_t __mei_cl_send(struct mei_cl *cl, u8 *buf, size_t length,
bool blocking);
@@ -343,7 +335,6 @@ void mei_cl_bus_rx_event(struct mei_cl *cl);
void mei_cl_bus_remove_devices(struct mei_device *bus);
int mei_cl_bus_init(void);
void mei_cl_bus_exit(void);
-struct mei_cl *mei_cl_bus_find_cl_by_uuid(struct mei_device *bus, uuid_le uuid);
/**
* enum mei_pg_event - power gating transition events
OpenPOWER on IntegriCloud