Lines Matching refs:i7core_dev
240 struct i7core_dev { struct
255 struct i7core_dev *i7core_dev; argument
441 static struct i7core_dev *get_i7core_dev(u8 socket) in get_i7core_dev()
443 struct i7core_dev *i7core_dev; in get_i7core_dev() local
445 list_for_each_entry(i7core_dev, &i7core_edac_list, list) { in get_i7core_dev()
446 if (i7core_dev->socket == socket) in get_i7core_dev()
447 return i7core_dev; in get_i7core_dev()
453 static struct i7core_dev *alloc_i7core_dev(u8 socket, in alloc_i7core_dev()
456 struct i7core_dev *i7core_dev; in alloc_i7core_dev() local
458 i7core_dev = kzalloc_obj(*i7core_dev); in alloc_i7core_dev()
459 if (!i7core_dev) in alloc_i7core_dev()
462 i7core_dev->pdev = kzalloc_objs(*i7core_dev->pdev, table->n_devs); in alloc_i7core_dev()
463 if (!i7core_dev->pdev) { in alloc_i7core_dev()
464 kfree(i7core_dev); in alloc_i7core_dev()
468 i7core_dev->socket = socket; in alloc_i7core_dev()
469 i7core_dev->n_devs = table->n_devs; in alloc_i7core_dev()
470 list_add_tail(&i7core_dev->list, &i7core_edac_list); in alloc_i7core_dev()
472 return i7core_dev; in alloc_i7core_dev()
475 static void free_i7core_dev(struct i7core_dev *i7core_dev) in free_i7core_dev() argument
477 list_del(&i7core_dev->list); in free_i7core_dev()
478 kfree(i7core_dev->pdev); in free_i7core_dev()
479 kfree(i7core_dev); in free_i7core_dev()
507 pvt->i7core_dev->socket, pvt->info.mc_control, in get_dimm_config()
621 pvt->i7core_dev->socket, i, j); in get_dimm_config()
1154 ATTRIBUTE_GROUPS(i7core_dev);
1232 static void i7core_put_devices(struct i7core_dev *i7core_dev) in i7core_put_devices() argument
1237 for (i = 0; i < i7core_dev->n_devs; i++) { in i7core_put_devices()
1238 struct pci_dev *pdev = i7core_dev->pdev[i]; in i7core_put_devices()
1250 struct i7core_dev *i7core_dev, *tmp; in i7core_put_all_devices() local
1252 list_for_each_entry_safe(i7core_dev, tmp, &i7core_edac_list, list) { in i7core_put_all_devices()
1253 i7core_put_devices(i7core_dev); in i7core_put_all_devices()
1254 free_i7core_dev(i7core_dev); in i7core_put_all_devices()
1307 struct i7core_dev *i7core_dev; in i7core_get_onedevice() local
1360 i7core_dev = get_i7core_dev(socket); in i7core_get_onedevice()
1361 if (!i7core_dev) { in i7core_get_onedevice()
1362 i7core_dev = alloc_i7core_dev(socket, table); in i7core_get_onedevice()
1363 if (!i7core_dev) { in i7core_get_onedevice()
1369 if (i7core_dev->pdev[devno]) { in i7core_get_onedevice()
1379 i7core_dev->pdev[devno] = pdev; in i7core_get_onedevice()
1451 struct i7core_dev *i7core_dev) in mci_bind_devs() argument
1460 for (i = 0; i < i7core_dev->n_devs; i++) { in mci_bind_devs()
1461 pdev = i7core_dev->pdev[i]; in mci_bind_devs()
1510 pdev, i7core_dev->socket); in mci_bind_devs()
1812 struct i7core_dev *i7_dev; in i7core_mce_check_error()
2076 &pvt->i7core_dev->pdev[0]->dev, in i7core_pci_ctl_create()
2090 pvt->i7core_dev->socket); in i7core_pci_ctl_release()
2094 static void i7core_unregister_mci(struct i7core_dev *i7core_dev) in i7core_unregister_mci() argument
2096 struct mem_ctl_info *mci = i7core_dev->mci; in i7core_unregister_mci()
2100 edac_dbg(0, "MC: dev = %p\n", &i7core_dev->pdev[0]->dev); in i7core_unregister_mci()
2108 edac_dbg(0, "MC: mci = %p, dev = %p\n", mci, &i7core_dev->pdev[0]->dev); in i7core_unregister_mci()
2124 i7core_dev->mci = NULL; in i7core_unregister_mci()
2127 static int i7core_register_mci(struct i7core_dev *i7core_dev) in i7core_register_mci() argument
2142 mci = edac_mc_alloc(i7core_dev->socket, ARRAY_SIZE(layers), layers, in i7core_register_mci()
2147 edac_dbg(0, "MC: mci = %p, dev = %p\n", mci, &i7core_dev->pdev[0]->dev); in i7core_register_mci()
2153 pvt->i7core_dev = i7core_dev; in i7core_register_mci()
2154 i7core_dev->mci = mci; in i7core_register_mci()
2166 mci->ctl_name = kasprintf(GFP_KERNEL, "i7 core #%d", i7core_dev->socket); in i7core_register_mci()
2172 mci->dev_name = pci_name(i7core_dev->pdev[0]); in i7core_register_mci()
2176 rc = mci_bind_devs(mci, i7core_dev); in i7core_register_mci()
2184 mci->pdev = &i7core_dev->pdev[0]->dev; in i7core_register_mci()
2228 i7core_dev->mci = NULL; in i7core_register_mci()
2243 struct i7core_dev *i7core_dev; in i7core_probe() local
2261 list_for_each_entry(i7core_dev, &i7core_edac_list, list) { in i7core_probe()
2263 rc = i7core_register_mci(i7core_dev); in i7core_probe()
2289 list_for_each_entry(i7core_dev, &i7core_edac_list, list) in i7core_probe()
2290 i7core_unregister_mci(i7core_dev); in i7core_probe()
2304 struct i7core_dev *i7core_dev; in i7core_remove() local
2323 list_for_each_entry(i7core_dev, &i7core_edac_list, list) in i7core_remove()
2324 i7core_unregister_mci(i7core_dev); in i7core_remove()