edac_dev 922 drivers/edac/altera_edac.c edac_device_handle_ce(dci->edac_dev, 0, 0, dci->edac_dev_name); edac_dev 928 drivers/edac/altera_edac.c edac_device_handle_ue(dci->edac_dev, 0, 0, dci->edac_dev_name); edac_dev 1352 drivers/edac/altera_edac.c edac_device_handle_ce(dci->edac_dev, 0, 0, dci->edac_dev_name); edac_dev 1359 drivers/edac/altera_edac.c edac_device_handle_ue(dci->edac_dev, 0, 0, dci->edac_dev_name); edac_dev 1597 drivers/edac/altera_edac.c altdev->edac_dev = dci; edac_dev 1710 drivers/edac/altera_edac.c edac_device_handle_ce(ad->edac_dev, 0, 0, ad->edac_dev_name); edac_dev 1715 drivers/edac/altera_edac.c edac_device_handle_ue(ad->edac_dev, 0, 0, ad->edac_dev_name); edac_dev 1999 drivers/edac/altera_edac.c altdev->edac_dev = dci; edac_dev 382 drivers/edac/altera_edac.h struct edac_device_ctl_info *edac_dev; edac_dev 156 drivers/edac/amd8111_edac.c static void amd8111_pci_bridge_check(struct edac_pci_ctl_info *edac_dev) edac_dev 158 drivers/edac/amd8111_edac.c struct amd8111_pci_info *pci_info = edac_dev->pvt_info; edac_dev 175 drivers/edac/amd8111_edac.c edac_pci_handle_npe(edac_dev, edac_dev->ctl_name); edac_dev 189 drivers/edac/amd8111_edac.c edac_pci_handle_npe(edac_dev, edac_dev->ctl_name); edac_dev 203 drivers/edac/amd8111_edac.c edac_pci_handle_npe(edac_dev, edac_dev->ctl_name); edac_dev 224 drivers/edac/amd8111_edac.c edac_pci_handle_npe(edac_dev, edac_dev->ctl_name); edac_dev 276 drivers/edac/amd8111_edac.c static void amd8111_lpc_bridge_check(struct edac_device_ctl_info *edac_dev) edac_dev 278 drivers/edac/amd8111_edac.c struct amd8111_dev_info *dev_info = edac_dev->pvt_info; edac_dev 294 drivers/edac/amd8111_edac.c edac_device_handle_ue(edac_dev, 0, 0, edac_dev->ctl_name); edac_dev 306 drivers/edac/amd8111_edac.c edac_device_handle_ue(edac_dev, 0, 0, edac_dev 307 drivers/edac/amd8111_edac.c edac_dev->ctl_name); edac_dev 367 drivers/edac/amd8111_edac.c dev_info->edac_dev = edac_dev 371 drivers/edac/amd8111_edac.c if (!dev_info->edac_dev) { edac_dev 376 drivers/edac/amd8111_edac.c dev_info->edac_dev->pvt_info = dev_info; edac_dev 377 drivers/edac/amd8111_edac.c dev_info->edac_dev->dev = &dev_info->dev->dev; edac_dev 378 drivers/edac/amd8111_edac.c dev_info->edac_dev->mod_name = AMD8111_EDAC_MOD_STR; edac_dev 379 drivers/edac/amd8111_edac.c dev_info->edac_dev->ctl_name = dev_info->ctl_name; edac_dev 380 drivers/edac/amd8111_edac.c dev_info->edac_dev->dev_name = dev_name(&dev_info->dev->dev); edac_dev 383 drivers/edac/amd8111_edac.c dev_info->edac_dev->edac_check = dev_info->check; edac_dev 388 drivers/edac/amd8111_edac.c if (edac_device_add_device(dev_info->edac_dev) > 0) { edac_dev 402 drivers/edac/amd8111_edac.c edac_device_free_ctl_info(dev_info->edac_dev); edac_dev 420 drivers/edac/amd8111_edac.c if (dev_info->edac_dev) { edac_dev 421 drivers/edac/amd8111_edac.c edac_device_del_device(dev_info->edac_dev->dev); edac_dev 422 drivers/edac/amd8111_edac.c edac_device_free_ctl_info(dev_info->edac_dev); edac_dev 462 drivers/edac/amd8111_edac.c pci_info->edac_dev = edac_pci_alloc_ctl_info(0, pci_info->ctl_name); edac_dev 463 drivers/edac/amd8111_edac.c if (!pci_info->edac_dev) { edac_dev 468 drivers/edac/amd8111_edac.c pci_info->edac_dev->pvt_info = pci_info; edac_dev 469 drivers/edac/amd8111_edac.c pci_info->edac_dev->dev = &pci_info->dev->dev; edac_dev 470 drivers/edac/amd8111_edac.c pci_info->edac_dev->mod_name = AMD8111_EDAC_MOD_STR; edac_dev 471 drivers/edac/amd8111_edac.c pci_info->edac_dev->ctl_name = pci_info->ctl_name; edac_dev 472 drivers/edac/amd8111_edac.c pci_info->edac_dev->dev_name = dev_name(&pci_info->dev->dev); edac_dev 475 drivers/edac/amd8111_edac.c pci_info->edac_dev->edac_check = pci_info->check; edac_dev 480 drivers/edac/amd8111_edac.c if (edac_pci_add_device(pci_info->edac_dev, pci_info->edac_idx) > 0) { edac_dev 494 drivers/edac/amd8111_edac.c edac_pci_free_ctl_info(pci_info->edac_dev); edac_dev 512 drivers/edac/amd8111_edac.c if (pci_info->edac_dev) { edac_dev 513 drivers/edac/amd8111_edac.c edac_pci_del_device(pci_info->edac_dev->dev); edac_dev 514 drivers/edac/amd8111_edac.c edac_pci_free_ctl_info(pci_info->edac_dev); edac_dev 101 drivers/edac/amd8111_edac.h struct edac_device_ctl_info *edac_dev; edac_dev 104 drivers/edac/amd8111_edac.h void (*check)(struct edac_device_ctl_info *edac_dev); edac_dev 112 drivers/edac/amd8111_edac.h struct edac_pci_ctl_info *edac_dev; edac_dev 115 drivers/edac/amd8111_edac.h void (*check)(struct edac_pci_ctl_info *edac_dev); edac_dev 157 drivers/edac/amd8131_edac.c static void amd8131_pcix_check(struct edac_pci_ctl_info *edac_dev) edac_dev 159 drivers/edac/amd8131_edac.c struct amd8131_dev_info *dev_info = edac_dev->pvt_info; edac_dev 180 drivers/edac/amd8131_edac.c edac_pci_handle_npe(edac_dev, edac_dev->ctl_name); edac_dev 193 drivers/edac/amd8131_edac.c edac_pci_handle_npe(edac_dev, edac_dev->ctl_name); edac_dev 206 drivers/edac/amd8131_edac.c edac_pci_handle_npe(edac_dev, edac_dev->ctl_name); edac_dev 219 drivers/edac/amd8131_edac.c edac_pci_handle_npe(edac_dev, edac_dev->ctl_name); edac_dev 269 drivers/edac/amd8131_edac.c dev_info->edac_dev = edac_pci_alloc_ctl_info(0, dev_info->ctl_name); edac_dev 270 drivers/edac/amd8131_edac.c if (!dev_info->edac_dev) edac_dev 273 drivers/edac/amd8131_edac.c dev_info->edac_dev->pvt_info = dev_info; edac_dev 274 drivers/edac/amd8131_edac.c dev_info->edac_dev->dev = &dev_info->dev->dev; edac_dev 275 drivers/edac/amd8131_edac.c dev_info->edac_dev->mod_name = AMD8131_EDAC_MOD_STR; edac_dev 276 drivers/edac/amd8131_edac.c dev_info->edac_dev->ctl_name = dev_info->ctl_name; edac_dev 277 drivers/edac/amd8131_edac.c dev_info->edac_dev->dev_name = dev_name(&dev_info->dev->dev); edac_dev 280 drivers/edac/amd8131_edac.c dev_info->edac_dev->edac_check = amd8131_chipset.check; edac_dev 285 drivers/edac/amd8131_edac.c if (edac_pci_add_device(dev_info->edac_dev, dev_info->edac_idx) > 0) { edac_dev 288 drivers/edac/amd8131_edac.c edac_pci_free_ctl_info(dev_info->edac_dev); edac_dev 312 drivers/edac/amd8131_edac.c if (dev_info->edac_dev) { edac_dev 313 drivers/edac/amd8131_edac.c edac_pci_del_device(dev_info->edac_dev->dev); edac_dev 314 drivers/edac/amd8131_edac.c edac_pci_free_ctl_info(dev_info->edac_dev); edac_dev 85 drivers/edac/amd8131_edac.h struct edac_pci_ctl_info *edac_dev; edac_dev 103 drivers/edac/amd8131_edac.h void (*check)(struct edac_pci_ctl_info *edac_dev); edac_dev 277 drivers/edac/cpc925_edac.c struct edac_device_ctl_info *edac_dev; edac_dev 280 drivers/edac/cpc925_edac.c void (*check)(struct edac_device_ctl_info *edac_dev); edac_dev 653 drivers/edac/cpc925_edac.c static void cpc925_cpu_check(struct edac_device_ctl_info *edac_dev) edac_dev 655 drivers/edac/cpc925_edac.c struct cpc925_dev_info *dev_info = edac_dev->pvt_info; edac_dev 673 drivers/edac/cpc925_edac.c edac_device_handle_ue(edac_dev, 0, 0, edac_dev->ctl_name); edac_dev 700 drivers/edac/cpc925_edac.c static void cpc925_htlink_check(struct edac_device_ctl_info *edac_dev) edac_dev 702 drivers/edac/cpc925_edac.c struct cpc925_dev_info *dev_info = edac_dev->pvt_info; edac_dev 747 drivers/edac/cpc925_edac.c edac_device_handle_ce(edac_dev, 0, 0, edac_dev->ctl_name); edac_dev 798 drivers/edac/cpc925_edac.c dev_info->edac_dev = edac_dev 801 drivers/edac/cpc925_edac.c if (!dev_info->edac_dev) { edac_dev 806 drivers/edac/cpc925_edac.c dev_info->edac_dev->pvt_info = dev_info; edac_dev 807 drivers/edac/cpc925_edac.c dev_info->edac_dev->dev = &dev_info->pdev->dev; edac_dev 808 drivers/edac/cpc925_edac.c dev_info->edac_dev->ctl_name = dev_info->ctl_name; edac_dev 809 drivers/edac/cpc925_edac.c dev_info->edac_dev->mod_name = CPC925_EDAC_MOD_STR; edac_dev 810 drivers/edac/cpc925_edac.c dev_info->edac_dev->dev_name = dev_name(&dev_info->pdev->dev); edac_dev 813 drivers/edac/cpc925_edac.c dev_info->edac_dev->edac_check = dev_info->check; edac_dev 818 drivers/edac/cpc925_edac.c if (edac_device_add_device(dev_info->edac_dev) > 0) { edac_dev 833 drivers/edac/cpc925_edac.c edac_device_free_ctl_info(dev_info->edac_dev); edac_dev 848 drivers/edac/cpc925_edac.c if (dev_info->edac_dev) { edac_dev 849 drivers/edac/cpc925_edac.c edac_device_del_device(dev_info->edac_dev->dev); edac_dev 850 drivers/edac/cpc925_edac.c edac_device_free_ctl_info(dev_info->edac_dev); edac_dev 38 drivers/edac/edac_device.c static void edac_device_dump_device(struct edac_device_ctl_info *edac_dev) edac_dev 41 drivers/edac/edac_device.c edac_dev, edac_dev->dev_idx); edac_dev 42 drivers/edac/edac_device.c edac_dbg(4, "\tedac_dev->edac_check = %p\n", edac_dev->edac_check); edac_dev 43 drivers/edac/edac_device.c edac_dbg(3, "\tdev = %p\n", edac_dev->dev); edac_dev 45 drivers/edac/edac_device.c edac_dev->mod_name, edac_dev->ctl_name); edac_dev 46 drivers/edac/edac_device.c edac_dbg(3, "\tpvt_info = %p\n\n", edac_dev->pvt_info); edac_dev 247 drivers/edac/edac_device.c struct edac_device_ctl_info *edac_dev; edac_dev 253 drivers/edac/edac_device.c edac_dev = list_entry(item, struct edac_device_ctl_info, link); edac_dev 255 drivers/edac/edac_device.c if (edac_dev->dev == dev) edac_dev 256 drivers/edac/edac_device.c return edac_dev; edac_dev 273 drivers/edac/edac_device.c static int add_edac_dev_to_global_list(struct edac_device_ctl_info *edac_dev) edac_dev 281 drivers/edac/edac_device.c rover = find_edac_device_by_dev(edac_dev->dev); edac_dev 289 drivers/edac/edac_device.c if (rover->dev_idx >= edac_dev->dev_idx) { edac_dev 290 drivers/edac/edac_device.c if (unlikely(rover->dev_idx == edac_dev->dev_idx)) edac_dev 298 drivers/edac/edac_device.c list_add_tail_rcu(&edac_dev->link, insert_before); edac_dev 346 drivers/edac/edac_device.c struct edac_device_ctl_info *edac_dev = to_edac_device_ctl_work(d_work); edac_dev 351 drivers/edac/edac_device.c if (edac_dev->op_state == OP_OFFLINE) { edac_dev 357 drivers/edac/edac_device.c if ((edac_dev->op_state == OP_RUNNING_POLL) && edac_dev 358 drivers/edac/edac_device.c (edac_dev->edac_check != NULL)) { edac_dev 359 drivers/edac/edac_device.c edac_dev->edac_check(edac_dev); edac_dev 369 drivers/edac/edac_device.c if (edac_dev->poll_msec == 1000) edac_dev 370 drivers/edac/edac_device.c edac_queue_work(&edac_dev->work, round_jiffies_relative(edac_dev->delay)); edac_dev 372 drivers/edac/edac_device.c edac_queue_work(&edac_dev->work, edac_dev->delay); edac_dev 380 drivers/edac/edac_device.c static void edac_device_workq_setup(struct edac_device_ctl_info *edac_dev, edac_dev 389 drivers/edac/edac_device.c edac_dev->poll_msec = msec; edac_dev 390 drivers/edac/edac_device.c edac_dev->delay = msecs_to_jiffies(msec); edac_dev 392 drivers/edac/edac_device.c INIT_DELAYED_WORK(&edac_dev->work, edac_device_workq_function); edac_dev 399 drivers/edac/edac_device.c if (edac_dev->poll_msec == 1000) edac_dev 400 drivers/edac/edac_device.c edac_queue_work(&edac_dev->work, round_jiffies_relative(edac_dev->delay)); edac_dev 402 drivers/edac/edac_device.c edac_queue_work(&edac_dev->work, edac_dev->delay); edac_dev 409 drivers/edac/edac_device.c static void edac_device_workq_teardown(struct edac_device_ctl_info *edac_dev) edac_dev 411 drivers/edac/edac_device.c if (!edac_dev->edac_check) edac_dev 414 drivers/edac/edac_device.c edac_dev->op_state = OP_OFFLINE; edac_dev 416 drivers/edac/edac_device.c edac_stop_work(&edac_dev->work); edac_dev 426 drivers/edac/edac_device.c void edac_device_reset_delay_period(struct edac_device_ctl_info *edac_dev, edac_dev 434 drivers/edac/edac_device.c edac_dev->poll_msec = value; edac_dev 435 drivers/edac/edac_device.c edac_dev->delay = jiffs; edac_dev 437 drivers/edac/edac_device.c edac_mod_work(&edac_dev->work, jiffs); edac_dev 448 drivers/edac/edac_device.c int edac_device_add_device(struct edac_device_ctl_info *edac_dev) edac_dev 454 drivers/edac/edac_device.c edac_device_dump_device(edac_dev); edac_dev 458 drivers/edac/edac_device.c if (add_edac_dev_to_global_list(edac_dev)) edac_dev 462 drivers/edac/edac_device.c edac_dev->start_time = jiffies; edac_dev 465 drivers/edac/edac_device.c if (edac_device_create_sysfs(edac_dev)) { edac_dev 466 drivers/edac/edac_device.c edac_device_printk(edac_dev, KERN_WARNING, edac_dev 472 drivers/edac/edac_device.c if (edac_dev->edac_check != NULL) { edac_dev 474 drivers/edac/edac_device.c edac_dev->op_state = OP_RUNNING_POLL; edac_dev 480 drivers/edac/edac_device.c edac_device_workq_setup(edac_dev, 1000); edac_dev 482 drivers/edac/edac_device.c edac_dev->op_state = OP_RUNNING_INTERRUPT; edac_dev 486 drivers/edac/edac_device.c edac_device_printk(edac_dev, KERN_INFO, edac_dev 488 drivers/edac/edac_device.c edac_dev->mod_name, edac_dev->ctl_name, edac_dev->dev_name, edac_dev 489 drivers/edac/edac_device.c edac_op_state_to_string(edac_dev->op_state)); edac_dev 496 drivers/edac/edac_device.c del_edac_device_from_global_list(edac_dev); edac_dev 506 drivers/edac/edac_device.c struct edac_device_ctl_info *edac_dev; edac_dev 513 drivers/edac/edac_device.c edac_dev = find_edac_device_by_dev(dev); edac_dev 514 drivers/edac/edac_device.c if (edac_dev == NULL) { edac_dev 520 drivers/edac/edac_device.c edac_dev->op_state = OP_OFFLINE; edac_dev 523 drivers/edac/edac_device.c del_edac_device_from_global_list(edac_dev); edac_dev 528 drivers/edac/edac_device.c edac_device_workq_teardown(edac_dev); edac_dev 531 drivers/edac/edac_device.c edac_device_remove_sysfs(edac_dev); edac_dev 535 drivers/edac/edac_device.c edac_dev->dev_idx, edac_dev 536 drivers/edac/edac_device.c edac_dev->mod_name, edac_dev->ctl_name, edac_dev_name(edac_dev)); edac_dev 538 drivers/edac/edac_device.c return edac_dev; edac_dev 542 drivers/edac/edac_device.c static inline int edac_device_get_log_ce(struct edac_device_ctl_info *edac_dev) edac_dev 544 drivers/edac/edac_device.c return edac_dev->log_ce; edac_dev 547 drivers/edac/edac_device.c static inline int edac_device_get_log_ue(struct edac_device_ctl_info *edac_dev) edac_dev 549 drivers/edac/edac_device.c return edac_dev->log_ue; edac_dev 553 drivers/edac/edac_device.c *edac_dev) edac_dev 555 drivers/edac/edac_device.c return edac_dev->panic_on_ue; edac_dev 558 drivers/edac/edac_device.c void edac_device_handle_ce(struct edac_device_ctl_info *edac_dev, edac_dev 564 drivers/edac/edac_device.c if ((inst_nr >= edac_dev->nr_instances) || (inst_nr < 0)) { edac_dev 565 drivers/edac/edac_device.c edac_device_printk(edac_dev, KERN_ERR, edac_dev 568 drivers/edac/edac_device.c edac_dev->nr_instances); edac_dev 572 drivers/edac/edac_device.c instance = edac_dev->instances + inst_nr; edac_dev 575 drivers/edac/edac_device.c edac_device_printk(edac_dev, KERN_ERR, edac_dev 590 drivers/edac/edac_device.c edac_dev->counters.ce_count++; edac_dev 592 drivers/edac/edac_device.c if (edac_device_get_log_ce(edac_dev)) edac_dev 593 drivers/edac/edac_device.c edac_device_printk(edac_dev, KERN_WARNING, edac_dev 595 drivers/edac/edac_device.c edac_dev->ctl_name, instance->name, edac_dev 600 drivers/edac/edac_device.c void edac_device_handle_ue(struct edac_device_ctl_info *edac_dev, edac_dev 606 drivers/edac/edac_device.c if ((inst_nr >= edac_dev->nr_instances) || (inst_nr < 0)) { edac_dev 607 drivers/edac/edac_device.c edac_device_printk(edac_dev, KERN_ERR, edac_dev 610 drivers/edac/edac_device.c edac_dev->nr_instances); edac_dev 614 drivers/edac/edac_device.c instance = edac_dev->instances + inst_nr; edac_dev 617 drivers/edac/edac_device.c edac_device_printk(edac_dev, KERN_ERR, edac_dev 632 drivers/edac/edac_device.c edac_dev->counters.ue_count++; edac_dev 634 drivers/edac/edac_device.c if (edac_device_get_log_ue(edac_dev)) edac_dev 635 drivers/edac/edac_device.c edac_device_printk(edac_dev, KERN_EMERG, edac_dev 637 drivers/edac/edac_device.c edac_dev->ctl_name, instance->name, edac_dev 640 drivers/edac/edac_device.c if (edac_device_get_panic_on_ue(edac_dev)) edac_dev 642 drivers/edac/edac_device.c edac_dev->ctl_name, instance->name, edac_dev 191 drivers/edac/edac_device.h void (*edac_check) (struct edac_device_ctl_info * edac_dev); edac_dev 271 drivers/edac/edac_device.h extern int edac_device_add_device(struct edac_device_ctl_info *edac_dev); edac_dev 297 drivers/edac/edac_device.h extern void edac_device_handle_ue(struct edac_device_ctl_info *edac_dev, edac_dev 308 drivers/edac/edac_device.h extern void edac_device_handle_ce(struct edac_device_ctl_info *edac_dev, edac_dev 120 drivers/edac/edac_device_sysfs.c struct edac_device_ctl_info *edac_dev = to_ctl_info(kobj); edac_dev 124 drivers/edac/edac_device_sysfs.c return ctl_info_attr->show(edac_dev, buffer); edac_dev 133 drivers/edac/edac_device_sysfs.c struct edac_device_ctl_info *edac_dev = to_ctl_info(kobj); edac_dev 137 drivers/edac/edac_device_sysfs.c return ctl_info_attr->store(edac_dev, buffer, count); edac_dev 203 drivers/edac/edac_device_sysfs.c struct edac_device_ctl_info *edac_dev = to_edacdev(kobj); edac_dev 205 drivers/edac/edac_device_sysfs.c edac_dbg(4, "control index=%d\n", edac_dev->dev_idx); edac_dev 208 drivers/edac/edac_device_sysfs.c module_put(edac_dev->owner); edac_dev 213 drivers/edac/edac_device_sysfs.c kfree(edac_dev); edac_dev 231 drivers/edac/edac_device_sysfs.c int edac_device_register_sysfs_main_kobj(struct edac_device_ctl_info *edac_dev) edac_dev 242 drivers/edac/edac_device_sysfs.c edac_dev->edac_subsys = edac_subsys; edac_dev 245 drivers/edac/edac_device_sysfs.c memset(&edac_dev->kobj, 0, sizeof(struct kobject)); edac_dev 250 drivers/edac/edac_device_sysfs.c edac_dev->owner = THIS_MODULE; edac_dev 252 drivers/edac/edac_device_sysfs.c if (!try_module_get(edac_dev->owner)) { edac_dev 258 drivers/edac/edac_device_sysfs.c err = kobject_init_and_add(&edac_dev->kobj, &ktype_device_ctrl, edac_dev 260 drivers/edac/edac_device_sysfs.c "%s", edac_dev->name); edac_dev 263 drivers/edac/edac_device_sysfs.c edac_dev->name); edac_dev 266 drivers/edac/edac_device_sysfs.c kobject_uevent(&edac_dev->kobj, KOBJ_ADD); edac_dev 272 drivers/edac/edac_device_sysfs.c edac_dbg(4, "Registered '.../edac/%s' kobject\n", edac_dev->name); edac_dev 278 drivers/edac/edac_device_sysfs.c module_put(edac_dev->owner); edac_dev 507 drivers/edac/edac_device_sysfs.c static int edac_device_create_block(struct edac_device_ctl_info *edac_dev, edac_dev 527 drivers/edac/edac_device_sysfs.c main_kobj = kobject_get(&edac_dev->kobj); edac_dev 577 drivers/edac/edac_device_sysfs.c static void edac_device_delete_block(struct edac_device_ctl_info *edac_dev, edac_dev 608 drivers/edac/edac_device_sysfs.c static int edac_device_create_instance(struct edac_device_ctl_info *edac_dev, edac_dev 616 drivers/edac/edac_device_sysfs.c instance = &edac_dev->instances[idx]; edac_dev 621 drivers/edac/edac_device_sysfs.c instance->ctl = edac_dev; edac_dev 626 drivers/edac/edac_device_sysfs.c main_kobj = kobject_get(&edac_dev->kobj); edac_dev 634 drivers/edac/edac_device_sysfs.c &edac_dev->kobj, "%s", instance->name); edac_dev 647 drivers/edac/edac_device_sysfs.c err = edac_device_create_block(edac_dev, instance, edac_dev 652 drivers/edac/edac_device_sysfs.c edac_device_delete_block(edac_dev, edac_dev 676 drivers/edac/edac_device_sysfs.c static void edac_device_delete_instance(struct edac_device_ctl_info *edac_dev, edac_dev 682 drivers/edac/edac_device_sysfs.c instance = &edac_dev->instances[idx]; edac_dev 686 drivers/edac/edac_device_sysfs.c edac_device_delete_block(edac_dev, &instance->blocks[i]); edac_dev 699 drivers/edac/edac_device_sysfs.c static int edac_device_create_instances(struct edac_device_ctl_info *edac_dev) edac_dev 707 drivers/edac/edac_device_sysfs.c for (i = 0; i < edac_dev->nr_instances; i++) { edac_dev 708 drivers/edac/edac_device_sysfs.c err = edac_device_create_instance(edac_dev, i); edac_dev 712 drivers/edac/edac_device_sysfs.c edac_device_delete_instance(edac_dev, j); edac_dev 724 drivers/edac/edac_device_sysfs.c static void edac_device_delete_instances(struct edac_device_ctl_info *edac_dev) edac_dev 729 drivers/edac/edac_device_sysfs.c for (i = 0; i < edac_dev->nr_instances; i++) edac_dev 730 drivers/edac/edac_device_sysfs.c edac_device_delete_instance(edac_dev, i); edac_dev 740 drivers/edac/edac_device_sysfs.c struct edac_device_ctl_info *edac_dev) edac_dev 745 drivers/edac/edac_device_sysfs.c sysfs_attrib = edac_dev->sysfs_attributes; edac_dev 751 drivers/edac/edac_device_sysfs.c err = sysfs_create_file(&edac_dev->kobj, edac_dev 769 drivers/edac/edac_device_sysfs.c struct edac_device_ctl_info *edac_dev) edac_dev 777 drivers/edac/edac_device_sysfs.c sysfs_attrib = edac_dev->sysfs_attributes; edac_dev 780 drivers/edac/edac_device_sysfs.c sysfs_remove_file(&edac_dev->kobj, edac_dev 801 drivers/edac/edac_device_sysfs.c int edac_device_create_sysfs(struct edac_device_ctl_info *edac_dev) edac_dev 804 drivers/edac/edac_device_sysfs.c struct kobject *edac_kobj = &edac_dev->kobj; edac_dev 806 drivers/edac/edac_device_sysfs.c edac_dbg(0, "idx=%d\n", edac_dev->dev_idx); edac_dev 809 drivers/edac/edac_device_sysfs.c err = edac_device_add_main_sysfs_attributes(edac_dev); edac_dev 819 drivers/edac/edac_device_sysfs.c &edac_dev->dev->kobj, EDAC_DEVICE_SYMLINK); edac_dev 829 drivers/edac/edac_device_sysfs.c err = edac_device_create_instances(edac_dev); edac_dev 837 drivers/edac/edac_device_sysfs.c edac_dbg(4, "create-instances done, idx=%d\n", edac_dev->dev_idx); edac_dev 844 drivers/edac/edac_device_sysfs.c sysfs_remove_link(&edac_dev->kobj, EDAC_DEVICE_SYMLINK); edac_dev 847 drivers/edac/edac_device_sysfs.c edac_device_remove_main_sysfs_attributes(edac_dev); edac_dev 858 drivers/edac/edac_device_sysfs.c void edac_device_remove_sysfs(struct edac_device_ctl_info *edac_dev) edac_dev 863 drivers/edac/edac_device_sysfs.c edac_device_remove_main_sysfs_attributes(edac_dev); edac_dev 866 drivers/edac/edac_device_sysfs.c sysfs_remove_link(&edac_dev->kobj, EDAC_DEVICE_SYMLINK); edac_dev 869 drivers/edac/edac_device_sysfs.c edac_device_delete_instances(edac_dev); edac_dev 46 drivers/edac/edac_module.h struct edac_device_ctl_info *edac_dev); edac_dev 48 drivers/edac/edac_module.h struct edac_device_ctl_info *edac_dev); edac_dev 49 drivers/edac/edac_module.h extern int edac_device_create_sysfs(struct edac_device_ctl_info *edac_dev); edac_dev 50 drivers/edac/edac_module.h extern void edac_device_remove_sysfs(struct edac_device_ctl_info *edac_dev); edac_dev 60 drivers/edac/edac_module.h *edac_dev, unsigned long value); edac_dev 63 drivers/edac/edac_pci.h void (*edac_check) (struct edac_pci_ctl_info * edac_dev); edac_dev 341 drivers/edac/mpc85xx_edac.c *edac_dev, char *data) edac_dev 343 drivers/edac/mpc85xx_edac.c struct mpc85xx_l2_pdata *pdata = edac_dev->pvt_info; edac_dev 349 drivers/edac/mpc85xx_edac.c *edac_dev, char *data) edac_dev 351 drivers/edac/mpc85xx_edac.c struct mpc85xx_l2_pdata *pdata = edac_dev->pvt_info; edac_dev 357 drivers/edac/mpc85xx_edac.c *edac_dev, char *data) edac_dev 359 drivers/edac/mpc85xx_edac.c struct mpc85xx_l2_pdata *pdata = edac_dev->pvt_info; edac_dev 365 drivers/edac/mpc85xx_edac.c *edac_dev, const char *data, edac_dev 368 drivers/edac/mpc85xx_edac.c struct mpc85xx_l2_pdata *pdata = edac_dev->pvt_info; edac_dev 378 drivers/edac/mpc85xx_edac.c *edac_dev, const char *data, edac_dev 381 drivers/edac/mpc85xx_edac.c struct mpc85xx_l2_pdata *pdata = edac_dev->pvt_info; edac_dev 391 drivers/edac/mpc85xx_edac.c *edac_dev, const char *data, edac_dev 394 drivers/edac/mpc85xx_edac.c struct mpc85xx_l2_pdata *pdata = edac_dev->pvt_info; edac_dev 433 drivers/edac/mpc85xx_edac.c *edac_dev) edac_dev 435 drivers/edac/mpc85xx_edac.c edac_dev->sysfs_attributes = mpc85xx_l2_sysfs_attributes; edac_dev 440 drivers/edac/mpc85xx_edac.c static void mpc85xx_l2_check(struct edac_device_ctl_info *edac_dev) edac_dev 442 drivers/edac/mpc85xx_edac.c struct mpc85xx_l2_pdata *pdata = edac_dev->pvt_info; edac_dev 467 drivers/edac/mpc85xx_edac.c edac_device_handle_ce(edac_dev, 0, 0, edac_dev->ctl_name); edac_dev 470 drivers/edac/mpc85xx_edac.c edac_device_handle_ue(edac_dev, 0, 0, edac_dev->ctl_name); edac_dev 475 drivers/edac/mpc85xx_edac.c struct edac_device_ctl_info *edac_dev = dev_id; edac_dev 476 drivers/edac/mpc85xx_edac.c struct mpc85xx_l2_pdata *pdata = edac_dev->pvt_info; edac_dev 484 drivers/edac/mpc85xx_edac.c mpc85xx_l2_check(edac_dev); edac_dev 491 drivers/edac/mpc85xx_edac.c struct edac_device_ctl_info *edac_dev; edac_dev 499 drivers/edac/mpc85xx_edac.c edac_dev = edac_device_alloc_ctl_info(sizeof(*pdata), edac_dev 502 drivers/edac/mpc85xx_edac.c if (!edac_dev) { edac_dev 507 drivers/edac/mpc85xx_edac.c pdata = edac_dev->pvt_info; edac_dev 509 drivers/edac/mpc85xx_edac.c edac_dev->dev = &op->dev; edac_dev 510 drivers/edac/mpc85xx_edac.c dev_set_drvdata(edac_dev->dev, edac_dev); edac_dev 511 drivers/edac/mpc85xx_edac.c edac_dev->ctl_name = pdata->name; edac_dev 512 drivers/edac/mpc85xx_edac.c edac_dev->dev_name = pdata->name; edac_dev 544 drivers/edac/mpc85xx_edac.c edac_dev->mod_name = EDAC_MOD_STR; edac_dev 547 drivers/edac/mpc85xx_edac.c edac_dev->edac_check = mpc85xx_l2_check; edac_dev 549 drivers/edac/mpc85xx_edac.c mpc85xx_set_l2_sysfs_attributes(edac_dev); edac_dev 553 drivers/edac/mpc85xx_edac.c if (edac_device_add_device(edac_dev) > 0) { edac_dev 562 drivers/edac/mpc85xx_edac.c "[EDAC] L2 err", edac_dev); edac_dev 573 drivers/edac/mpc85xx_edac.c edac_dev->op_state = OP_RUNNING_INTERRUPT; edac_dev 589 drivers/edac/mpc85xx_edac.c edac_device_free_ctl_info(edac_dev); edac_dev 595 drivers/edac/mpc85xx_edac.c struct edac_device_ctl_info *edac_dev = dev_get_drvdata(&op->dev); edac_dev 596 drivers/edac/mpc85xx_edac.c struct mpc85xx_l2_pdata *pdata = edac_dev->pvt_info; edac_dev 607 drivers/edac/mpc85xx_edac.c edac_device_free_ctl_info(edac_dev); edac_dev 231 drivers/edac/mv64x60_edac.c static void mv64x60_sram_check(struct edac_device_ctl_info *edac_dev) edac_dev 233 drivers/edac/mv64x60_edac.c struct mv64x60_sram_pdata *pdata = edac_dev->pvt_info; edac_dev 254 drivers/edac/mv64x60_edac.c edac_device_handle_ue(edac_dev, 0, 0, edac_dev->ctl_name); edac_dev 259 drivers/edac/mv64x60_edac.c struct edac_device_ctl_info *edac_dev = dev_id; edac_dev 260 drivers/edac/mv64x60_edac.c struct mv64x60_sram_pdata *pdata = edac_dev->pvt_info; edac_dev 267 drivers/edac/mv64x60_edac.c mv64x60_sram_check(edac_dev); edac_dev 274 drivers/edac/mv64x60_edac.c struct edac_device_ctl_info *edac_dev; edac_dev 282 drivers/edac/mv64x60_edac.c edac_dev = edac_device_alloc_ctl_info(sizeof(*pdata), edac_dev 285 drivers/edac/mv64x60_edac.c if (!edac_dev) { edac_dev 290 drivers/edac/mv64x60_edac.c pdata = edac_dev->pvt_info; edac_dev 292 drivers/edac/mv64x60_edac.c edac_dev->dev = &pdev->dev; edac_dev 293 drivers/edac/mv64x60_edac.c platform_set_drvdata(pdev, edac_dev); edac_dev 294 drivers/edac/mv64x60_edac.c edac_dev->dev_name = dev_name(&pdev->dev); edac_dev 327 drivers/edac/mv64x60_edac.c edac_dev->mod_name = EDAC_MOD_STR; edac_dev 328 drivers/edac/mv64x60_edac.c edac_dev->ctl_name = pdata->name; edac_dev 331 drivers/edac/mv64x60_edac.c edac_dev->edac_check = mv64x60_sram_check; edac_dev 335 drivers/edac/mv64x60_edac.c if (edac_device_add_device(edac_dev) > 0) { edac_dev 347 drivers/edac/mv64x60_edac.c edac_dev); edac_dev 371 drivers/edac/mv64x60_edac.c edac_device_free_ctl_info(edac_dev); edac_dev 377 drivers/edac/mv64x60_edac.c struct edac_device_ctl_info *edac_dev = platform_get_drvdata(pdev); edac_dev 382 drivers/edac/mv64x60_edac.c edac_device_free_ctl_info(edac_dev); edac_dev 396 drivers/edac/mv64x60_edac.c static void mv64x60_cpu_check(struct edac_device_ctl_info *edac_dev) edac_dev 398 drivers/edac/mv64x60_edac.c struct mv64x60_cpu_pdata *pdata = edac_dev->pvt_info; edac_dev 420 drivers/edac/mv64x60_edac.c edac_device_handle_ue(edac_dev, 0, 0, edac_dev->ctl_name); edac_dev 425 drivers/edac/mv64x60_edac.c struct edac_device_ctl_info *edac_dev = dev_id; edac_dev 426 drivers/edac/mv64x60_edac.c struct mv64x60_cpu_pdata *pdata = edac_dev->pvt_info; edac_dev 434 drivers/edac/mv64x60_edac.c mv64x60_cpu_check(edac_dev); edac_dev 441 drivers/edac/mv64x60_edac.c struct edac_device_ctl_info *edac_dev; edac_dev 449 drivers/edac/mv64x60_edac.c edac_dev = edac_device_alloc_ctl_info(sizeof(*pdata), edac_dev 452 drivers/edac/mv64x60_edac.c if (!edac_dev) { edac_dev 457 drivers/edac/mv64x60_edac.c pdata = edac_dev->pvt_info; edac_dev 459 drivers/edac/mv64x60_edac.c edac_dev->dev = &pdev->dev; edac_dev 460 drivers/edac/mv64x60_edac.c platform_set_drvdata(pdev, edac_dev); edac_dev 461 drivers/edac/mv64x60_edac.c edac_dev->dev_name = dev_name(&pdev->dev); edac_dev 522 drivers/edac/mv64x60_edac.c edac_dev->mod_name = EDAC_MOD_STR; edac_dev 523 drivers/edac/mv64x60_edac.c edac_dev->ctl_name = pdata->name; edac_dev 525 drivers/edac/mv64x60_edac.c edac_dev->edac_check = mv64x60_cpu_check; edac_dev 529 drivers/edac/mv64x60_edac.c if (edac_device_add_device(edac_dev) > 0) { edac_dev 541 drivers/edac/mv64x60_edac.c edac_dev); edac_dev 565 drivers/edac/mv64x60_edac.c edac_device_free_ctl_info(edac_dev); edac_dev 571 drivers/edac/mv64x60_edac.c struct edac_device_ctl_info *edac_dev = platform_get_drvdata(pdev); edac_dev 576 drivers/edac/mv64x60_edac.c edac_device_free_ctl_info(edac_dev); edac_dev 1056 drivers/edac/thunderx_edac.c struct edac_device_ctl_info *edac_dev; edac_dev 1131 drivers/edac/thunderx_edac.c ocx->edac_dev->ctl_name, ctx->reg_com_int); edac_dev 1154 drivers/edac/thunderx_edac.c edac_device_handle_ce(ocx->edac_dev, 0, 0, msg); edac_dev 1214 drivers/edac/thunderx_edac.c ocx->edac_dev->ctl_name, edac_dev 1223 drivers/edac/thunderx_edac.c edac_device_handle_ue(ocx->edac_dev, 0, 0, msg); edac_dev 1225 drivers/edac/thunderx_edac.c edac_device_handle_ce(ocx->edac_dev, 0, 0, msg); edac_dev 1346 drivers/edac/thunderx_edac.c struct edac_device_ctl_info *edac_dev; edac_dev 1367 drivers/edac/thunderx_edac.c edac_dev = edac_device_alloc_ctl_info(sizeof(struct thunderx_ocx), edac_dev 1370 drivers/edac/thunderx_edac.c if (!edac_dev) { edac_dev 1374 drivers/edac/thunderx_edac.c ocx = edac_dev->pvt_info; edac_dev 1375 drivers/edac/thunderx_edac.c ocx->edac_dev = edac_dev; edac_dev 1416 drivers/edac/thunderx_edac.c edac_dev->dev = &pdev->dev; edac_dev 1417 drivers/edac/thunderx_edac.c edac_dev->dev_name = dev_name(&pdev->dev); edac_dev 1418 drivers/edac/thunderx_edac.c edac_dev->mod_name = "thunderx-ocx"; edac_dev 1419 drivers/edac/thunderx_edac.c edac_dev->ctl_name = "thunderx-ocx"; edac_dev 1421 drivers/edac/thunderx_edac.c ret = edac_device_add_device(edac_dev); edac_dev 1440 drivers/edac/thunderx_edac.c pci_set_drvdata(pdev, edac_dev); edac_dev 1468 drivers/edac/thunderx_edac.c edac_device_free_ctl_info(edac_dev); edac_dev 1475 drivers/edac/thunderx_edac.c struct edac_device_ctl_info *edac_dev = pci_get_drvdata(pdev); edac_dev 1476 drivers/edac/thunderx_edac.c struct thunderx_ocx *ocx = edac_dev->pvt_info; edac_dev 1489 drivers/edac/thunderx_edac.c edac_device_free_ctl_info(edac_dev); edac_dev 1747 drivers/edac/thunderx_edac.c struct edac_device_ctl_info *edac_dev; edac_dev 1894 drivers/edac/thunderx_edac.c l2c->edac_dev->ctl_name, reg_int_name, ctx->reg_int, edac_dev 1902 drivers/edac/thunderx_edac.c edac_device_handle_ue(l2c->edac_dev, 0, 0, msg); edac_dev 1904 drivers/edac/thunderx_edac.c edac_device_handle_ce(l2c->edac_dev, 0, 0, msg); edac_dev 1949 drivers/edac/thunderx_edac.c struct edac_device_ctl_info *edac_dev; edac_dev 2006 drivers/edac/thunderx_edac.c edac_dev = edac_device_alloc_ctl_info(sizeof(struct thunderx_l2c), edac_dev 2009 drivers/edac/thunderx_edac.c if (!edac_dev) { edac_dev 2014 drivers/edac/thunderx_edac.c l2c = edac_dev->pvt_info; edac_dev 2015 drivers/edac/thunderx_edac.c l2c->edac_dev = edac_dev; edac_dev 2046 drivers/edac/thunderx_edac.c edac_dev->dev = &pdev->dev; edac_dev 2047 drivers/edac/thunderx_edac.c edac_dev->dev_name = dev_name(&pdev->dev); edac_dev 2048 drivers/edac/thunderx_edac.c edac_dev->mod_name = "thunderx-l2c"; edac_dev 2049 drivers/edac/thunderx_edac.c edac_dev->ctl_name = "thunderx-l2c"; edac_dev 2051 drivers/edac/thunderx_edac.c ret = edac_device_add_device(edac_dev); edac_dev 2069 drivers/edac/thunderx_edac.c pci_set_drvdata(pdev, edac_dev); edac_dev 2076 drivers/edac/thunderx_edac.c edac_device_free_ctl_info(edac_dev); edac_dev 2083 drivers/edac/thunderx_edac.c struct edac_device_ctl_info *edac_dev = pci_get_drvdata(pdev); edac_dev 2084 drivers/edac/thunderx_edac.c struct thunderx_l2c *l2c = edac_dev->pvt_info; edac_dev 2101 drivers/edac/thunderx_edac.c edac_device_free_ctl_info(edac_dev); edac_dev 513 drivers/edac/xgene_edac.c struct edac_device_ctl_info *edac_dev; edac_dev 519 drivers/edac/xgene_edac.c static void xgene_edac_pmd_l1_check(struct edac_device_ctl_info *edac_dev, edac_dev 522 drivers/edac/xgene_edac.c struct xgene_edac_pmd_ctx *ctx = edac_dev->pvt_info; edac_dev 531 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, edac_dev 538 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, "One or more correctable error\n"); edac_dev 540 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, "Multiple correctable error\n"); edac_dev 543 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, "L1 TLB multiple hit\n"); edac_dev 546 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, "Way select multiple hit\n"); edac_dev 549 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, "Physical tag parity error\n"); edac_dev 553 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, "L1 data parity error\n"); edac_dev 556 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, "L1 pre-decode parity error\n"); edac_dev 565 drivers/edac/xgene_edac.c edac_device_handle_ce(edac_dev, 0, 0, edac_dev->ctl_name); edac_dev 571 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, edac_dev 578 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, "One or more correctable error\n"); edac_dev 580 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, "Multiple correctable error\n"); edac_dev 583 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, "Load tag error\n"); edac_dev 586 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, "Load data error\n"); edac_dev 589 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, "WSL multihit error\n"); edac_dev 592 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, "Store tag error\n"); edac_dev 595 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, edac_dev 599 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, edac_dev 609 drivers/edac/xgene_edac.c edac_device_handle_ce(edac_dev, 0, 0, edac_dev->ctl_name); edac_dev 615 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, edac_dev 623 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, "One or more correctable error\n"); edac_dev 625 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, "Multiple correctable error\n"); edac_dev 628 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, "Stage 1 UTB hit error\n"); edac_dev 631 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, "Stage 1 UTB miss error\n"); edac_dev 634 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, "Stage 1 UTB allocate error\n"); edac_dev 637 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, "TMO operation single bank error\n"); edac_dev 640 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, "Stage 2 UTB error\n"); edac_dev 643 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, "Stage 2 UTB miss error\n"); edac_dev 646 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, "Stage 2 UTB allocate error\n"); edac_dev 649 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, "TMO operation multiple bank error\n"); edac_dev 656 drivers/edac/xgene_edac.c edac_device_handle_ce(edac_dev, 0, 0, edac_dev->ctl_name); edac_dev 659 drivers/edac/xgene_edac.c static void xgene_edac_pmd_l2_check(struct edac_device_ctl_info *edac_dev) edac_dev 661 drivers/edac/xgene_edac.c struct xgene_edac_pmd_ctx *ctx = edac_dev->pvt_info; edac_dev 675 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, edac_dev 678 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, edac_dev 687 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, "One or more correctable error\n"); edac_dev 689 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, "Multiple correctable error\n"); edac_dev 691 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, "One or more uncorrectable error\n"); edac_dev 693 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, "Multiple uncorrectable error\n"); edac_dev 697 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, "Outbound SDB parity error\n"); edac_dev 700 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, "Inbound SDB parity error\n"); edac_dev 703 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, "Tag ECC error\n"); edac_dev 706 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, "Data ECC error\n"); edac_dev 715 drivers/edac/xgene_edac.c edac_device_handle_ce(edac_dev, 0, 0, edac_dev->ctl_name); edac_dev 718 drivers/edac/xgene_edac.c edac_device_handle_ue(edac_dev, 0, 0, edac_dev->ctl_name); edac_dev 727 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, edac_dev 734 drivers/edac/xgene_edac.c static void xgene_edac_pmd_check(struct edac_device_ctl_info *edac_dev) edac_dev 736 drivers/edac/xgene_edac.c struct xgene_edac_pmd_ctx *ctx = edac_dev->pvt_info; edac_dev 746 drivers/edac/xgene_edac.c xgene_edac_pmd_l1_check(edac_dev, i); edac_dev 749 drivers/edac/xgene_edac.c xgene_edac_pmd_l2_check(edac_dev); edac_dev 752 drivers/edac/xgene_edac.c static void xgene_edac_pmd_cpu_hw_cfg(struct edac_device_ctl_info *edac_dev, edac_dev 755 drivers/edac/xgene_edac.c struct xgene_edac_pmd_ctx *ctx = edac_dev->pvt_info; edac_dev 768 drivers/edac/xgene_edac.c static void xgene_edac_pmd_hw_cfg(struct edac_device_ctl_info *edac_dev) edac_dev 770 drivers/edac/xgene_edac.c struct xgene_edac_pmd_ctx *ctx = edac_dev->pvt_info; edac_dev 781 drivers/edac/xgene_edac.c static void xgene_edac_pmd_hw_ctl(struct edac_device_ctl_info *edac_dev, edac_dev 784 drivers/edac/xgene_edac.c struct xgene_edac_pmd_ctx *ctx = edac_dev->pvt_info; edac_dev 788 drivers/edac/xgene_edac.c if (edac_dev->op_state == OP_RUNNING_INTERRUPT) { edac_dev 798 drivers/edac/xgene_edac.c xgene_edac_pmd_hw_cfg(edac_dev); edac_dev 802 drivers/edac/xgene_edac.c xgene_edac_pmd_cpu_hw_cfg(edac_dev, i); edac_dev 810 drivers/edac/xgene_edac.c struct edac_device_ctl_info *edac_dev = file->private_data; edac_dev 811 drivers/edac/xgene_edac.c struct xgene_edac_pmd_ctx *ctx = edac_dev->pvt_info; edac_dev 836 drivers/edac/xgene_edac.c struct edac_device_ctl_info *edac_dev = file->private_data; edac_dev 837 drivers/edac/xgene_edac.c struct xgene_edac_pmd_ctx *ctx = edac_dev->pvt_info; edac_dev 861 drivers/edac/xgene_edac.c xgene_edac_pmd_create_debugfs_nodes(struct edac_device_ctl_info *edac_dev) edac_dev 863 drivers/edac/xgene_edac.c struct xgene_edac_pmd_ctx *ctx = edac_dev->pvt_info; edac_dev 875 drivers/edac/xgene_edac.c edac_debugfs_create_file("l1_inject_ctrl", S_IWUSR, dbgfs_dir, edac_dev, edac_dev 877 drivers/edac/xgene_edac.c edac_debugfs_create_file("l2_inject_ctrl", S_IWUSR, dbgfs_dir, edac_dev, edac_dev 889 drivers/edac/xgene_edac.c struct edac_device_ctl_info *edac_dev; edac_dev 915 drivers/edac/xgene_edac.c edac_dev = edac_device_alloc_ctl_info(sizeof(*ctx), edac_dev 918 drivers/edac/xgene_edac.c if (!edac_dev) { edac_dev 923 drivers/edac/xgene_edac.c ctx = edac_dev->pvt_info; edac_dev 927 drivers/edac/xgene_edac.c ctx->edac_dev = edac_dev; edac_dev 930 drivers/edac/xgene_edac.c edac_dev->dev = &ctx->ddev; edac_dev 931 drivers/edac/xgene_edac.c edac_dev->ctl_name = ctx->name; edac_dev 932 drivers/edac/xgene_edac.c edac_dev->dev_name = ctx->name; edac_dev 933 drivers/edac/xgene_edac.c edac_dev->mod_name = EDAC_MOD_STR; edac_dev 949 drivers/edac/xgene_edac.c edac_dev->edac_check = xgene_edac_pmd_check; edac_dev 951 drivers/edac/xgene_edac.c xgene_edac_pmd_create_debugfs_nodes(edac_dev); edac_dev 953 drivers/edac/xgene_edac.c rc = edac_device_add_device(edac_dev); edac_dev 961 drivers/edac/xgene_edac.c edac_dev->op_state = OP_RUNNING_INTERRUPT; edac_dev 965 drivers/edac/xgene_edac.c xgene_edac_pmd_hw_ctl(edac_dev, 1); edac_dev 973 drivers/edac/xgene_edac.c edac_device_free_ctl_info(edac_dev); edac_dev 981 drivers/edac/xgene_edac.c struct edac_device_ctl_info *edac_dev = pmd->edac_dev; edac_dev 983 drivers/edac/xgene_edac.c xgene_edac_pmd_hw_ctl(edac_dev, 0); edac_dev 984 drivers/edac/xgene_edac.c edac_device_del_device(edac_dev->dev); edac_dev 985 drivers/edac/xgene_edac.c edac_device_free_ctl_info(edac_dev); edac_dev 1021 drivers/edac/xgene_edac.c struct edac_device_ctl_info *edac_dev; edac_dev 1053 drivers/edac/xgene_edac.c static void xgene_edac_l3_check(struct edac_device_ctl_info *edac_dev) edac_dev 1055 drivers/edac/xgene_edac.c struct xgene_edac_dev_ctx *ctx = edac_dev->pvt_info; edac_dev 1066 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, "L3C uncorrectable error\n"); edac_dev 1068 drivers/edac/xgene_edac.c dev_warn(edac_dev->dev, "L3C correctable error\n"); edac_dev 1074 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, "L3C multiple hit error\n"); edac_dev 1076 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, edac_dev 1079 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, "L3C multiple uncorrectable error\n"); edac_dev 1081 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, edac_dev 1085 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, edac_dev 1093 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, "L3C error address 0x%08X.%08X bank %d\n", edac_dev 1096 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, edac_dev 1104 drivers/edac/xgene_edac.c edac_device_handle_ue(edac_dev, 0, 0, edac_dev->ctl_name); edac_dev 1108 drivers/edac/xgene_edac.c edac_device_handle_ce(edac_dev, 0, 0, edac_dev->ctl_name); edac_dev 1110 drivers/edac/xgene_edac.c edac_device_handle_ue(edac_dev, 0, 0, edac_dev->ctl_name); edac_dev 1113 drivers/edac/xgene_edac.c static void xgene_edac_l3_hw_init(struct edac_device_ctl_info *edac_dev, edac_dev 1116 drivers/edac/xgene_edac.c struct xgene_edac_dev_ctx *ctx = edac_dev->pvt_info; edac_dev 1122 drivers/edac/xgene_edac.c if (edac_dev->op_state == OP_RUNNING_INTERRUPT) { edac_dev 1130 drivers/edac/xgene_edac.c if (edac_dev->op_state == OP_RUNNING_INTERRUPT) { edac_dev 1150 drivers/edac/xgene_edac.c struct edac_device_ctl_info *edac_dev = file->private_data; edac_dev 1151 drivers/edac/xgene_edac.c struct xgene_edac_dev_ctx *ctx = edac_dev->pvt_info; edac_dev 1165 drivers/edac/xgene_edac.c xgene_edac_l3_create_debugfs_nodes(struct edac_device_ctl_info *edac_dev) edac_dev 1167 drivers/edac/xgene_edac.c struct xgene_edac_dev_ctx *ctx = edac_dev->pvt_info; edac_dev 1179 drivers/edac/xgene_edac.c debugfs_create_file("l3_inject_ctrl", S_IWUSR, dbgfs_dir, edac_dev, edac_dev 1186 drivers/edac/xgene_edac.c struct edac_device_ctl_info *edac_dev; edac_dev 1210 drivers/edac/xgene_edac.c edac_dev = edac_device_alloc_ctl_info(sizeof(*ctx), edac_dev 1213 drivers/edac/xgene_edac.c if (!edac_dev) { edac_dev 1218 drivers/edac/xgene_edac.c ctx = edac_dev->pvt_info; edac_dev 1223 drivers/edac/xgene_edac.c ctx->edac_dev = edac_dev; edac_dev 1226 drivers/edac/xgene_edac.c edac_dev->dev = &ctx->ddev; edac_dev 1227 drivers/edac/xgene_edac.c edac_dev->ctl_name = ctx->name; edac_dev 1228 drivers/edac/xgene_edac.c edac_dev->dev_name = ctx->name; edac_dev 1229 drivers/edac/xgene_edac.c edac_dev->mod_name = EDAC_MOD_STR; edac_dev 1232 drivers/edac/xgene_edac.c edac_dev->edac_check = xgene_edac_l3_check; edac_dev 1234 drivers/edac/xgene_edac.c xgene_edac_l3_create_debugfs_nodes(edac_dev); edac_dev 1236 drivers/edac/xgene_edac.c rc = edac_device_add_device(edac_dev); edac_dev 1244 drivers/edac/xgene_edac.c edac_dev->op_state = OP_RUNNING_INTERRUPT; edac_dev 1248 drivers/edac/xgene_edac.c xgene_edac_l3_hw_init(edac_dev, 1); edac_dev 1256 drivers/edac/xgene_edac.c edac_device_free_ctl_info(edac_dev); edac_dev 1264 drivers/edac/xgene_edac.c struct edac_device_ctl_info *edac_dev = l3->edac_dev; edac_dev 1266 drivers/edac/xgene_edac.c xgene_edac_l3_hw_init(edac_dev, 0); edac_dev 1268 drivers/edac/xgene_edac.c edac_device_free_ctl_info(edac_dev); edac_dev 1389 drivers/edac/xgene_edac.c static void xgene_edac_iob_gic_report(struct edac_device_ctl_info *edac_dev) edac_dev 1391 drivers/edac/xgene_edac.c struct xgene_edac_dev_ctx *ctx = edac_dev->pvt_info; edac_dev 1401 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, "XGIC transaction error\n"); edac_dev 1403 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, "XGIC read size error\n"); edac_dev 1405 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, "Multiple XGIC read size error\n"); edac_dev 1407 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, "XGIC write size error\n"); edac_dev 1409 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, "Multiple XGIC write size error\n"); edac_dev 1411 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, "XGIC %s access @ 0x%08X (0x%08X)\n", edac_dev 1424 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, edac_dev 1433 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, edac_dev 1440 drivers/edac/xgene_edac.c edac_device_handle_ce(edac_dev, 0, 0, edac_dev->ctl_name); edac_dev 1445 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, edac_dev 1454 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, edac_dev 1461 drivers/edac/xgene_edac.c edac_device_handle_ue(edac_dev, 0, 0, edac_dev->ctl_name); edac_dev 1464 drivers/edac/xgene_edac.c static void xgene_edac_rb_report(struct edac_device_ctl_info *edac_dev) edac_dev 1466 drivers/edac/xgene_edac.c struct xgene_edac_dev_ctx *ctx = edac_dev->pvt_info; edac_dev 1488 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, "IOB bus access error(s)\n"); edac_dev 1494 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, edac_dev 1498 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, edac_dev 1502 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, edac_dev 1506 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, edac_dev 1521 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, "IOB bridge agent (BA) transaction error\n"); edac_dev 1523 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, "IOB BA write response error\n"); edac_dev 1525 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, edac_dev 1528 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, "IOB BA XGIC poisoned write error\n"); edac_dev 1530 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, edac_dev 1533 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, "IOB BA RBM poisoned write error\n"); edac_dev 1535 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, edac_dev 1538 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, "IOB BA write error\n"); edac_dev 1540 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, "Multiple IOB BA write error\n"); edac_dev 1542 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, "IOB BA transaction error\n"); edac_dev 1544 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, "Multiple IOB BA transaction error\n"); edac_dev 1546 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, edac_dev 1549 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, edac_dev 1552 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, edac_dev 1555 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, edac_dev 1558 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, edac_dev 1561 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, edac_dev 1566 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, "IOB BA %s access at 0x%02X.%08X (0x%08X)\n", edac_dev 1570 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, "IOB BA requestor ID 0x%08X\n", edac_dev 1575 drivers/edac/xgene_edac.c static void xgene_edac_pa_report(struct edac_device_ctl_info *edac_dev) edac_dev 1577 drivers/edac/xgene_edac.c struct xgene_edac_dev_ctx *ctx = edac_dev->pvt_info; edac_dev 1586 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, "IOB processing agent (PA) transaction error\n"); edac_dev 1588 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, "IOB PA read data RAM error\n"); edac_dev 1590 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, edac_dev 1593 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, "IOB PA write data RAM error\n"); edac_dev 1595 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, edac_dev 1598 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, "IOB PA transaction error\n"); edac_dev 1600 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, "Multiple IOB PA transaction error\n"); edac_dev 1602 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, "IOB PA transaction ID RAM error\n"); edac_dev 1604 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, edac_dev 1615 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, edac_dev 1629 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, edac_dev 1637 drivers/edac/xgene_edac.c static void xgene_edac_soc_check(struct edac_device_ctl_info *edac_dev) edac_dev 1639 drivers/edac/xgene_edac.c struct xgene_edac_dev_ctx *ctx = edac_dev->pvt_info; edac_dev 1655 drivers/edac/xgene_edac.c xgene_edac_iob_gic_report(edac_dev); edac_dev 1658 drivers/edac/xgene_edac.c xgene_edac_rb_report(edac_dev); edac_dev 1661 drivers/edac/xgene_edac.c xgene_edac_pa_report(edac_dev); edac_dev 1664 drivers/edac/xgene_edac.c dev_info(edac_dev->dev, edac_dev 1666 drivers/edac/xgene_edac.c edac_device_handle_ce(edac_dev, 0, 0, edac_dev->ctl_name); edac_dev 1674 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, "SoC memory parity error 0x%08X\n", edac_dev 1676 drivers/edac/xgene_edac.c edac_device_handle_ue(edac_dev, 0, 0, edac_dev->ctl_name); edac_dev 1681 drivers/edac/xgene_edac.c dev_err(edac_dev->dev, "%s memory parity error\n", edac_dev 1683 drivers/edac/xgene_edac.c edac_device_handle_ue(edac_dev, 0, 0, edac_dev 1684 drivers/edac/xgene_edac.c edac_dev->ctl_name); edac_dev 1689 drivers/edac/xgene_edac.c static void xgene_edac_soc_hw_init(struct edac_device_ctl_info *edac_dev, edac_dev 1692 drivers/edac/xgene_edac.c struct xgene_edac_dev_ctx *ctx = edac_dev->pvt_info; edac_dev 1695 drivers/edac/xgene_edac.c if (edac_dev->op_state == OP_RUNNING_INTERRUPT) { edac_dev 1729 drivers/edac/xgene_edac.c struct edac_device_ctl_info *edac_dev; edac_dev 1753 drivers/edac/xgene_edac.c edac_dev = edac_device_alloc_ctl_info(sizeof(*ctx), edac_dev 1756 drivers/edac/xgene_edac.c if (!edac_dev) { edac_dev 1761 drivers/edac/xgene_edac.c ctx = edac_dev->pvt_info; edac_dev 1766 drivers/edac/xgene_edac.c ctx->edac_dev = edac_dev; edac_dev 1769 drivers/edac/xgene_edac.c edac_dev->dev = &ctx->ddev; edac_dev 1770 drivers/edac/xgene_edac.c edac_dev->ctl_name = ctx->name; edac_dev 1771 drivers/edac/xgene_edac.c edac_dev->dev_name = ctx->name; edac_dev 1772 drivers/edac/xgene_edac.c edac_dev->mod_name = EDAC_MOD_STR; edac_dev 1775 drivers/edac/xgene_edac.c edac_dev->edac_check = xgene_edac_soc_check; edac_dev 1777 drivers/edac/xgene_edac.c rc = edac_device_add_device(edac_dev); edac_dev 1785 drivers/edac/xgene_edac.c edac_dev->op_state = OP_RUNNING_INTERRUPT; edac_dev 1789 drivers/edac/xgene_edac.c xgene_edac_soc_hw_init(edac_dev, 1); edac_dev 1798 drivers/edac/xgene_edac.c edac_device_free_ctl_info(edac_dev); edac_dev 1806 drivers/edac/xgene_edac.c struct edac_device_ctl_info *edac_dev = soc->edac_dev; edac_dev 1808 drivers/edac/xgene_edac.c xgene_edac_soc_hw_init(edac_dev, 0); edac_dev 1810 drivers/edac/xgene_edac.c edac_device_free_ctl_info(edac_dev); edac_dev 1835 drivers/edac/xgene_edac.c xgene_edac_pmd_check(pmd->edac_dev); edac_dev 1839 drivers/edac/xgene_edac.c xgene_edac_l3_check(node->edac_dev); edac_dev 1842 drivers/edac/xgene_edac.c xgene_edac_soc_check(node->edac_dev);