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);