Lines Matching refs:bcmsflash
68 static struct bcmsflash_mtd bcmsflash;
219 memset(&bcmsflash, 0, sizeof(struct bcmsflash_mtd));
222 if (!(bcmsflash.sih = si_kattach(SI_OSH))) {
223 printk(KERN_ERR "bcmsflash: error attaching to backplane\n");
229 if (!(info = hndsflash_init(bcmsflash.sih))) {
230 printk(KERN_ERR "bcmsflash: found no supported devices\n");
234 bcmsflash.sfl = info;
237 bcmsflash.region.offset = 0;
238 bcmsflash.region.erasesize = info->blocksize;
239 bcmsflash.region.numblocks = info->numblocks;
240 if (bcmsflash.region.erasesize > bcmsflash.mtd.erasesize)
241 bcmsflash.mtd.erasesize = bcmsflash.region.erasesize;
242 bcmsflash.mtd.size = info->size;
243 bcmsflash.mtd.numeraseregions = 1;
246 bcmsflash.mtd.name = "bcmsflash";
247 bcmsflash.mtd.type = MTD_NORFLASH;
248 bcmsflash.mtd.flags = MTD_CAP_NORFLASH;
249 bcmsflash.mtd.eraseregions = &bcmsflash.region;
250 bcmsflash.mtd.erase = bcmsflash_mtd_erase;
251 bcmsflash.mtd.read = bcmsflash_mtd_read;
252 bcmsflash.mtd.write = bcmsflash_mtd_write;
253 bcmsflash.mtd.writesize = 1;
254 bcmsflash.mtd.priv = &bcmsflash;
255 bcmsflash.mtd.owner = THIS_MODULE;
256 bcmsflash.mtd.mlock = partitions_lock_init();
257 if (!bcmsflash.mtd.mlock)
261 parts = init_mtd_partitions(info, &bcmsflash.mtd, bcmsflash.mtd.size);
264 ret = add_mtd_partitions(&bcmsflash.mtd, parts, i);
266 printk(KERN_ERR "bcmsflash: add_mtd failed\n");
282 del_mtd_partitions(&bcmsflash.mtd);
284 del_mtd_device(&bcmsflash.mtd);