9
0
Fork 0

implement memmap for mem driver

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
This commit is contained in:
Sascha Hauer 2008-08-14 10:25:56 +02:00
parent e3dde87030
commit e133ccdda8
3 changed files with 12 additions and 1 deletions

View File

@ -532,6 +532,7 @@ static struct driver_d mem_drv = {
.close = dev_close_default,
.read = mem_read,
.write = mem_write,
.memmap = mem_memmap,
.lseek = dev_lseek_default,
};
@ -543,6 +544,7 @@ static struct driver_d ram_drv = {
.read = mem_read,
.write = mem_write,
.lseek = dev_lseek_default,
.memmap = mem_memmap,
.type = DEVICE_TYPE_DRAM,
};
@ -552,6 +554,7 @@ static struct driver_d rom_drv = {
.open = dev_open_default,
.close = dev_close_default,
.read = mem_read,
.memmap = mem_memmap,
.lseek = dev_lseek_default,
};

View File

@ -604,7 +604,7 @@ void *memmap(int fd, int flags)
struct device_d *dev;
struct fs_driver_d *fsdrv;
FILE *f = &files[fd];
void *ret = NULL;
void *ret = (void *)-1;
dev = f->dev;
@ -962,3 +962,10 @@ ssize_t mem_write(struct device_d *dev, const void *buf, size_t count, ulong off
}
EXPORT_SYMBOL(mem_write);
int mem_memmap(struct device_d *dev, void **map, int flags)
{
*map = dev->map_base;
return 0;
}
EXPORT_SYMBOL(mem_memmap);

View File

@ -240,6 +240,7 @@ int dev_memmap(struct device_d *dev, void **map, int flags);
/* These are used by drivers which work with direct memory accesses */
ssize_t mem_read(struct device_d *dev, void *buf, size_t count, ulong offset, ulong flags);
ssize_t mem_write(struct device_d *dev, const void *buf, size_t count, ulong offset, ulong flags);
int mem_memmap(struct device_d *dev, void **map, int flags);
/* Use this if you have nothing to do in your drivers probe function */
int dummy_probe(struct device_d *);