aboutsummaryrefslogtreecommitdiffstats
path: root/samples/kfifo
diff options
context:
space:
mode:
authorStefani Seibold <stefani@seibold.net>2013-11-14 17:32:17 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2013-11-14 19:32:23 -0500
commit498d319bb512992ef0784c278fa03679f2f5649d (patch)
tree2793b41c3a98b858d24aa833ccc2bfb2f6d60974 /samples/kfifo
parenta019e48cfbfb358786326db3dbc1c565b8f14a56 (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.c4
-rw-r--r--samples/kfifo/dma-example.c2
-rw-r--r--samples/kfifo/inttype-example.c4
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));