mei: use link and unlink terms for connecting ME and HOST client
authorTomas Winkler <tomas.winkler@intel.com>
Sun, 11 Nov 2012 15:38:03 +0000 (17:38 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 15 Nov 2012 23:34:19 +0000 (15:34 -0800)
1. rename mei_me_cl_update_filext to mei_me_cl_link
2. rename mei_remove_client_from_file_list to mei_me_cl_unlink

Code style, documenation, and usage of both function is updated

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/misc/mei/amthif.c
drivers/misc/mei/init.c
drivers/misc/mei/iorw.c
drivers/misc/mei/main.c
drivers/misc/mei/mei_dev.h
drivers/misc/mei/wd.c

index 7416241dce880df8d6a02160b950932a81642d38..095d0595a49e38b69b4f27d1b43ed39e0ec76651 100644 (file)
@@ -73,10 +73,10 @@ void mei_amthif_host_init(struct mei_device *dev)
        dev->iamthif_cl.state = MEI_FILE_DISCONNECTED;
 
        /* find ME amthi client */
-       i = mei_me_cl_update_filext(dev, &dev->iamthif_cl,
+       i = mei_me_cl_link(dev, &dev->iamthif_cl,
                            &mei_amthi_guid, MEI_IAMTHIF_HOST_CLIENT_ID);
        if (i < 0) {
-               dev_dbg(&dev->pdev->dev, "failed to find iamthif client.\n");
+               dev_info(&dev->pdev->dev, "failed to find iamthif client.\n");
                return;
        }
 
index 85b6520f39f159201f9343724bfa85306d717a23..4fcb0bb2c9f0fa80f7924bff350afb27d4d4fd95 100644 (file)
@@ -281,12 +281,10 @@ void mei_reset(struct mei_device *dev, int interrupts_enabled)
                        cl_pos->timer_count = 0;
                }
                /* remove entry if already in list */
-               dev_dbg(&dev->pdev->dev, "list del iamthif and wd file list.\n");
-               mei_remove_client_from_file_list(dev,
-                               dev->wd_cl.host_client_id);
+               dev_dbg(&dev->pdev->dev, "remove iamthif and wd from the file list.\n");
+               mei_me_cl_unlink(dev, &dev->wd_cl);
 
-               mei_remove_client_from_file_list(dev,
-                               dev->iamthif_cl.host_client_id);
+               mei_me_cl_unlink(dev, &dev->iamthif_cl);
 
                mei_amthif_reset_params(dev);
                dev->extra_write_index = 0;
@@ -520,17 +518,20 @@ int mei_me_cl_by_uuid(const struct mei_device *dev, const uuid_le *cuuid)
 
 
 /**
- * mei_me_cl_update_filext - searches for ME client guid
- *                       sets client_id in mei_file_private if found
+ * mei_me_cl_link - create link between host and me clinet and add
+ *   me_cl to the list
+ *
  * @dev: the device structure
- * @cl: private file structure to set client_id in
- * @cuuid: searched uuid of ME client
- * @client_id: id of host client to be set in file private structure
+ * @cl: link between me and host client assocated with opened file descriptor
+ * @cuuid: uuid of ME client
+ * @client_id: id of the host client
  *
- * returns ME client index
+ * returns ME client index if ME client
+ *     -EINVAL on incorrect values
+ *     -ENONET if client not found
  */
-int mei_me_cl_update_filext(struct mei_device *dev, struct mei_cl *cl,
-                               const uuid_le *cuuid, u8 host_cl_id)
+int mei_me_cl_link(struct mei_device *dev, struct mei_cl *cl,
+                       const uuid_le *cuuid, u8 host_cl_id)
 {
        int i;
 
@@ -550,6 +551,24 @@ int mei_me_cl_update_filext(struct mei_device *dev, struct mei_cl *cl,
 
        return -ENOENT;
 }
+/**
+ * mei_me_cl_unlink - remove me_cl from the list
+ *
+ * @dev: the device structure
+ * @host_client_id: host client id to be removed
+ */
+void mei_me_cl_unlink(struct mei_device *dev, struct mei_cl *cl)
+{
+       struct mei_cl *pos, *next;
+       list_for_each_entry_safe(pos, next, &dev->file_list, link) {
+               if (cl->host_client_id == pos->host_client_id) {
+                       dev_dbg(&dev->pdev->dev, "remove host client = %d, ME client = %d\n",
+                                       pos->host_client_id, pos->me_client_id);
+                       list_del_init(&pos->link);
+                       break;
+               }
+       }
+}
 
 /**
  * mei_alloc_file_private - allocates a private file structure and sets it up.
@@ -642,25 +661,3 @@ free:
        return rets;
 }
 
-/**
- * mei_remove_client_from_file_list -
- *     removes file private data from device file list
- *
- * @dev: the device structure
- * @host_client_id: host client id to be removed
- */
-void mei_remove_client_from_file_list(struct mei_device *dev,
-                                      u8 host_client_id)
-{
-       struct mei_cl *cl_pos = NULL;
-       struct mei_cl *cl_next = NULL;
-       list_for_each_entry_safe(cl_pos, cl_next, &dev->file_list, link) {
-               if (host_client_id == cl_pos->host_client_id) {
-                       dev_dbg(&dev->pdev->dev, "remove host client = %d, ME client = %d\n",
-                                       cl_pos->host_client_id,
-                                       cl_pos->me_client_id);
-                       list_del_init(&cl_pos->link);
-                       break;
-               }
-       }
-}
index cf1107658bc0216197d34848394566acd3cb4280..eb93a1b53b9b29e322badffd693a34fc80feb942 100644 (file)
@@ -171,8 +171,6 @@ int mei_ioctl_connect_client(struct file *file,
        struct mei_cl_cb *cb;
        struct mei_client *client;
        struct mei_cl *cl;
-       struct mei_cl *cl_pos = NULL;
-       struct mei_cl *cl_next = NULL;
        long timeout = mei_secs_to_jiffies(MEI_CL_CONNECT_TIMEOUT);
        int i;
        int err;
@@ -229,21 +227,9 @@ int mei_ioctl_connect_client(struct file *file,
                        goto end;
                }
                clear_bit(cl->host_client_id, dev->host_clients_map);
-               list_for_each_entry_safe(cl_pos, cl_next,
-                                        &dev->file_list, link) {
-                       if (mei_cl_cmp_id(cl, cl_pos)) {
-                               dev_dbg(&dev->pdev->dev,
-                                       "remove file private data node host"
-                                   " client = %d, ME client = %d.\n",
-                                   cl_pos->host_client_id,
-                                   cl_pos->me_client_id);
-                               list_del(&cl_pos->link);
-                       }
+               mei_me_cl_unlink(dev, cl);
 
-               }
-               dev_dbg(&dev->pdev->dev, "free file private data memory.\n");
                kfree(cl);
-
                cl = NULL;
                file->private_data = &dev->iamthif_cl;
 
index 2cc1ebb131ba40b5afd046adef536d237fbe4b29..251aafff54928c1d619fdd7a956b8779f005715b 100644 (file)
@@ -227,7 +227,7 @@ static int mei_release(struct inode *inode, struct file *file)
                clear_bit(cl->host_client_id, dev->host_clients_map);
                dev->open_handle_count--;
        }
-       mei_remove_client_from_file_list(dev, cl->host_client_id);
+       mei_me_cl_unlink(dev, cl);
 
        /* free read cb */
        cb = NULL;
@@ -913,8 +913,8 @@ static void __devexit mei_remove(struct pci_dev *pdev)
 
        /* remove entry if already in list */
        dev_dbg(&pdev->dev, "list del iamthif and wd file list.\n");
-       mei_remove_client_from_file_list(dev, dev->wd_cl.host_client_id);
-       mei_remove_client_from_file_list(dev, dev->iamthif_cl.host_client_id);
+       mei_me_cl_unlink(dev, &dev->wd_cl);
+       mei_me_cl_unlink(dev, &dev->iamthif_cl);
 
        dev->iamthif_current_cb = NULL;
        dev->me_clients_num = 0;
index dad85f3fe390d347a3578bd7a5a3fee1321739d8..aaee666577b4dfa05470b30122ab93bab8e8a4d3 100644 (file)
@@ -301,12 +301,12 @@ int mei_hw_init(struct mei_device *dev);
 int mei_task_initialize_clients(void *data);
 int mei_initialize_clients(struct mei_device *dev);
 int mei_disconnect_host_client(struct mei_device *dev, struct mei_cl *cl);
-void mei_remove_client_from_file_list(struct mei_device *dev, u8 host_client_id);
 void mei_allocate_me_clients_storage(struct mei_device *dev);
 
 
-int mei_me_cl_update_filext(struct mei_device *dev, struct mei_cl *cl,
+int mei_me_cl_link(struct mei_device *dev, struct mei_cl *cl,
                        const uuid_le *cguid, u8 host_client_id);
+void mei_me_cl_unlink(struct mei_device *dev, struct mei_cl *cl);
 int mei_me_cl_by_uuid(const struct mei_device *dev, const uuid_le *cuuid);
 int mei_me_cl_by_id(struct mei_device *dev, u8 client_id);
 
index 4fc2b3d4680aa082a664cde615ae0ce914fb99ea..636409f9667f397c7ea3ea972fda636cf171e81d 100644 (file)
@@ -62,6 +62,7 @@ static void mei_wd_set_start_timeout(struct mei_device *dev, u16 timeout)
  */
 int mei_wd_host_init(struct mei_device *dev)
 {
+       int id;
        mei_cl_init(&dev->wd_cl, dev);
 
        /* look for WD client and connect to it */
@@ -69,12 +70,11 @@ int mei_wd_host_init(struct mei_device *dev)
        dev->wd_timeout = MEI_WD_DEFAULT_TIMEOUT;
        dev->wd_state = MEI_WD_IDLE;
 
-       /* find ME WD client */
-       mei_me_cl_update_filext(dev, &dev->wd_cl,
+       /* Connect WD ME client to the host client */
+       id = mei_me_cl_link(dev, &dev->wd_cl,
                                &mei_wd_guid, MEI_WD_HOST_CLIENT_ID);
 
-       dev_dbg(&dev->pdev->dev, "wd: check client\n");
-       if (MEI_FILE_CONNECTING != dev->wd_cl.state) {
+       if (id < 0) {
                dev_info(&dev->pdev->dev, "wd: failed to find the client\n");
                return -ENOENT;
        }