Lines Matching refs:dev_info

278 	void (*init)(struct cpc925_dev_info *dev_info);
279 void (*exit)(struct cpc925_dev_info *dev_info);
615 static void cpc925_cpu_init(struct cpc925_dev_info *dev_info)
620 apimask = __raw_readl(dev_info->vbase + REG_APIMASK_OFFSET);
632 __raw_writel(apimask, dev_info->vbase + REG_APIMASK_OFFSET);
636 static void cpc925_cpu_exit(struct cpc925_dev_info *dev_info)
655 struct cpc925_dev_info *dev_info = edac_dev->pvt_info;
660 apiexcp = __raw_readl(dev_info->vbase + REG_APIEXCP_OFFSET);
667 apimask = __raw_readl(dev_info->vbase + REG_APIMASK_OFFSET);
678 static void cpc925_htlink_init(struct cpc925_dev_info *dev_info)
682 ht_errctrl = __raw_readl(dev_info->vbase + REG_ERRCTRL_OFFSET);
685 __raw_writel(ht_errctrl, dev_info->vbase + REG_ERRCTRL_OFFSET);
690 static void cpc925_htlink_exit(struct cpc925_dev_info *dev_info)
694 ht_errctrl = __raw_readl(dev_info->vbase + REG_ERRCTRL_OFFSET);
696 __raw_writel(ht_errctrl, dev_info->vbase + REG_ERRCTRL_OFFSET);
702 struct cpc925_dev_info *dev_info = edac_dev->pvt_info;
703 u32 brgctrl = __raw_readl(dev_info->vbase + REG_BRGCTRL_OFFSET);
704 u32 linkctrl = __raw_readl(dev_info->vbase + REG_LINKCTRL_OFFSET);
705 u32 errctrl = __raw_readl(dev_info->vbase + REG_ERRCTRL_OFFSET);
706 u32 linkerr = __raw_readl(dev_info->vbase + REG_LINKERR_OFFSET);
728 dev_info->vbase + REG_BRGCTRL_OFFSET);
732 dev_info->vbase + REG_LINKCTRL_OFFSET);
737 dev_info->vbase + REG_BRGCTRL_OFFSET);
741 dev_info->vbase + REG_ERRCTRL_OFFSET);
745 dev_info->vbase + REG_LINKERR_OFFSET);
775 struct cpc925_dev_info *dev_info;
782 for (dev_info = &cpc925_devs[0]; dev_info->init; dev_info++) {
783 dev_info->vbase = vbase;
784 dev_info->pdev = platform_device_register_simple(
785 dev_info->ctl_name, 0, NULL, 0);
786 if (IS_ERR(dev_info->pdev)) {
789 dev_info->ctl_name);
797 dev_info->edac_idx = edac_device_alloc_index();
798 dev_info->edac_dev =
799 edac_device_alloc_ctl_info(0, dev_info->ctl_name,
800 1, NULL, 0, 0, NULL, 0, dev_info->edac_idx);
801 if (!dev_info->edac_dev) {
806 dev_info->edac_dev->pvt_info = dev_info;
807 dev_info->edac_dev->dev = &dev_info->pdev->dev;
808 dev_info->edac_dev->ctl_name = dev_info->ctl_name;
809 dev_info->edac_dev->mod_name = CPC925_EDAC_MOD_STR;
810 dev_info->edac_dev->dev_name = dev_name(&dev_info->pdev->dev);
813 dev_info->edac_dev->edac_check = dev_info->check;
815 if (dev_info->init)
816 dev_info->init(dev_info);
818 if (edac_device_add_device(dev_info->edac_dev) > 0) {
821 dev_info->ctl_name);
826 dev_info->ctl_name);
831 if (dev_info->exit)
832 dev_info->exit(dev_info);
833 edac_device_free_ctl_info(dev_info->edac_dev);
835 platform_device_unregister(dev_info->pdev);
845 struct cpc925_dev_info *dev_info;
847 for (dev_info = &cpc925_devs[0]; dev_info->init; dev_info++) {
848 if (dev_info->edac_dev) {
849 edac_device_del_device(dev_info->edac_dev->dev);
850 edac_device_free_ctl_info(dev_info->edac_dev);
851 platform_device_unregister(dev_info->pdev);
854 if (dev_info->exit)
855 dev_info->exit(dev_info);
858 dev_info->ctl_name);