Lines Matching refs:info

40 	struct latch_addr_flash_info *info;  in lf_read()  local
43 info = (struct latch_addr_flash_info *)map->map_priv_1; in lf_read()
45 spin_lock(&info->lock); in lf_read()
47 info->set_window(ofs, info->data); in lf_read()
48 datum = inline_map_read(map, info->win_mask & ofs); in lf_read()
50 spin_unlock(&info->lock); in lf_read()
57 struct latch_addr_flash_info *info; in lf_write() local
59 info = (struct latch_addr_flash_info *)map->map_priv_1; in lf_write()
61 spin_lock(&info->lock); in lf_write()
63 info->set_window(ofs, info->data); in lf_write()
64 inline_map_write(map, datum, info->win_mask & ofs); in lf_write()
66 spin_unlock(&info->lock); in lf_write()
72 struct latch_addr_flash_info *info = in lf_copy_from() local
77 n = info->win_mask + 1 - (from & info->win_mask); in lf_copy_from()
81 spin_lock(&info->lock); in lf_copy_from()
83 info->set_window(from, info->data); in lf_copy_from()
84 memcpy_fromio(to, map->virt + (from & info->win_mask), n); in lf_copy_from()
86 spin_unlock(&info->lock); in lf_copy_from()
98 struct latch_addr_flash_info *info; in latch_addr_flash_remove() local
101 info = platform_get_drvdata(dev); in latch_addr_flash_remove()
102 if (info == NULL) in latch_addr_flash_remove()
107 if (info->mtd != NULL) { in latch_addr_flash_remove()
108 mtd_device_unregister(info->mtd); in latch_addr_flash_remove()
109 map_destroy(info->mtd); in latch_addr_flash_remove()
112 if (info->map.virt != NULL) in latch_addr_flash_remove()
113 iounmap(info->map.virt); in latch_addr_flash_remove()
115 if (info->res != NULL) in latch_addr_flash_remove()
116 release_mem_region(info->res->start, resource_size(info->res)); in latch_addr_flash_remove()
118 kfree(info); in latch_addr_flash_remove()
129 struct latch_addr_flash_info *info; in latch_addr_flash_probe() local
152 info = kzalloc(sizeof(struct latch_addr_flash_info), GFP_KERNEL); in latch_addr_flash_probe()
153 if (info == NULL) { in latch_addr_flash_probe()
158 platform_set_drvdata(dev, info); in latch_addr_flash_probe()
160 info->res = request_mem_region(win_base, win_size, DRIVER_NAME); in latch_addr_flash_probe()
161 if (info->res == NULL) { in latch_addr_flash_probe()
167 info->map.name = DRIVER_NAME; in latch_addr_flash_probe()
168 info->map.size = latch_addr_data->size; in latch_addr_flash_probe()
169 info->map.bankwidth = latch_addr_data->width; in latch_addr_flash_probe()
171 info->map.phys = NO_XIP; in latch_addr_flash_probe()
172 info->map.virt = ioremap(win_base, win_size); in latch_addr_flash_probe()
173 if (!info->map.virt) { in latch_addr_flash_probe()
178 info->map.map_priv_1 = (unsigned long)info; in latch_addr_flash_probe()
180 info->map.read = lf_read; in latch_addr_flash_probe()
181 info->map.copy_from = lf_copy_from; in latch_addr_flash_probe()
182 info->map.write = lf_write; in latch_addr_flash_probe()
183 info->set_window = latch_addr_data->set_window; in latch_addr_flash_probe()
184 info->data = latch_addr_data->data; in latch_addr_flash_probe()
185 info->win_mask = win_size - 1; in latch_addr_flash_probe()
187 spin_lock_init(&info->lock); in latch_addr_flash_probe()
189 for (probe_type = rom_probe_types; !info->mtd && *probe_type; in latch_addr_flash_probe()
191 info->mtd = do_map_probe(*probe_type, &info->map); in latch_addr_flash_probe()
193 if (info->mtd == NULL) { in latch_addr_flash_probe()
198 info->mtd->dev.parent = &dev->dev; in latch_addr_flash_probe()
200 mtd_device_parse_register(info->mtd, NULL, NULL, in latch_addr_flash_probe()
206 iounmap(info->map.virt); in latch_addr_flash_probe()
208 release_mem_region(info->res->start, resource_size(info->res)); in latch_addr_flash_probe()
210 kfree(info); in latch_addr_flash_probe()