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