diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2008-06-06 09:25:13 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2008-06-06 09:30:48 +0200 |
commit | ee6d36a5405305f3bbdb0457948c219731b3d9cc (patch) | |
tree | 0a328bd96f2cf2f190372b654515e509c694930a /commands/mem.c | |
parent | 3f73e61600f8fce0b6fa02e9a82124c1c89937c7 (diff) | |
download | barebox-ee6d36a5405305f3bbdb0457948c219731b3d9cc.tar.gz barebox-ee6d36a5405305f3bbdb0457948c219731b3d9cc.tar.xz |
- introduce ioctl call
- pass open/close/lseek through to drivers
Diffstat (limited to 'commands/mem.c')
-rw-r--r-- | commands/mem.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/commands/mem.c b/commands/mem.c index be71ee4cec..f7b9e4bb60 100644 --- a/commands/mem.c +++ b/commands/mem.c @@ -120,6 +120,9 @@ int open_and_lseek(const char *filename, int mode, ulong pos) return fd; } + if (!pos) + return fd; + ret = lseek(fd, pos, SEEK_SET); if (ret < 0) { perror("lseek"); @@ -525,22 +528,31 @@ static struct device_d mem_dev = { static struct driver_d mem_drv = { .name = "mem", .probe = dummy_probe, + .open = dev_open_default, + .close = dev_close_default, .read = mem_read, .write = mem_write, + .lseek = dev_lseek_default, }; static struct driver_d ram_drv = { .name = "ram", .probe = dummy_probe, + .open = dev_open_default, + .close = dev_close_default, .read = mem_read, .write = mem_write, + .lseek = dev_lseek_default, .type = DEVICE_TYPE_DRAM, }; static struct driver_d rom_drv = { .name = "rom", .probe = dummy_probe, + .open = dev_open_default, + .close = dev_close_default, .read = mem_read, + .lseek = dev_lseek_default, }; static int mem_init(void) |