mei: Simplify the ME client enumeration code
After enumerating all ME clients we call the client init functions for all matching UUIDs from a separate context. This remove the hackish cascading client initialisation process that was interleaving properties and connection command replies. Signed-off-by: Samuel Ortiz <sameo@linux.intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
这个提交包含在:
@@ -287,6 +287,8 @@ struct mei_device {
|
||||
bool iamthif_flow_control_pending;
|
||||
bool iamthif_ioctl;
|
||||
bool iamthif_canceled;
|
||||
|
||||
struct work_struct init_work;
|
||||
};
|
||||
|
||||
static inline unsigned long mei_secs_to_jiffies(unsigned long sec)
|
||||
@@ -363,7 +365,8 @@ static inline bool mei_cl_cmp_id(const struct mei_cl *cl1,
|
||||
*/
|
||||
void mei_host_start_message(struct mei_device *dev);
|
||||
void mei_host_enum_clients_message(struct mei_device *dev);
|
||||
int mei_host_client_properties(struct mei_device *dev);
|
||||
int mei_host_client_enumerate(struct mei_device *dev);
|
||||
void mei_host_client_init(struct work_struct *work);
|
||||
|
||||
/*
|
||||
* MEI interrupt functions prototype
|
||||
|
在新工单中引用
屏蔽一个用户