2013-05-09 20:39:46

by Emil Goode

[permalink] [raw]
Subject: [PATCH] bcache: Fix incompatible pointer type warning

The function pointer release in struct block_device_operations
should point to functions declared as void.

Sparse warnings:

drivers/md/bcache/super.c:656:27: warning:
incorrect type in initializer (different base types)
drivers/md/bcache/super.c:656:27:
expected void ( *release )( ... )
drivers/md/bcache/super.c:656:27:
got int ( static [toplevel] *<noident> )( ... )

drivers/md/bcache/super.c:656:2: warning:
initialization from incompatible pointer type [enabled by default]

drivers/md/bcache/super.c:656:2: warning:
(near initialization for ‘bcache_ops.release’) [enabled by default]

Signed-off-by: Emil Goode <[email protected]>
---
drivers/md/bcache/super.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/md/bcache/super.c b/drivers/md/bcache/super.c
index 76c7f6c..938bbff 100644
--- a/drivers/md/bcache/super.c
+++ b/drivers/md/bcache/super.c
@@ -637,11 +637,10 @@ static int open_dev(struct block_device *b, fmode_t mode)
return 0;
}

-static int release_dev(struct gendisk *b, fmode_t mode)
+static void release_dev(struct gendisk *b, fmode_t mode)
{
struct bcache_device *d = b->private_data;
closure_put(&d->cl);
- return 0;
}

static int ioctl_dev(struct block_device *b, fmode_t mode,
--
1.7.10.4


2013-05-09 20:57:31

by Kent Overstreet

[permalink] [raw]
Subject: Re: [PATCH] bcache: Fix incompatible pointer type warning

On Thu, May 09, 2013 at 10:39:26PM +0200, Emil Goode wrote:
> The function pointer release in struct block_device_operations
> should point to functions declared as void.

Looks like .release just changed to returning void in the merge window -
thanks, applied