void __init psycho_init(int node, char *model_name) 
void psycho_init(int node, char *model_name) 
void __init psycho_init(int node, char *model_name){	struct linux_prom64_registers pr_regs[3];	struct pci_controller_info *p;	struct pci_iommu *iommu;	u32 upa_portid;	int is_pbm_a, err;	upa_portid = prom_getintdefault(node, "upa-portid", 0xff);	for(p = pci_controller_root; p; p = p->next) {		if (p->pbm_A.portid == upa_portid) {			is_pbm_a = (p->pbm_A.prom_node == 0);			psycho_pbm_init(p, node, is_pbm_a);			return;		}	}	p = kmalloc(sizeof(struct pci_controller_info), GFP_ATOMIC);	if (!p) {		prom_printf("PSYCHO: Fatal memory allocation error.\n");		prom_halt();	}	memset(p, 0, sizeof(*p));	iommu = kmalloc(sizeof(struct pci_iommu), GFP_ATOMIC);	if (!iommu) {		prom_printf("PSYCHO: Fatal memory allocation error.\n");		prom_halt();	}	memset(iommu, 0, sizeof(*iommu));	p->pbm_A.iommu = p->pbm_B.iommu = iommu;	p->next = pci_controller_root;	pci_controller_root = p;	p->pbm_A.portid = upa_portid;	p->pbm_B.portid = upa_portid;	p->index = pci_num_controllers++;	p->pbms_same_domain = 0;	p->scan_bus = psycho_scan_bus;	p->irq_build = psycho_irq_build;	p->base_address_update = psycho_base_address_update;	p->resource_adjust = psycho_resource_adjust;	p->pci_ops = &psycho_ops;	err = prom_getproperty(node, "reg",			       (char *)&pr_regs[0],			       sizeof(pr_regs));	if (err == 0 || err == -1) {		prom_printf("PSYCHO: Fatal error, no reg property.\n");		prom_halt();	}	p->pbm_A.controller_regs = pr_regs[2].phys_addr;	p->pbm_B.controller_regs = pr_regs[2].phys_addr;	printk("PCI: Found PSYCHO, control regs at %016lx\n",	       p->pbm_A.controller_regs);	p->pbm_A.config_space = p->pbm_B.config_space =		(pr_regs[2].phys_addr + PSYCHO_CONFIGSPACE);	printk("PSYCHO: Shared PCI config space at %016lx\n",	       p->pbm_A.config_space);	/*	 * Psycho's PCI MEM space is mapped to a 2GB aligned area, so	 * we need to adjust our MEM space mask.	 */	pci_memspace_mask = 0x7fffffffUL;	psycho_controller_hwinit(p);	psycho_iommu_init(p);	is_pbm_a = ((pr_regs[0].phys_addr & 0x6000) == 0x2000);	psycho_pbm_init(p, node, is_pbm_a);}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/085ae41f66657a9655ce832b0a61832a06f0e1dc/pci_psycho.c/buggy/arch/sparc64/kernel/pci_psycho.c