diff --git a/sdbfs/kernel/sdb-fakedev.c b/sdbfs/kernel/sdb-fakedev.c index a3e158d2bd312e0a7a9bdaf1fb2646cd996edc5d..4d83c4d6d5f7ef170fac98f40e03496ce9691ed0 100644 --- a/sdbfs/kernel/sdb-fakedev.c +++ b/sdbfs/kernel/sdb-fakedev.c @@ -77,6 +77,7 @@ static int fakedev_init(void) } d->sd.name = fakedev_fsimg[i]; d->sd.blocksize = 64; /* bah! */ + d->sd.size = d->fw->size; d->sd.ops = &fakedev_ops; if (sdbfs_register_device(&d->sd) < 0) { dev_err(&fakedev_device, "can't register %s\n", diff --git a/sdbfs/kernel/sdb-iomem.c b/sdbfs/kernel/sdb-iomem.c index 5b3694f88aaab974ff7452814724614477bbca30..c93a4c0b367d74169554c14a4464f2e13257793f 100644 --- a/sdbfs/kernel/sdb-iomem.c +++ b/sdbfs/kernel/sdb-iomem.c @@ -62,7 +62,7 @@ static int sdbmem_parse(char *desc, struct sdbmem *d) d->address = ioremap(addr, size); if (!d->address) return -ENOMEM; - d->datalen = size; + d->sd.size = d->datalen = size; return 0; } diff --git a/sdbfs/kernel/sdbfs.h b/sdbfs/kernel/sdbfs.h index 427614d000a0cb371b1f9ac7575921ce7151ee8d..d0176e19077bcbf3ee999c96822c697838277938 100644 --- a/sdbfs/kernel/sdbfs.h +++ b/sdbfs/kernel/sdbfs.h @@ -35,6 +35,9 @@ struct sdbfs_dev { unsigned long entrypoint; struct sdbfs_dev_ops *ops; struct list_head list; + unsigned long size; + /* Following is private to the FS code */ + unsigned long ino_base; }; /* flags */