Lines Matching refs:dev_info
291 void (*init)(struct cpc925_dev_info *dev_info);
292 void (*exit)(struct cpc925_dev_info *dev_info);
644 static void cpc925_cpu_init(struct cpc925_dev_info *dev_info) in cpc925_cpu_init() argument
649 apimask = __raw_readl(dev_info->vbase + REG_APIMASK_OFFSET); in cpc925_cpu_init()
661 __raw_writel(apimask, dev_info->vbase + REG_APIMASK_OFFSET); in cpc925_cpu_init()
665 static void cpc925_cpu_exit(struct cpc925_dev_info *dev_info) in cpc925_cpu_exit() argument
684 struct cpc925_dev_info *dev_info = edac_dev->pvt_info; in cpc925_cpu_check() local
689 apiexcp = __raw_readl(dev_info->vbase + REG_APIEXCP_OFFSET); in cpc925_cpu_check()
696 apimask = __raw_readl(dev_info->vbase + REG_APIMASK_OFFSET); in cpc925_cpu_check()
707 static void cpc925_htlink_init(struct cpc925_dev_info *dev_info) in cpc925_htlink_init() argument
711 ht_errctrl = __raw_readl(dev_info->vbase + REG_ERRCTRL_OFFSET); in cpc925_htlink_init()
714 __raw_writel(ht_errctrl, dev_info->vbase + REG_ERRCTRL_OFFSET); in cpc925_htlink_init()
719 static void cpc925_htlink_exit(struct cpc925_dev_info *dev_info) in cpc925_htlink_exit() argument
723 ht_errctrl = __raw_readl(dev_info->vbase + REG_ERRCTRL_OFFSET); in cpc925_htlink_exit()
725 __raw_writel(ht_errctrl, dev_info->vbase + REG_ERRCTRL_OFFSET); in cpc925_htlink_exit()
731 struct cpc925_dev_info *dev_info = edac_dev->pvt_info; in cpc925_htlink_check() local
732 u32 brgctrl = __raw_readl(dev_info->vbase + REG_BRGCTRL_OFFSET); in cpc925_htlink_check()
733 u32 linkctrl = __raw_readl(dev_info->vbase + REG_LINKCTRL_OFFSET); in cpc925_htlink_check()
734 u32 errctrl = __raw_readl(dev_info->vbase + REG_ERRCTRL_OFFSET); in cpc925_htlink_check()
735 u32 linkerr = __raw_readl(dev_info->vbase + REG_LINKERR_OFFSET); in cpc925_htlink_check()
757 dev_info->vbase + REG_BRGCTRL_OFFSET); in cpc925_htlink_check()
761 dev_info->vbase + REG_LINKCTRL_OFFSET); in cpc925_htlink_check()
766 dev_info->vbase + REG_BRGCTRL_OFFSET); in cpc925_htlink_check()
770 dev_info->vbase + REG_ERRCTRL_OFFSET); in cpc925_htlink_check()
774 dev_info->vbase + REG_LINKERR_OFFSET); in cpc925_htlink_check()
804 struct cpc925_dev_info *dev_info; in cpc925_add_edac_devices() local
811 for (dev_info = &cpc925_devs[0]; dev_info->init; dev_info++) { in cpc925_add_edac_devices()
812 dev_info->vbase = vbase; in cpc925_add_edac_devices()
813 dev_info->pdev = platform_device_register_simple( in cpc925_add_edac_devices()
814 dev_info->ctl_name, 0, NULL, 0); in cpc925_add_edac_devices()
815 if (IS_ERR(dev_info->pdev)) { in cpc925_add_edac_devices()
818 dev_info->ctl_name); in cpc925_add_edac_devices()
826 dev_info->edac_idx = edac_device_alloc_index(); in cpc925_add_edac_devices()
827 dev_info->edac_dev = in cpc925_add_edac_devices()
828 edac_device_alloc_ctl_info(0, dev_info->ctl_name, in cpc925_add_edac_devices()
829 1, NULL, 0, 0, NULL, 0, dev_info->edac_idx); in cpc925_add_edac_devices()
830 if (!dev_info->edac_dev) { in cpc925_add_edac_devices()
835 dev_info->edac_dev->pvt_info = dev_info; in cpc925_add_edac_devices()
836 dev_info->edac_dev->dev = &dev_info->pdev->dev; in cpc925_add_edac_devices()
837 dev_info->edac_dev->ctl_name = dev_info->ctl_name; in cpc925_add_edac_devices()
838 dev_info->edac_dev->mod_name = CPC925_EDAC_MOD_STR; in cpc925_add_edac_devices()
839 dev_info->edac_dev->dev_name = dev_name(&dev_info->pdev->dev); in cpc925_add_edac_devices()
842 dev_info->edac_dev->edac_check = dev_info->check; in cpc925_add_edac_devices()
844 if (dev_info->init) in cpc925_add_edac_devices()
845 dev_info->init(dev_info); in cpc925_add_edac_devices()
847 if (edac_device_add_device(dev_info->edac_dev) > 0) { in cpc925_add_edac_devices()
850 dev_info->ctl_name); in cpc925_add_edac_devices()
855 dev_info->ctl_name); in cpc925_add_edac_devices()
860 if (dev_info->exit) in cpc925_add_edac_devices()
861 dev_info->exit(dev_info); in cpc925_add_edac_devices()
862 edac_device_free_ctl_info(dev_info->edac_dev); in cpc925_add_edac_devices()
864 platform_device_unregister(dev_info->pdev); in cpc925_add_edac_devices()
874 struct cpc925_dev_info *dev_info; in cpc925_del_edac_devices() local
876 for (dev_info = &cpc925_devs[0]; dev_info->init; dev_info++) { in cpc925_del_edac_devices()
877 if (dev_info->edac_dev) { in cpc925_del_edac_devices()
878 edac_device_del_device(dev_info->edac_dev->dev); in cpc925_del_edac_devices()
879 edac_device_free_ctl_info(dev_info->edac_dev); in cpc925_del_edac_devices()
880 platform_device_unregister(dev_info->pdev); in cpc925_del_edac_devices()
883 if (dev_info->exit) in cpc925_del_edac_devices()
884 dev_info->exit(dev_info); in cpc925_del_edac_devices()
887 dev_info->ctl_name); in cpc925_del_edac_devices()