#ifdef CONFIG_PMAC_PBOOK pmu_register_sleep_notifier(&chips_sleep_notifier); #endif /* CONFIG_PMAC_PBOOK */ 
if (register_framebuffer(p) < 0) { dev_err(&dp->dev,"C&T 65550 framebuffer failed to register\n"); goto err_unmap; } 
chipsfb_pci_init(struct pci_dev *dp, const struct pci_device_id *ent){	struct fb_info *p = &chipsfb_info;	unsigned long addr, size;	unsigned short cmd;	if ((dp->resource[0].flags & IORESOURCE_MEM) == 0)		return -ENODEV;	addr = pci_resource_start(dp, 0);	size = pci_resource_len(dp, 0);	if (addr == 0)		return -ENODEV;	if (p->screen_base != 0)		return -EBUSY;	if (!request_mem_region(addr, size, "chipsfb"))		return -EBUSY;#ifdef __BIG_ENDIAN	addr += 0x800000;	// Use big-endian aperture#endif	/* we should use pci_enable_device here, but,	   the device doesn't declare its I/O ports in its BARs	   so pci_enable_device won't turn on I/O responses */	pci_read_config_word(dp, PCI_COMMAND, &cmd);	cmd |= 3;	/* enable memory and IO space */	pci_write_config_word(dp, PCI_COMMAND, cmd);#ifdef CONFIG_PMAC_BACKLIGHT	/* turn on the backlight */	set_backlight_enable(1);#endif /* CONFIG_PMAC_BACKLIGHT */	p->screen_base = __ioremap(addr, 0x200000, _PAGE_NO_CACHE);	if (p->screen_base == NULL) {		release_mem_region(addr, size);		return -ENOMEM;	}	p->device = &dp->dev;	init_chips(p, addr);#ifdef CONFIG_PMAC_PBOOK	pmu_register_sleep_notifier(&chips_sleep_notifier);#endif /* CONFIG_PMAC_PBOOK */	pci_set_drvdata(dp, p);	return 0;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/8c8709334cec803368a432a33e0f2e116d48fe07/chipsfb.c/clean/drivers/video/chipsfb.c