edac 1349 drivers/edac/altera_edac.c regmap_write(dci->edac->ecc_mgr_map, edac 1356 drivers/edac/altera_edac.c regmap_write(dci->edac->ecc_mgr_map, edac 1658 drivers/edac/altera_edac.c list_add(&altdev->next, &altdev->edac->a10_ecc_devices); edac 1887 drivers/edac/altera_edac.c struct altr_arria10_edac *edac = irq_desc_get_handler_data(desc); edac 1892 drivers/edac/altera_edac.c dberr = (irq == edac->db_irq) ? 1 : 0; edac 1898 drivers/edac/altera_edac.c regmap_read(edac->ecc_mgr_map, sm_offset, &irq_status); edac 1902 drivers/edac/altera_edac.c irq = irq_linear_revmap(edac->domain, dberr * 32 + bit); edac 1944 drivers/edac/altera_edac.c static int altr_edac_a10_device_add(struct altr_arria10_edac *edac, edac 1968 drivers/edac/altera_edac.c if (!devres_open_group(edac->dev, altr_edac_a10_device_add, GFP_KERNEL)) edac 1995 drivers/edac/altera_edac.c dci->dev = edac->dev; edac 1998 drivers/edac/altera_edac.c altdev->edac = edac; edac 2001 drivers/edac/altera_edac.c altdev->ddev = *edac->dev; edac 2007 drivers/edac/altera_edac.c altdev->base = devm_ioremap_resource(edac->dev, &res); edac 2026 drivers/edac/altera_edac.c rc = devm_request_irq(edac->dev, altdev->sb_irq, prv->ecc_irq_handler, edac 2049 drivers/edac/altera_edac.c rc = devm_request_irq(edac->dev, altdev->db_irq, prv->ecc_irq_handler, edac 2060 drivers/edac/altera_edac.c dev_err(edac->dev, "edac_device_add_device failed\n"); edac 2067 drivers/edac/altera_edac.c list_add(&altdev->next, &edac->a10_ecc_devices); edac 2069 drivers/edac/altera_edac.c devres_remove_group(edac->dev, altr_edac_a10_device_add); edac 2076 drivers/edac/altera_edac.c devres_release_group(edac->dev, NULL); edac 2085 drivers/edac/altera_edac.c struct altr_arria10_edac *edac = irq_data_get_irq_chip_data(d); edac 2087 drivers/edac/altera_edac.c regmap_write(edac->ecc_mgr_map, A10_SYSMGR_ECC_INTMASK_SET_OFST, edac 2093 drivers/edac/altera_edac.c struct altr_arria10_edac *edac = irq_data_get_irq_chip_data(d); edac 2095 drivers/edac/altera_edac.c regmap_write(edac->ecc_mgr_map, A10_SYSMGR_ECC_INTMASK_CLR_OFST, edac 2102 drivers/edac/altera_edac.c struct altr_arria10_edac *edac = d->host_data; edac 2104 drivers/edac/altera_edac.c irq_set_chip_and_handler(irq, &edac->irq_chip, handle_simple_irq); edac 2105 drivers/edac/altera_edac.c irq_set_chip_data(irq, edac); edac 2130 drivers/edac/altera_edac.c struct altr_arria10_edac *edac = to_a10edac(this, panic_notifier); edac 2133 drivers/edac/altera_edac.c regmap_read(edac->ecc_mgr_map, S10_SYSMGR_ECC_INTSTAT_DERR_OFST, edac 2135 drivers/edac/altera_edac.c regmap_write(edac->ecc_mgr_map, S10_SYSMGR_UE_VAL_OFST, dberror); edac 2142 drivers/edac/altera_edac.c list_for_each(position, &edac->a10_ecc_devices) { edac 2151 drivers/edac/altera_edac.c regmap_write(edac->ecc_mgr_map, edac 2171 drivers/edac/altera_edac.c struct altr_arria10_edac *edac; edac 2174 drivers/edac/altera_edac.c edac = devm_kzalloc(&pdev->dev, sizeof(*edac), GFP_KERNEL); edac 2175 drivers/edac/altera_edac.c if (!edac) edac 2178 drivers/edac/altera_edac.c edac->dev = &pdev->dev; edac 2179 drivers/edac/altera_edac.c platform_set_drvdata(pdev, edac); edac 2180 drivers/edac/altera_edac.c INIT_LIST_HEAD(&edac->a10_ecc_devices); edac 2183 drivers/edac/altera_edac.c edac->ecc_mgr_map = edac 2205 drivers/edac/altera_edac.c edac->ecc_mgr_map = devm_regmap_init(&pdev->dev, NULL, edac 2210 drivers/edac/altera_edac.c if (IS_ERR(edac->ecc_mgr_map)) { edac 2213 drivers/edac/altera_edac.c return PTR_ERR(edac->ecc_mgr_map); edac 2216 drivers/edac/altera_edac.c edac->irq_chip.name = pdev->dev.of_node->name; edac 2217 drivers/edac/altera_edac.c edac->irq_chip.irq_mask = a10_eccmgr_irq_mask; edac 2218 drivers/edac/altera_edac.c edac->irq_chip.irq_unmask = a10_eccmgr_irq_unmask; edac 2219 drivers/edac/altera_edac.c edac->domain = irq_domain_add_linear(pdev->dev.of_node, 64, edac 2220 drivers/edac/altera_edac.c &a10_eccmgr_ic_ops, edac); edac 2221 drivers/edac/altera_edac.c if (!edac->domain) { edac 2226 drivers/edac/altera_edac.c edac->sb_irq = platform_get_irq(pdev, 0); edac 2227 drivers/edac/altera_edac.c if (edac->sb_irq < 0) { edac 2229 drivers/edac/altera_edac.c return edac->sb_irq; edac 2232 drivers/edac/altera_edac.c irq_set_chained_handler_and_data(edac->sb_irq, edac 2234 drivers/edac/altera_edac.c edac); edac 2240 drivers/edac/altera_edac.c edac->panic_notifier.notifier_call = s10_edac_dberr_handler; edac 2242 drivers/edac/altera_edac.c &edac->panic_notifier); edac 2245 drivers/edac/altera_edac.c regmap_read(edac->ecc_mgr_map, S10_SYSMGR_UE_VAL_OFST, edac 2248 drivers/edac/altera_edac.c regmap_read(edac->ecc_mgr_map, S10_SYSMGR_UE_ADDR_OFST, edac 2254 drivers/edac/altera_edac.c regmap_write(edac->ecc_mgr_map, edac 2256 drivers/edac/altera_edac.c regmap_write(edac->ecc_mgr_map, edac 2261 drivers/edac/altera_edac.c edac->db_irq = platform_get_irq(pdev, 1); edac 2262 drivers/edac/altera_edac.c if (edac->db_irq < 0) { edac 2264 drivers/edac/altera_edac.c return edac->db_irq; edac 2266 drivers/edac/altera_edac.c irq_set_chained_handler_and_data(edac->db_irq, edac 2267 drivers/edac/altera_edac.c altr_edac_a10_irq_handler, edac); edac 2286 drivers/edac/altera_edac.c altr_edac_a10_device_add(edac, child); edac 381 drivers/edac/altera_edac.h struct altr_arria10_edac *edac; edac 82 drivers/edac/ti_edac.c static u32 ti_edac_readl(struct ti_edac *edac, u16 offset) edac 84 drivers/edac/ti_edac.c return readl_relaxed(edac->reg + offset); edac 87 drivers/edac/ti_edac.c static void ti_edac_writel(struct ti_edac *edac, u32 val, u16 offset) edac 89 drivers/edac/ti_edac.c writel_relaxed(val, edac->reg + offset); edac 95 drivers/edac/ti_edac.c struct ti_edac *edac = mci->pvt_info; edac 100 drivers/edac/ti_edac.c irq_status = ti_edac_readl(edac, EMIF_IRQ_STATUS); edac 103 drivers/edac/ti_edac.c err_addr = ti_edac_readl(edac, EMIF_1B_ECC_ERR_ADDR_LOG); edac 104 drivers/edac/ti_edac.c err_count = ti_edac_readl(edac, EMIF_1B_ECC_ERR_CNT); edac 105 drivers/edac/ti_edac.c ti_edac_writel(edac, err_count, EMIF_1B_ECC_ERR_CNT); edac 113 drivers/edac/ti_edac.c err_addr = ti_edac_readl(edac, EMIF_2B_ECC_ERR_ADDR_LOG); edac 125 drivers/edac/ti_edac.c ti_edac_writel(edac, irq_status, EMIF_IRQ_STATUS); edac 133 drivers/edac/ti_edac.c struct ti_edac *edac = mci->pvt_info; edac 140 drivers/edac/ti_edac.c val = ti_edac_readl(edac, EMIF_SDRAM_CONFIG); edac 188 drivers/edac/ti_edac.c val = ti_edac_readl(edac, EMIF_ECC_CTRL); edac 238 drivers/edac/ti_edac.c struct ti_edac *edac; edac 261 drivers/edac/ti_edac.c mci = edac_mc_alloc(emif_id, 1, layers, sizeof(*edac)); edac 266 drivers/edac/ti_edac.c edac = mci->pvt_info; edac 267 drivers/edac/ti_edac.c edac->reg = reg; edac 303 drivers/edac/ti_edac.c ti_edac_writel(edac, 1 << EMIF_1B_ECC_ERR_THRSH_SHIFT, edac 307 drivers/edac/ti_edac.c ti_edac_writel(edac, edac 66 drivers/edac/xgene_edac.c static void xgene_edac_pcp_rd(struct xgene_edac *edac, u32 reg, u32 *val) edac 68 drivers/edac/xgene_edac.c *val = readl(edac->pcp_csr + reg); edac 71 drivers/edac/xgene_edac.c static void xgene_edac_pcp_clrbits(struct xgene_edac *edac, u32 reg, edac 76 drivers/edac/xgene_edac.c spin_lock(&edac->lock); edac 77 drivers/edac/xgene_edac.c val = readl(edac->pcp_csr + reg); edac 79 drivers/edac/xgene_edac.c writel(val, edac->pcp_csr + reg); edac 80 drivers/edac/xgene_edac.c spin_unlock(&edac->lock); edac 83 drivers/edac/xgene_edac.c static void xgene_edac_pcp_setbits(struct xgene_edac *edac, u32 reg, edac 88 drivers/edac/xgene_edac.c spin_lock(&edac->lock); edac 89 drivers/edac/xgene_edac.c val = readl(edac->pcp_csr + reg); edac 91 drivers/edac/xgene_edac.c writel(val, edac->pcp_csr + reg); edac 92 drivers/edac/xgene_edac.c spin_unlock(&edac->lock); edac 135 drivers/edac/xgene_edac.c struct xgene_edac *edac; edac 185 drivers/edac/xgene_edac.c xgene_edac_pcp_rd(ctx->edac, PCPHPERRINTSTS, &pcp_hp_stat); edac 186 drivers/edac/xgene_edac.c xgene_edac_pcp_rd(ctx->edac, PCPLPERRINTSTS, &pcp_lp_stat); edac 255 drivers/edac/xgene_edac.c mutex_lock(&ctx->edac->mc_lock); edac 267 drivers/edac/xgene_edac.c ctx->edac->mc_registered_mask |= 1 << ctx->mcu_id; edac 270 drivers/edac/xgene_edac.c if (ctx->edac->mc_registered_mask == edac 271 drivers/edac/xgene_edac.c ctx->edac->mc_active_mask) { edac 273 drivers/edac/xgene_edac.c xgene_edac_pcp_clrbits(ctx->edac, PCPHPERRINTMSK, edac 276 drivers/edac/xgene_edac.c xgene_edac_pcp_clrbits(ctx->edac, PCPLPERRINTMSK, edac 297 drivers/edac/xgene_edac.c xgene_edac_pcp_setbits(ctx->edac, PCPHPERRINTMSK, edac 299 drivers/edac/xgene_edac.c xgene_edac_pcp_setbits(ctx->edac, PCPLPERRINTMSK, edac 303 drivers/edac/xgene_edac.c ctx->edac->mc_registered_mask &= ~(1 << ctx->mcu_id); edac 306 drivers/edac/xgene_edac.c mutex_unlock(&ctx->edac->mc_lock); edac 314 drivers/edac/xgene_edac.c if (regmap_read(ctx->edac->csw_map, CSW_CSWCR, ®)) edac 322 drivers/edac/xgene_edac.c if (regmap_read(ctx->edac->mcbb_map, MCBADDRMR, ®)) edac 330 drivers/edac/xgene_edac.c if (regmap_read(ctx->edac->mcba_map, MCBADDRMR, ®)) edac 336 drivers/edac/xgene_edac.c if (!ctx->edac->mc_active_mask) edac 337 drivers/edac/xgene_edac.c ctx->edac->mc_active_mask = mcu_mask; edac 342 drivers/edac/xgene_edac.c static int xgene_edac_mc_add(struct xgene_edac *edac, struct device_node *np) edac 352 drivers/edac/xgene_edac.c tmp_ctx.edac = edac; edac 354 drivers/edac/xgene_edac.c if (!devres_open_group(edac->dev, xgene_edac_mc_add, GFP_KERNEL)) edac 359 drivers/edac/xgene_edac.c dev_err(edac->dev, "no MCU resource address\n"); edac 362 drivers/edac/xgene_edac.c tmp_ctx.mcu_csr = devm_ioremap_resource(edac->dev, &res); edac 364 drivers/edac/xgene_edac.c dev_err(edac->dev, "unable to map MCU resource\n"); edac 371 drivers/edac/xgene_edac.c dev_err(edac->dev, "no memory-controller property\n"); edac 414 drivers/edac/xgene_edac.c dev_err(edac->dev, "edac_mc_add_mc failed\n"); edac 421 drivers/edac/xgene_edac.c list_add(&ctx->next, &edac->mcus); edac 425 drivers/edac/xgene_edac.c devres_remove_group(edac->dev, xgene_edac_mc_add); edac 427 drivers/edac/xgene_edac.c dev_info(edac->dev, "X-Gene EDAC MC registered\n"); edac 433 drivers/edac/xgene_edac.c devres_release_group(edac->dev, xgene_edac_mc_add); edac 512 drivers/edac/xgene_edac.c struct xgene_edac *edac; edac 740 drivers/edac/xgene_edac.c xgene_edac_pcp_rd(ctx->edac, PCPHPERRINTSTS, &pcp_hp_stat); edac 790 drivers/edac/xgene_edac.c xgene_edac_pcp_clrbits(ctx->edac, PCPHPERRINTMSK, edac 793 drivers/edac/xgene_edac.c xgene_edac_pcp_setbits(ctx->edac, PCPHPERRINTMSK, edac 867 drivers/edac/xgene_edac.c if (!IS_ENABLED(CONFIG_EDAC_DEBUG) || !ctx->edac->dfs) edac 871 drivers/edac/xgene_edac.c dbgfs_dir = edac_debugfs_create_dir_at(name, ctx->edac->dfs); edac 886 drivers/edac/xgene_edac.c static int xgene_edac_pmd_add(struct xgene_edac *edac, struct device_node *np, edac 897 drivers/edac/xgene_edac.c if (!devres_open_group(edac->dev, xgene_edac_pmd_add, GFP_KERNEL)) edac 902 drivers/edac/xgene_edac.c dev_err(edac->dev, "no pmd-controller property\n"); edac 906 drivers/edac/xgene_edac.c rc = regmap_read(edac->efuse_map, 0, &val); edac 926 drivers/edac/xgene_edac.c ctx->edac = edac; edac 928 drivers/edac/xgene_edac.c ctx->ddev = *edac->dev; edac 937 drivers/edac/xgene_edac.c dev_err(edac->dev, "no PMD resource address\n"); edac 940 drivers/edac/xgene_edac.c ctx->pmd_csr = devm_ioremap_resource(edac->dev, &res); edac 942 drivers/edac/xgene_edac.c dev_err(edac->dev, edac 955 drivers/edac/xgene_edac.c dev_err(edac->dev, "edac_device_add_device failed\n"); edac 963 drivers/edac/xgene_edac.c list_add(&ctx->next, &edac->pmds); edac 967 drivers/edac/xgene_edac.c devres_remove_group(edac->dev, xgene_edac_pmd_add); edac 969 drivers/edac/xgene_edac.c dev_info(edac->dev, "X-Gene EDAC PMD%d registered\n", ctx->pmd); edac 975 drivers/edac/xgene_edac.c devres_release_group(edac->dev, xgene_edac_pmd_add); edac 1020 drivers/edac/xgene_edac.c struct xgene_edac *edac; edac 1133 drivers/edac/xgene_edac.c xgene_edac_pcp_clrbits(ctx->edac, PCPHPERRINTMSK, edac 1135 drivers/edac/xgene_edac.c xgene_edac_pcp_clrbits(ctx->edac, PCPLPERRINTMSK, edac 1138 drivers/edac/xgene_edac.c xgene_edac_pcp_setbits(ctx->edac, PCPHPERRINTMSK, edac 1140 drivers/edac/xgene_edac.c xgene_edac_pcp_setbits(ctx->edac, PCPLPERRINTMSK, edac 1171 drivers/edac/xgene_edac.c if (!IS_ENABLED(CONFIG_EDAC_DEBUG) || !ctx->edac->dfs) edac 1175 drivers/edac/xgene_edac.c dbgfs_dir = edac_debugfs_create_dir_at(name, ctx->edac->dfs); edac 1183 drivers/edac/xgene_edac.c static int xgene_edac_l3_add(struct xgene_edac *edac, struct device_node *np, edac 1193 drivers/edac/xgene_edac.c if (!devres_open_group(edac->dev, xgene_edac_l3_add, GFP_KERNEL)) edac 1198 drivers/edac/xgene_edac.c dev_err(edac->dev, "no L3 resource address\n"); edac 1201 drivers/edac/xgene_edac.c dev_csr = devm_ioremap_resource(edac->dev, &res); edac 1203 drivers/edac/xgene_edac.c dev_err(edac->dev, edac 1222 drivers/edac/xgene_edac.c ctx->edac = edac; edac 1224 drivers/edac/xgene_edac.c ctx->ddev = *edac->dev; edac 1238 drivers/edac/xgene_edac.c dev_err(edac->dev, "failed edac_device_add_device()\n"); edac 1246 drivers/edac/xgene_edac.c list_add(&ctx->next, &edac->l3s); edac 1250 drivers/edac/xgene_edac.c devres_remove_group(edac->dev, xgene_edac_l3_add); edac 1252 drivers/edac/xgene_edac.c dev_info(edac->dev, "X-Gene EDAC L3 registered\n"); edac 1258 drivers/edac/xgene_edac.c devres_release_group(edac->dev, xgene_edac_l3_add); edac 1267 drivers/edac/xgene_edac.c edac_device_del_device(l3->edac->dev); edac 1472 drivers/edac/xgene_edac.c if (!ctx->edac->rb_map) edac 1482 drivers/edac/xgene_edac.c if (regmap_read(ctx->edac->rb_map, RBCSR, ®)) edac 1489 drivers/edac/xgene_edac.c if (regmap_read(ctx->edac->rb_map, RBEIR, ®)) edac 1509 drivers/edac/xgene_edac.c if (regmap_write(ctx->edac->rb_map, RBEIR, 0)) edac 1511 drivers/edac/xgene_edac.c if (regmap_write(ctx->edac->rb_map, RBCSR, 0)) edac 1646 drivers/edac/xgene_edac.c xgene_edac_pcp_rd(ctx->edac, PCPHPERRINTSTS, &pcp_hp_stat); edac 1647 drivers/edac/xgene_edac.c xgene_edac_pcp_rd(ctx->edac, PCPLPERRINTSTS, &pcp_lp_stat); edac 1648 drivers/edac/xgene_edac.c xgene_edac_pcp_rd(ctx->edac, MEMERRINTSTS, ®); edac 1697 drivers/edac/xgene_edac.c xgene_edac_pcp_clrbits(ctx->edac, PCPHPERRINTMSK, edac 1702 drivers/edac/xgene_edac.c xgene_edac_pcp_clrbits(ctx->edac, PCPLPERRINTMSK, edac 1705 drivers/edac/xgene_edac.c xgene_edac_pcp_setbits(ctx->edac, PCPHPERRINTMSK, edac 1710 drivers/edac/xgene_edac.c xgene_edac_pcp_setbits(ctx->edac, PCPLPERRINTMSK, edac 1721 drivers/edac/xgene_edac.c xgene_edac_pcp_setbits(ctx->edac, MEMERRINTMSK, edac 1726 drivers/edac/xgene_edac.c static int xgene_edac_soc_add(struct xgene_edac *edac, struct device_node *np, edac 1736 drivers/edac/xgene_edac.c if (!devres_open_group(edac->dev, xgene_edac_soc_add, GFP_KERNEL)) edac 1741 drivers/edac/xgene_edac.c dev_err(edac->dev, "no SoC resource address\n"); edac 1744 drivers/edac/xgene_edac.c dev_csr = devm_ioremap_resource(edac->dev, &res); edac 1746 drivers/edac/xgene_edac.c dev_err(edac->dev, edac 1765 drivers/edac/xgene_edac.c ctx->edac = edac; edac 1767 drivers/edac/xgene_edac.c ctx->ddev = *edac->dev; edac 1779 drivers/edac/xgene_edac.c dev_err(edac->dev, "failed edac_device_add_device()\n"); edac 1787 drivers/edac/xgene_edac.c list_add(&ctx->next, &edac->socs); edac 1791 drivers/edac/xgene_edac.c devres_remove_group(edac->dev, xgene_edac_soc_add); edac 1793 drivers/edac/xgene_edac.c dev_info(edac->dev, "X-Gene EDAC SoC registered\n"); edac 1800 drivers/edac/xgene_edac.c devres_release_group(edac->dev, xgene_edac_soc_add); edac 1809 drivers/edac/xgene_edac.c edac_device_del_device(soc->edac->dev); edac 1849 drivers/edac/xgene_edac.c struct xgene_edac *edac; edac 1854 drivers/edac/xgene_edac.c edac = devm_kzalloc(&pdev->dev, sizeof(*edac), GFP_KERNEL); edac 1855 drivers/edac/xgene_edac.c if (!edac) edac 1858 drivers/edac/xgene_edac.c edac->dev = &pdev->dev; edac 1859 drivers/edac/xgene_edac.c platform_set_drvdata(pdev, edac); edac 1860 drivers/edac/xgene_edac.c INIT_LIST_HEAD(&edac->mcus); edac 1861 drivers/edac/xgene_edac.c INIT_LIST_HEAD(&edac->pmds); edac 1862 drivers/edac/xgene_edac.c INIT_LIST_HEAD(&edac->l3s); edac 1863 drivers/edac/xgene_edac.c INIT_LIST_HEAD(&edac->socs); edac 1864 drivers/edac/xgene_edac.c spin_lock_init(&edac->lock); edac 1865 drivers/edac/xgene_edac.c mutex_init(&edac->mc_lock); edac 1867 drivers/edac/xgene_edac.c edac->csw_map = syscon_regmap_lookup_by_phandle(pdev->dev.of_node, edac 1869 drivers/edac/xgene_edac.c if (IS_ERR(edac->csw_map)) { edac 1870 drivers/edac/xgene_edac.c dev_err(edac->dev, "unable to get syscon regmap csw\n"); edac 1871 drivers/edac/xgene_edac.c rc = PTR_ERR(edac->csw_map); edac 1875 drivers/edac/xgene_edac.c edac->mcba_map = syscon_regmap_lookup_by_phandle(pdev->dev.of_node, edac 1877 drivers/edac/xgene_edac.c if (IS_ERR(edac->mcba_map)) { edac 1878 drivers/edac/xgene_edac.c dev_err(edac->dev, "unable to get syscon regmap mcba\n"); edac 1879 drivers/edac/xgene_edac.c rc = PTR_ERR(edac->mcba_map); edac 1883 drivers/edac/xgene_edac.c edac->mcbb_map = syscon_regmap_lookup_by_phandle(pdev->dev.of_node, edac 1885 drivers/edac/xgene_edac.c if (IS_ERR(edac->mcbb_map)) { edac 1886 drivers/edac/xgene_edac.c dev_err(edac->dev, "unable to get syscon regmap mcbb\n"); edac 1887 drivers/edac/xgene_edac.c rc = PTR_ERR(edac->mcbb_map); edac 1890 drivers/edac/xgene_edac.c edac->efuse_map = syscon_regmap_lookup_by_phandle(pdev->dev.of_node, edac 1892 drivers/edac/xgene_edac.c if (IS_ERR(edac->efuse_map)) { edac 1893 drivers/edac/xgene_edac.c dev_err(edac->dev, "unable to get syscon regmap efuse\n"); edac 1894 drivers/edac/xgene_edac.c rc = PTR_ERR(edac->efuse_map); edac 1902 drivers/edac/xgene_edac.c edac->rb_map = syscon_regmap_lookup_by_phandle(pdev->dev.of_node, edac 1904 drivers/edac/xgene_edac.c if (IS_ERR(edac->rb_map)) { edac 1905 drivers/edac/xgene_edac.c dev_warn(edac->dev, "missing syscon regmap rb\n"); edac 1906 drivers/edac/xgene_edac.c edac->rb_map = NULL; edac 1910 drivers/edac/xgene_edac.c edac->pcp_csr = devm_ioremap_resource(&pdev->dev, res); edac 1911 drivers/edac/xgene_edac.c if (IS_ERR(edac->pcp_csr)) { edac 1913 drivers/edac/xgene_edac.c rc = PTR_ERR(edac->pcp_csr); edac 1930 drivers/edac/xgene_edac.c dev_name(&pdev->dev), edac); edac 1939 drivers/edac/xgene_edac.c edac->dfs = edac_debugfs_create_dir(pdev->dev.kobj.name); edac 1945 drivers/edac/xgene_edac.c xgene_edac_mc_add(edac, child); edac 1947 drivers/edac/xgene_edac.c xgene_edac_pmd_add(edac, child, 1); edac 1949 drivers/edac/xgene_edac.c xgene_edac_pmd_add(edac, child, 2); edac 1951 drivers/edac/xgene_edac.c xgene_edac_l3_add(edac, child, 1); edac 1953 drivers/edac/xgene_edac.c xgene_edac_l3_add(edac, child, 2); edac 1955 drivers/edac/xgene_edac.c xgene_edac_soc_add(edac, child, 0); edac 1957 drivers/edac/xgene_edac.c xgene_edac_soc_add(edac, child, 1); edac 1968 drivers/edac/xgene_edac.c struct xgene_edac *edac = dev_get_drvdata(&pdev->dev); edac 1976 drivers/edac/xgene_edac.c list_for_each_entry_safe(mcu, temp_mcu, &edac->mcus, next) edac 1979 drivers/edac/xgene_edac.c list_for_each_entry_safe(pmd, temp_pmd, &edac->pmds, next) edac 1982 drivers/edac/xgene_edac.c list_for_each_entry_safe(node, temp_node, &edac->l3s, next) edac 1985 drivers/edac/xgene_edac.c list_for_each_entry_safe(node, temp_node, &edac->socs, next)