Lines Matching refs:map

7  * Generic PCI memory map driver.  We support the following boards:
17 #include <linux/mtd/map.h>
23 int (*init)(struct pci_dev *dev, struct map_pci_info *map);
24 void (*exit)(struct pci_dev *dev, struct map_pci_info *map);
25 unsigned long (*translate)(struct map_pci_info *map, unsigned long ofs);
30 struct map_info map;
32 void (*exit)(struct pci_dev *dev, struct map_pci_info *map);
33 unsigned long (*translate)(struct map_pci_info *map, unsigned long ofs);
39 struct map_pci_info *map = (struct map_pci_info *)_map;
41 val.x[0]= readb(map->base + map->translate(map, ofs));
47 struct map_pci_info *map = (struct map_pci_info *)_map;
49 val.x[0] = readl(map->base + map->translate(map, ofs));
55 struct map_pci_info *map = (struct map_pci_info *)_map;
56 memcpy_fromio(to, map->base + map->translate(map, from), len);
61 struct map_pci_info *map = (struct map_pci_info *)_map;
62 writeb(val.x[0], map->base + map->translate(map, ofs));
67 struct map_pci_info *map = (struct map_pci_info *)_map;
68 writel(val.x[0], map->base + map->translate(map, ofs));
73 struct map_pci_info *map = (struct map_pci_info *)_map;
74 memcpy_toio(map->base + map->translate(map, to), from, len);
88 intel_iq80310_init(struct pci_dev *dev, struct map_pci_info *map)
92 map->map.bankwidth = 1;
93 map->map.read = mtd_pci_read8;
94 map->map.write = mtd_pci_write8;
96 map->map.size = 0x00800000;
97 map->base = ioremap(pci_resource_start(dev, 0),
100 if (!map->base)
110 map->map.map_priv_2 = win_base;
116 intel_iq80310_exit(struct pci_dev *dev, struct map_pci_info *map)
118 if (map->base)
119 iounmap(map->base);
120 pci_write_config_dword(dev, 0x44, map->map.map_priv_2);
124 intel_iq80310_translate(struct map_pci_info *map, unsigned long ofs)
133 writel(0x00000008, map->base + 0x1558);
134 writel(0x00000000, map->base + 0x1550);
136 writel(0x00000007, map->base + 0x1558);
137 writel(0x00800000, map->base + 0x1550);
156 intel_dc21285_init(struct pci_dev *dev, struct map_pci_info *map)
187 map->map.bankwidth = 4;
188 map->map.read = mtd_pci_read32;
189 map->map.write = mtd_pci_write32;
190 map->map.size = len;
191 map->base = ioremap(base, len);
193 if (!map->base)
200 intel_dc21285_exit(struct pci_dev *dev, struct map_pci_info *map)
202 if (map->base)
203 iounmap(map->base);
212 intel_dc21285_translate(struct map_pci_info *map, unsigned long ofs)
255 struct map_pci_info *map = NULL;
267 map = kmalloc(sizeof(*map), GFP_KERNEL);
269 if (!map)
272 map->map = mtd_pci_map;
273 map->map.name = pci_name(dev);
274 map->dev = dev;
275 map->exit = info->exit;
276 map->translate = info->translate;
278 err = info->init(dev, map);
282 mtd = do_map_probe(info->map_name, &map->map);
295 if (map) {
296 map->exit(dev, map);
297 kfree(map);
308 struct map_pci_info *map = mtd->priv;
312 map->exit(dev, map);
313 kfree(map);
329 MODULE_DESCRIPTION("Generic PCI map driver");