78 if (!l440gx_map.virt) {
79 printk(KERN_WARNING "Failed to ioremap L440GX flash region\n");
80 pci_dev_put(pm_dev);
81 return -ENOMEM;
82 }
83 simple_map_init(&l440gx_map);
84 printk(KERN_NOTICE "window_addr = 0x%08lx\n", (unsigned long)l440gx_map.virt);
85
86
87
88
89
90
91 pm_iobase = &pm_dev->resource[PIIXE_IOBASE_RESOURCE];
92 if (!(pm_iobase->flags & IORESOURCE_IO)) {
93 pm_iobase->name = "pm iobase";
94 pm_iobase->start = 0;
95 pm_iobase->end = 63;
96 pm_iobase->flags = IORESOURCE_IO;
97
98
99 pci_read_config_dword(pm_dev, 0x40, &iobase);
100 iobase &= ~1;
101 pm_iobase->start += iobase & ~1;
102 pm_iobase->end += iobase & ~1;
103
104 pci_dev_put(pm_dev);
105
106
107 if (pci_assign_resource(pm_dev, PIIXE_IOBASE_RESOURCE) != 0) {
108 pci_dev_put(dev);
109 pci_dev_put(pm_dev);
110 printk(KERN_WARNING "Could not allocate pm iobase resource\n");
111 iounmap(l440gx_map.virt);
112 return -ENXIO;
113 }
114 }
115
116 iobase = pm_iobase->start;
117 pci_write_config_dword(pm_dev, 0x40, iobase | 1);
118