kfifo: Use "const" definitions
Alan Cox [Sat, 19 Sep 2009 20:13:17 +0000 (13:13 -0700)]
Currently kfifo cannot be used by parts of the kernel that use "const"
properly as kfifo itself does not use const for passed data blocks which
are indeed const.

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

include/linux/kfifo.h
kernel/kfifo.c

index 29f62e1..ad6bdf5 100644 (file)
@@ -38,7 +38,7 @@ extern struct kfifo *kfifo_alloc(unsigned int size, gfp_t gfp_mask,
                                 spinlock_t *lock);
 extern void kfifo_free(struct kfifo *fifo);
 extern unsigned int __kfifo_put(struct kfifo *fifo,
-                               unsigned char *buffer, unsigned int len);
+                               const unsigned char *buffer, unsigned int len);
 extern unsigned int __kfifo_get(struct kfifo *fifo,
                                unsigned char *buffer, unsigned int len);
 
@@ -77,7 +77,7 @@ static inline void kfifo_reset(struct kfifo *fifo)
  * bytes copied.
  */
 static inline unsigned int kfifo_put(struct kfifo *fifo,
-                                    unsigned char *buffer, unsigned int len)
+                               const unsigned char *buffer, unsigned int len)
 {
        unsigned long flags;
        unsigned int ret;
index 26539e3..3765ff3 100644 (file)
@@ -117,7 +117,7 @@ EXPORT_SYMBOL(kfifo_free);
  * writer, you don't need extra locking to use these functions.
  */
 unsigned int __kfifo_put(struct kfifo *fifo,
-                        unsigned char *buffer, unsigned int len)
+                       const unsigned char *buffer, unsigned int len)
 {
        unsigned int l;