address += dp->phb->pci_mem_offset;
address += ((struct pci_dn *)dp->data)->phb->pci_mem_offset;
static void __init offb_init_nodriver(struct device_node *dp){	int *pp, i;	unsigned int len;	int width = 640, height = 480, depth = 8, pitch;	unsigned *up;	unsigned long address;	if ((pp = (int *) get_property(dp, "depth", &len)) != NULL	    && len == sizeof(int))		depth = *pp;	if ((pp = (int *) get_property(dp, "width", &len)) != NULL	    && len == sizeof(int))		width = *pp;	if ((pp = (int *) get_property(dp, "height", &len)) != NULL	    && len == sizeof(int))		height = *pp;	if ((pp = (int *) get_property(dp, "linebytes", &len)) != NULL	    && len == sizeof(int)) {		pitch = *pp;		if (pitch == 1)			pitch = 0x1000;	} else		pitch = width;	if ((up = (unsigned *) get_property(dp, "address", &len)) != NULL	    && len == sizeof(unsigned))		address = (u_long) * up;	else {		for (i = 0; i < dp->n_addrs; ++i)			if (dp->addrs[i].size >=			    pitch * height * depth / 8)				break;		if (i >= dp->n_addrs) {			printk(KERN_ERR			       "no framebuffer address found for %s\n",			       dp->full_name);			return;		}		address = (u_long) dp->addrs[i].address;#ifdef CONFIG_PPC64		address += dp->phb->pci_mem_offset;#endif		/* kludge for valkyrie */		if (strcmp(dp->name, "valkyrie") == 0)			address += 0x1000;	}	offb_init_fb(dp->name, dp->full_name, width, height, depth,		     pitch, address, dp);}