Lines Matching refs:curmtd
135 slram_mtd_list_t **curmtd; in register_device() local
137 curmtd = &slram_mtdlist; in register_device()
138 while (*curmtd) { in register_device()
139 curmtd = &(*curmtd)->next; in register_device()
142 *curmtd = kmalloc(sizeof(slram_mtd_list_t), GFP_KERNEL); in register_device()
143 if (!(*curmtd)) { in register_device()
147 (*curmtd)->mtdinfo = kzalloc(sizeof(struct mtd_info), GFP_KERNEL); in register_device()
148 (*curmtd)->next = NULL; in register_device()
150 if ((*curmtd)->mtdinfo) { in register_device()
151 (*curmtd)->mtdinfo->priv = in register_device()
154 if (!(*curmtd)->mtdinfo->priv) { in register_device()
155 kfree((*curmtd)->mtdinfo); in register_device()
156 (*curmtd)->mtdinfo = NULL; in register_device()
160 if (!(*curmtd)->mtdinfo) { in register_device()
165 if (!(((slram_priv_t *)(*curmtd)->mtdinfo->priv)->start = in register_device()
170 ((slram_priv_t *)(*curmtd)->mtdinfo->priv)->end = in register_device()
171 ((slram_priv_t *)(*curmtd)->mtdinfo->priv)->start + length; in register_device()
174 (*curmtd)->mtdinfo->name = name; in register_device()
175 (*curmtd)->mtdinfo->size = length; in register_device()
176 (*curmtd)->mtdinfo->flags = MTD_CAP_RAM; in register_device()
177 (*curmtd)->mtdinfo->_erase = slram_erase; in register_device()
178 (*curmtd)->mtdinfo->_point = slram_point; in register_device()
179 (*curmtd)->mtdinfo->_unpoint = slram_unpoint; in register_device()
180 (*curmtd)->mtdinfo->_read = slram_read; in register_device()
181 (*curmtd)->mtdinfo->_write = slram_write; in register_device()
182 (*curmtd)->mtdinfo->owner = THIS_MODULE; in register_device()
183 (*curmtd)->mtdinfo->type = MTD_RAM; in register_device()
184 (*curmtd)->mtdinfo->erasesize = SLRAM_BLK_SZ; in register_device()
185 (*curmtd)->mtdinfo->writesize = 1; in register_device()
187 if (mtd_device_register((*curmtd)->mtdinfo, NULL, 0)) { in register_device()
189 iounmap(((slram_priv_t *)(*curmtd)->mtdinfo->priv)->start); in register_device()
190 kfree((*curmtd)->mtdinfo->priv); in register_device()
191 kfree((*curmtd)->mtdinfo); in register_device()
197 ((slram_priv_t *)(*curmtd)->mtdinfo->priv)->start, in register_device()
198 ((slram_priv_t *)(*curmtd)->mtdinfo->priv)->end); in register_device()