i7core_edac: Introduce alloc_i7core_dev
authorHidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>
Fri, 20 Aug 2010 07:24:44 +0000 (04:24 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Sun, 24 Oct 2010 13:20:38 +0000 (11:20 -0200)
It's nice to have a method for a single purpose.

Signed-off-by: Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/edac/i7core_edac.c

index 567ee18..c4fa112 100644 (file)
@@ -447,6 +447,29 @@ static struct i7core_dev *get_i7core_dev(u8 socket)
        return NULL;
 }
 
+static struct i7core_dev *alloc_i7core_dev(u8 socket,
+                                          const struct pci_id_table *table)
+{
+       struct i7core_dev *i7core_dev;
+
+       i7core_dev = kzalloc(sizeof(*i7core_dev), GFP_KERNEL);
+       if (!i7core_dev)
+               return NULL;
+
+       i7core_dev->pdev = kzalloc(sizeof(*i7core_dev->pdev) * table->n_devs,
+                                  GFP_KERNEL);
+       if (!i7core_dev->pdev) {
+               kfree(i7core_dev);
+               return NULL;
+       }
+
+       i7core_dev->socket = socket;
+       i7core_dev->n_devs = table->n_devs;
+       list_add_tail(&i7core_dev->list, &i7core_edac_list);
+
+       return i7core_dev;
+}
+
 /****************************************************************************
                        Memory check routines
  ****************************************************************************/
@@ -1355,18 +1378,9 @@ static int i7core_get_onedevice(struct pci_dev **prev,
 
        i7core_dev = get_i7core_dev(socket);
        if (!i7core_dev) {
-               i7core_dev = kzalloc(sizeof(*i7core_dev), GFP_KERNEL);
+               i7core_dev = alloc_i7core_dev(socket, table);
                if (!i7core_dev)
                        return -ENOMEM;
-               i7core_dev->pdev = kzalloc(sizeof(*i7core_dev->pdev)
-                                               * table->n_devs, GFP_KERNEL);
-               if (!i7core_dev->pdev) {
-                       kfree(i7core_dev);
-                       return -ENOMEM;
-               }
-               i7core_dev->socket = socket;
-               i7core_dev->n_devs = table->n_devs;
-               list_add_tail(&i7core_dev->list, &i7core_edac_list);
        }
 
        if (i7core_dev->pdev[devno]) {