sbridge_dev 383 drivers/edac/sb_edac.c struct sbridge_dev *sbridge_dev; sbridge_dev 732 drivers/edac/sb_edac.c static struct sbridge_dev *get_sbridge_dev(int seg, u8 bus, enum domain dom, sbridge_dev 734 drivers/edac/sb_edac.c struct sbridge_dev *prev) sbridge_dev 736 drivers/edac/sb_edac.c struct sbridge_dev *sbridge_dev; sbridge_dev 744 drivers/edac/sb_edac.c struct sbridge_dev, list); sbridge_dev 747 drivers/edac/sb_edac.c sbridge_dev = list_entry(prev ? prev->list.next sbridge_dev 748 drivers/edac/sb_edac.c : sbridge_edac_list.next, struct sbridge_dev, list); sbridge_dev 750 drivers/edac/sb_edac.c list_for_each_entry_from(sbridge_dev, &sbridge_edac_list, list) { sbridge_dev 751 drivers/edac/sb_edac.c if ((sbridge_dev->seg == seg) && (sbridge_dev->bus == bus) && sbridge_dev 752 drivers/edac/sb_edac.c (dom == SOCK || dom == sbridge_dev->dom)) sbridge_dev 753 drivers/edac/sb_edac.c return sbridge_dev; sbridge_dev 759 drivers/edac/sb_edac.c static struct sbridge_dev *alloc_sbridge_dev(int seg, u8 bus, enum domain dom, sbridge_dev 762 drivers/edac/sb_edac.c struct sbridge_dev *sbridge_dev; sbridge_dev 764 drivers/edac/sb_edac.c sbridge_dev = kzalloc(sizeof(*sbridge_dev), GFP_KERNEL); sbridge_dev 765 drivers/edac/sb_edac.c if (!sbridge_dev) sbridge_dev 768 drivers/edac/sb_edac.c sbridge_dev->pdev = kcalloc(table->n_devs_per_imc, sbridge_dev 769 drivers/edac/sb_edac.c sizeof(*sbridge_dev->pdev), sbridge_dev 771 drivers/edac/sb_edac.c if (!sbridge_dev->pdev) { sbridge_dev 772 drivers/edac/sb_edac.c kfree(sbridge_dev); sbridge_dev 776 drivers/edac/sb_edac.c sbridge_dev->seg = seg; sbridge_dev 777 drivers/edac/sb_edac.c sbridge_dev->bus = bus; sbridge_dev 778 drivers/edac/sb_edac.c sbridge_dev->dom = dom; sbridge_dev 779 drivers/edac/sb_edac.c sbridge_dev->n_devs = table->n_devs_per_imc; sbridge_dev 780 drivers/edac/sb_edac.c list_add_tail(&sbridge_dev->list, &sbridge_edac_list); sbridge_dev 782 drivers/edac/sb_edac.c return sbridge_dev; sbridge_dev 785 drivers/edac/sb_edac.c static void free_sbridge_dev(struct sbridge_dev *sbridge_dev) sbridge_dev 787 drivers/edac/sb_edac.c list_del(&sbridge_dev->list); sbridge_dev 788 drivers/edac/sb_edac.c kfree(sbridge_dev->pdev); sbridge_dev 789 drivers/edac/sb_edac.c kfree(sbridge_dev); sbridge_dev 1577 drivers/edac/sb_edac.c pvt->sbridge_dev->source_id = SOURCE_ID_KNL(reg); sbridge_dev 1579 drivers/edac/sb_edac.c pvt->sbridge_dev->source_id = SOURCE_ID(reg); sbridge_dev 1635 drivers/edac/sb_edac.c pvt->sbridge_dev->source_id, sbridge_dev 1636 drivers/edac/sb_edac.c pvt->sbridge_dev->dom, i); sbridge_dev 1657 drivers/edac/sb_edac.c pvt->sbridge_dev->mc, pvt->sbridge_dev->dom, i, j, sbridge_dev 1668 drivers/edac/sb_edac.c pvt->sbridge_dev->source_id, pvt->sbridge_dev->dom, i, j); sbridge_dev 1683 drivers/edac/sb_edac.c pvt->sbridge_dev->node_id = pvt->info.get_node_id(pvt); sbridge_dev 1685 drivers/edac/sb_edac.c pvt->sbridge_dev->mc, sbridge_dev 1686 drivers/edac/sb_edac.c pvt->sbridge_dev->node_id, sbridge_dev 1687 drivers/edac/sb_edac.c pvt->sbridge_dev->source_id); sbridge_dev 1918 drivers/edac/sb_edac.c struct sbridge_dev *sbridge_dev; sbridge_dev 1920 drivers/edac/sb_edac.c list_for_each_entry(sbridge_dev, &sbridge_edac_list, list) { sbridge_dev 1921 drivers/edac/sb_edac.c if (sbridge_dev->node_id == node_id && sbridge_dev->dom == ha) sbridge_dev 1922 drivers/edac/sb_edac.c return sbridge_dev->mci; sbridge_dev 2006 drivers/edac/sb_edac.c pvt->sbridge_dev->mc, sbridge_dev 2303 drivers/edac/sb_edac.c static void sbridge_put_devices(struct sbridge_dev *sbridge_dev) sbridge_dev 2308 drivers/edac/sb_edac.c for (i = 0; i < sbridge_dev->n_devs; i++) { sbridge_dev 2309 drivers/edac/sb_edac.c struct pci_dev *pdev = sbridge_dev->pdev[i]; sbridge_dev 2321 drivers/edac/sb_edac.c struct sbridge_dev *sbridge_dev, *tmp; sbridge_dev 2323 drivers/edac/sb_edac.c list_for_each_entry_safe(sbridge_dev, tmp, &sbridge_edac_list, list) { sbridge_dev 2324 drivers/edac/sb_edac.c sbridge_put_devices(sbridge_dev); sbridge_dev 2325 drivers/edac/sb_edac.c free_sbridge_dev(sbridge_dev); sbridge_dev 2335 drivers/edac/sb_edac.c struct sbridge_dev *sbridge_dev = NULL; sbridge_dev 2373 drivers/edac/sb_edac.c sbridge_dev = get_sbridge_dev(seg, bus, dev_descr->dom, sbridge_dev 2374 drivers/edac/sb_edac.c multi_bus, sbridge_dev); sbridge_dev 2375 drivers/edac/sb_edac.c if (!sbridge_dev) { sbridge_dev 2387 drivers/edac/sb_edac.c sbridge_dev = alloc_sbridge_dev(seg, bus, dev_descr->dom, table); sbridge_dev 2388 drivers/edac/sb_edac.c if (!sbridge_dev) { sbridge_dev 2395 drivers/edac/sb_edac.c if (sbridge_dev->pdev[sbridge_dev->i_devs]) { sbridge_dev 2403 drivers/edac/sb_edac.c sbridge_dev->pdev[sbridge_dev->i_devs++] = pdev; sbridge_dev 2489 drivers/edac/sb_edac.c struct sbridge_dev *sbridge_dev) sbridge_dev 2496 drivers/edac/sb_edac.c for (i = 0; i < sbridge_dev->n_devs; i++) { sbridge_dev 2497 drivers/edac/sb_edac.c pdev = sbridge_dev->pdev[i]; sbridge_dev 2539 drivers/edac/sb_edac.c sbridge_dev->bus, sbridge_dev 2563 drivers/edac/sb_edac.c struct sbridge_dev *sbridge_dev) sbridge_dev 2570 drivers/edac/sb_edac.c for (i = 0; i < sbridge_dev->n_devs; i++) { sbridge_dev 2571 drivers/edac/sb_edac.c pdev = sbridge_dev->pdev[i]; sbridge_dev 2622 drivers/edac/sb_edac.c sbridge_dev->bus, sbridge_dev 2649 drivers/edac/sb_edac.c struct sbridge_dev *sbridge_dev) sbridge_dev 2663 drivers/edac/sb_edac.c for (i = 0; i < sbridge_dev->n_devs; i++) { sbridge_dev 2664 drivers/edac/sb_edac.c pdev = sbridge_dev->pdev[i]; sbridge_dev 2713 drivers/edac/sb_edac.c sbridge_dev->bus, sbridge_dev 2734 drivers/edac/sb_edac.c struct sbridge_dev *sbridge_dev) sbridge_dev 2748 drivers/edac/sb_edac.c for (i = 0; i < sbridge_dev->n_devs; i++) { sbridge_dev 2749 drivers/edac/sb_edac.c pdev = sbridge_dev->pdev[i]; sbridge_dev 2794 drivers/edac/sb_edac.c sbridge_dev->bus, sbridge_dev 2815 drivers/edac/sb_edac.c struct sbridge_dev *sbridge_dev) sbridge_dev 2824 drivers/edac/sb_edac.c for (i = 0; i < sbridge_dev->n_devs; i++) { sbridge_dev 2825 drivers/edac/sb_edac.c pdev = sbridge_dev->pdev[i]; sbridge_dev 3200 drivers/edac/sb_edac.c static void sbridge_unregister_mci(struct sbridge_dev *sbridge_dev) sbridge_dev 3202 drivers/edac/sb_edac.c struct mem_ctl_info *mci = sbridge_dev->mci; sbridge_dev 3206 drivers/edac/sb_edac.c edac_dbg(0, "MC: dev = %p\n", &sbridge_dev->pdev[0]->dev); sbridge_dev 3215 drivers/edac/sb_edac.c mci, &sbridge_dev->pdev[0]->dev); sbridge_dev 3223 drivers/edac/sb_edac.c sbridge_dev->mci = NULL; sbridge_dev 3226 drivers/edac/sb_edac.c static int sbridge_register_mci(struct sbridge_dev *sbridge_dev, enum type type) sbridge_dev 3231 drivers/edac/sb_edac.c struct pci_dev *pdev = sbridge_dev->pdev[0]; sbridge_dev 3242 drivers/edac/sb_edac.c mci = edac_mc_alloc(sbridge_dev->mc, ARRAY_SIZE(layers), layers, sbridge_dev 3255 drivers/edac/sb_edac.c pvt->sbridge_dev = sbridge_dev; sbridge_dev 3256 drivers/edac/sb_edac.c sbridge_dev->mci = mci; sbridge_dev 3286 drivers/edac/sb_edac.c rc = ibridge_mci_bind_devs(mci, sbridge_dev); sbridge_dev 3291 drivers/edac/sb_edac.c pvt->sbridge_dev->source_id, pvt->sbridge_dev->dom); sbridge_dev 3311 drivers/edac/sb_edac.c rc = sbridge_mci_bind_devs(mci, sbridge_dev); sbridge_dev 3316 drivers/edac/sb_edac.c pvt->sbridge_dev->source_id, pvt->sbridge_dev->dom); sbridge_dev 3336 drivers/edac/sb_edac.c rc = haswell_mci_bind_devs(mci, sbridge_dev); sbridge_dev 3341 drivers/edac/sb_edac.c pvt->sbridge_dev->source_id, pvt->sbridge_dev->dom); sbridge_dev 3361 drivers/edac/sb_edac.c rc = broadwell_mci_bind_devs(mci, sbridge_dev); sbridge_dev 3366 drivers/edac/sb_edac.c pvt->sbridge_dev->source_id, pvt->sbridge_dev->dom); sbridge_dev 3385 drivers/edac/sb_edac.c rc = knl_mci_bind_devs(mci, sbridge_dev); sbridge_dev 3390 drivers/edac/sb_edac.c pvt->sbridge_dev->source_id, pvt->sbridge_dev->dom); sbridge_dev 3423 drivers/edac/sb_edac.c sbridge_dev->mci = NULL; sbridge_dev 3451 drivers/edac/sb_edac.c struct sbridge_dev *sbridge_dev; sbridge_dev 3464 drivers/edac/sb_edac.c list_for_each_entry(sbridge_dev, &sbridge_edac_list, list) { sbridge_dev 3468 drivers/edac/sb_edac.c sbridge_dev->mc = mc++; sbridge_dev 3469 drivers/edac/sb_edac.c rc = sbridge_register_mci(sbridge_dev, ptable->type); sbridge_dev 3479 drivers/edac/sb_edac.c list_for_each_entry(sbridge_dev, &sbridge_edac_list, list) sbridge_dev 3480 drivers/edac/sb_edac.c sbridge_unregister_mci(sbridge_dev); sbridge_dev 3493 drivers/edac/sb_edac.c struct sbridge_dev *sbridge_dev; sbridge_dev 3497 drivers/edac/sb_edac.c list_for_each_entry(sbridge_dev, &sbridge_edac_list, list) sbridge_dev 3498 drivers/edac/sb_edac.c sbridge_unregister_mci(sbridge_dev);