pvr = mfspr(SPRN_PVR);  switch (PVR_VER(pvr)) { case PV_630: case PV_630p: model = &op_model_rs64; break;  case PV_NORTHSTAR: case PV_PULSAR: case PV_ICESTAR: case PV_SSTAR: model = &op_model_rs64; break;  case PV_POWER4: case PV_POWER4p: model = &op_model_power4; break;  case PV_970: case PV_970FX: case PV_970MP: model = &op_model_power4; break;  case PV_POWER5: case PV_POWER5p: model = &op_model_power4; break;  default: return -ENODEV; }
model = cur_cpu_spec->oprofile_model; model->num_counters = cur_cpu_spec->num_pmcs;
int __init oprofile_arch_init(struct oprofile_operations *ops){	unsigned int pvr;	pvr = mfspr(SPRN_PVR);	switch (PVR_VER(pvr)) {		case PV_630:		case PV_630p:			model = &op_model_rs64;			break;		case PV_NORTHSTAR:		case PV_PULSAR:		case PV_ICESTAR:		case PV_SSTAR:			model = &op_model_rs64;			break;		case PV_POWER4:		case PV_POWER4p:			model = &op_model_power4;			break;		case PV_970:		case PV_970FX:		case PV_970MP:			model = &op_model_power4;			break;		case PV_POWER5:		case PV_POWER5p:			model = &op_model_power4;			break;		default:			return -ENODEV;	}	ops->cpu_type = cur_cpu_spec->oprofile_cpu_type;	model->num_counters = cur_cpu_spec->num_pmcs;	ops->create_files = op_ppc64_create_files;	ops->setup = op_ppc64_setup;	ops->shutdown = op_ppc64_shutdown;	ops->start = op_ppc64_start;	ops->stop = op_ppc64_stop;	printk(KERN_INFO "oprofile: using %s performance monitoring.\n",	       ops->cpu_type);	return 0;}