diff options
| author | Stefani Seibold <stefani@seibold.net> | 2013-11-14 17:32:17 -0500 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-11-14 19:32:23 -0500 |
| commit | 498d319bb512992ef0784c278fa03679f2f5649d (patch) | |
| tree | 2793b41c3a98b858d24aa833ccc2bfb2f6d60974 /samples | |
| parent | a019e48cfbfb358786326db3dbc1c565b8f14a56 (diff) | |
kfifo API type safety
This patch enhances the type safety for the kfifo API. It is now safe
to put const data into a non const FIFO and the API will now generate a
compiler warning when reading from the fifo where the destination
address is pointing to a const variable.
As a side effect the kfifo_put() does now expect the value of an element
instead a pointer to the element. This was suggested Russell King. It
make the handling of the kfifo_put easier since there is no need to
create a helper variable for getting the address of a pointer or to pass
integers of different sizes.
IMHO the API break is okay, since there are currently only six users of
kfifo_put().
The code is also cleaner by kicking out the "if (0)" expressions.
[akpm@linux-foundation.org: coding-style fixes]
Signed-off-by: Stefani Seibold <stefani@seibold.net>
Cc: Russell King <rmk@arm.linux.org.uk>
Cc: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'samples')
| -rw-r--r-- | samples/kfifo/bytestream-example.c | 4 | ||||
| -rw-r--r-- | samples/kfifo/dma-example.c | 2 | ||||
| -rw-r--r-- | samples/kfifo/inttype-example.c | 4 |
3 files changed, 5 insertions, 5 deletions
diff --git a/samples/kfifo/bytestream-example.c b/samples/kfifo/bytestream-example.c index cfe40addda76..2fca916d9edf 100644 --- a/samples/kfifo/bytestream-example.c +++ b/samples/kfifo/bytestream-example.c | |||
| @@ -64,7 +64,7 @@ static int __init testfunc(void) | |||
| 64 | 64 | ||
| 65 | /* put values into the fifo */ | 65 | /* put values into the fifo */ |
| 66 | for (i = 0; i != 10; i++) | 66 | for (i = 0; i != 10; i++) |
| 67 | kfifo_put(&test, &i); | 67 | kfifo_put(&test, i); |
| 68 | 68 | ||
| 69 | /* show the number of used elements */ | 69 | /* show the number of used elements */ |
| 70 | printk(KERN_INFO "fifo len: %u\n", kfifo_len(&test)); | 70 | printk(KERN_INFO "fifo len: %u\n", kfifo_len(&test)); |
| @@ -85,7 +85,7 @@ static int __init testfunc(void) | |||
| 85 | kfifo_skip(&test); | 85 | kfifo_skip(&test); |
| 86 | 86 | ||
| 87 | /* put values into the fifo until is full */ | 87 | /* put values into the fifo until is full */ |
| 88 | for (i = 20; kfifo_put(&test, &i); i++) | 88 | for (i = 20; kfifo_put(&test, i); i++) |
| 89 | ; | 89 | ; |
| 90 | 90 | ||
| 91 | printk(KERN_INFO "queue len: %u\n", kfifo_len(&test)); | 91 | printk(KERN_INFO "queue len: %u\n", kfifo_len(&test)); |
diff --git a/samples/kfifo/dma-example.c b/samples/kfifo/dma-example.c index 06473791c08a..aa243db93f01 100644 --- a/samples/kfifo/dma-example.c +++ b/samples/kfifo/dma-example.c | |||
| @@ -39,7 +39,7 @@ static int __init example_init(void) | |||
| 39 | kfifo_in(&fifo, "test", 4); | 39 | kfifo_in(&fifo, "test", 4); |
| 40 | 40 | ||
| 41 | for (i = 0; i != 9; i++) | 41 | for (i = 0; i != 9; i++) |
| 42 | kfifo_put(&fifo, &i); | 42 | kfifo_put(&fifo, i); |
| 43 | 43 | ||
| 44 | /* kick away first byte */ | 44 | /* kick away first byte */ |
| 45 | kfifo_skip(&fifo); | 45 | kfifo_skip(&fifo); |
diff --git a/samples/kfifo/inttype-example.c b/samples/kfifo/inttype-example.c index 6f8e79e76c9e..8dc3c2e7105a 100644 --- a/samples/kfifo/inttype-example.c +++ b/samples/kfifo/inttype-example.c | |||
| @@ -61,7 +61,7 @@ static int __init testfunc(void) | |||
| 61 | 61 | ||
| 62 | /* put values into the fifo */ | 62 | /* put values into the fifo */ |
| 63 | for (i = 0; i != 10; i++) | 63 | for (i = 0; i != 10; i++) |
| 64 | kfifo_put(&test, &i); | 64 | kfifo_put(&test, i); |
| 65 | 65 | ||
| 66 | /* show the number of used elements */ | 66 | /* show the number of used elements */ |
| 67 | printk(KERN_INFO "fifo len: %u\n", kfifo_len(&test)); | 67 | printk(KERN_INFO "fifo len: %u\n", kfifo_len(&test)); |
| @@ -78,7 +78,7 @@ static int __init testfunc(void) | |||
| 78 | kfifo_skip(&test); | 78 | kfifo_skip(&test); |
| 79 | 79 | ||
| 80 | /* put values into the fifo until is full */ | 80 | /* put values into the fifo until is full */ |
| 81 | for (i = 20; kfifo_put(&test, &i); i++) | 81 | for (i = 20; kfifo_put(&test, i); i++) |
| 82 | ; | 82 | ; |
| 83 | 83 | ||
| 84 | printk(KERN_INFO "queue len: %u\n", kfifo_len(&test)); | 84 | printk(KERN_INFO "queue len: %u\n", kfifo_len(&test)); |
