| From fecbb7056d621a30f7106e67f5fe209763571b70 Mon Sep 17 00:00:00 2001 |
| From: Andrea Adami <andrea.adami@gmail.com> |
| Date: Sun, 29 Jun 2014 00:40:15 +0200 |
| Subject: [PATCH 3/9] libubi.c: add klibc specific fixes for ioctl |
| |
| First issue is that ioctl() in klibc doesn't expect a constant as arg3. |
| Second issue is that arg3 in klibc ioctl() implementation is not optional. |
| |
| Fixes: |
| |
| | ubi-utils/libubi.c: In function 'do_attach': |
| | ubi-utils/libubi.c:698:8: warning: passing argument 3 of 'ioctl' discards |
| | 'const' qualifier from pointer target type |
| | ret = ioctl(fd, UBI_IOCATT, r); |
| | ^ |
| | In file included from ubi-utils/libubi.c:32:0: |
| | .../lib/klibc/include/sys/ioctl.h:15:14: note: expected 'void *' but argument |
| | is of type 'const struct ubi_attach_req *' |
| | __extern int ioctl(int, int, void *); |
| | ^ |
| |
| | ubi-utils/libubi.c: In function 'ubi_vol_block_create': |
| | ubi-utils/libubi.c:1118:9: error: too few arguments to function 'ioctl' |
| | return ioctl(fd, UBI_IOCVOLCRBLK); |
| | ^ |
| | In file included from ubi-utils/libubi.c:32:0: |
| | .../lib/klibc/include/sys/ioctl.h:15:14: note: declared here |
| | __extern int ioctl(int, int, void *); |
| | ^ |
| | ubi-utils/libubi.c: In function 'ubi_vol_block_remove': |
| | ubi-utils/libubi.c:1123:9: error: too few arguments to function 'ioctl' |
| | return ioctl(fd, UBI_IOCVOLRMBLK); |
| | ^ |
| | In file included from ubi-utils/libubi.c:32:0: |
| | .../usr/lib/klibc/include/sys/ioctl.h:15:14: note: declared here |
| | __extern int ioctl(int, int, void *); |
| | ^ |
| |
| Upstream-Status: Accepted |
| |
| Signed-off-by: Andrea Adami <andrea.adami@gmail.com> |
| --- |
| ubi-utils/libubi.c | 6 +++--- |
| 1 file changed, 3 insertions(+), 3 deletions(-) |
| |
| diff --git a/ubi-utils/libubi.c b/ubi-utils/libubi.c |
| index 97c0434..2b49833 100644 |
| --- a/ubi-utils/libubi.c |
| +++ b/ubi-utils/libubi.c |
| @@ -687,7 +687,7 @@ void libubi_close(libubi_t desc) |
| * success and %-1 in case of failure. @r->ubi_num contains newly created UBI |
| * device number. |
| */ |
| -static int do_attach(const char *node, const struct ubi_attach_req *r) |
| +static int do_attach(const char *node, struct ubi_attach_req *r) |
| { |
| int fd, ret; |
| |
| @@ -1115,12 +1115,12 @@ int ubi_rsvol(libubi_t desc, const char *node, int vol_id, long long bytes) |
| |
| int ubi_vol_block_create(int fd) |
| { |
| - return ioctl(fd, UBI_IOCVOLCRBLK); |
| + return ioctl(fd, UBI_IOCVOLCRBLK, NULL); |
| } |
| |
| int ubi_vol_block_remove(int fd) |
| { |
| - return ioctl(fd, UBI_IOCVOLRMBLK); |
| + return ioctl(fd, UBI_IOCVOLRMBLK, NULL); |
| } |
| |
| int ubi_update_start(libubi_t desc, int fd, long long bytes) |
| -- |
| 2.7.4 |
| |