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/kfifo | |
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/kfifo')
-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)); |