Lines Matching defs:ltq_mtd
39 struct ltq_mtd {
111 struct ltq_mtd *ltq_mtd;
115 ltq_mtd = devm_kzalloc(&pdev->dev, sizeof(struct ltq_mtd), GFP_KERNEL);
116 if (!ltq_mtd)
119 platform_set_drvdata(pdev, ltq_mtd);
121 ltq_mtd->res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
122 if (!ltq_mtd->res) {
127 ltq_mtd->map = devm_kzalloc(&pdev->dev, sizeof(struct map_info),
129 if (!ltq_mtd->map)
132 ltq_mtd->map->phys = ltq_mtd->res->start;
133 ltq_mtd->map->size = resource_size(ltq_mtd->res);
134 ltq_mtd->map->virt = devm_ioremap_resource(&pdev->dev, ltq_mtd->res);
135 if (IS_ERR(ltq_mtd->map->virt))
136 return PTR_ERR(ltq_mtd->map->virt);
138 ltq_mtd->map->name = ltq_map_name;
139 ltq_mtd->map->bankwidth = 2;
140 ltq_mtd->map->read = ltq_read16;
141 ltq_mtd->map->write = ltq_write16;
142 ltq_mtd->map->copy_from = ltq_copy_from;
143 ltq_mtd->map->copy_to = ltq_copy_to;
145 ltq_mtd->map->map_priv_1 = LTQ_NOR_PROBING;
146 ltq_mtd->mtd = do_map_probe("cfi_probe", ltq_mtd->map);
147 ltq_mtd->map->map_priv_1 = LTQ_NOR_NORMAL;
149 if (!ltq_mtd->mtd) {
154 ltq_mtd->mtd->dev.parent = &pdev->dev;
155 mtd_set_of_node(ltq_mtd->mtd, pdev->dev.of_node);
157 cfi = ltq_mtd->map->fldrv_priv;
161 err = mtd_device_register(ltq_mtd->mtd, NULL, 0);
170 map_destroy(ltq_mtd->mtd);
177 struct ltq_mtd *ltq_mtd = platform_get_drvdata(pdev);
179 if (ltq_mtd && ltq_mtd->mtd) {
180 mtd_device_unregister(ltq_mtd->mtd);
181 map_destroy(ltq_mtd->mtd);