upstream: Staging:media: Fix Sparse warnings incorrect type in lirc_sasem.c
authorEbru Akagunduz <ebru.akagunduz@gmail.com>
Wed, 5 Mar 2014 17:15:30 +0000 (19:15 +0200)
committerChanho Park <chanho61.park@samsung.com>
Tue, 18 Nov 2014 02:54:52 +0000 (11:54 +0900)
This patch fixes following sparse warning in dgap.c
drivers/staging/media/lirc/lirc_sasem.c:392:32: warning: incorrect type in argument 1 (different address spaces)
drivers/staging/media/lirc/lirc_sasem.c:392:32:    expected void const [noderef] <asn:1>*<noident>
drivers/staging/media/lirc/lirc_sasem.c:392:32:    got char const *buf
drivers/staging/media/lirc/lirc_sasem.c:123:28: warning: incorrect type in initializer (incompatible argument 2 (different address spaces))
drivers/staging/media/lirc/lirc_sasem.c:123:28:    expected int ( *write )( ... )
drivers/staging/media/lirc/lirc_sasem.c:123:28:    got int ( static [toplevel] *<noident> )( ... )

Signed-off-by: Ebru Akagunduz <ebru.akagunduz@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/media/lirc/lirc_sasem.c

index 68acca7..ff88055 100644 (file)
@@ -75,7 +75,7 @@ static void usb_tx_callback(struct urb *urb);
 static int vfd_open(struct inode *inode, struct file *file);
 static long vfd_ioctl(struct file *file, unsigned cmd, unsigned long arg);
 static int vfd_close(struct inode *inode, struct file *file);
-static ssize_t vfd_write(struct file *file, const char *buf,
+static ssize_t vfd_write(struct file *file, const char __user *buf,
                                size_t n_bytes, loff_t *pos);
 
 /* LIRC driver function prototypes */
@@ -121,7 +121,7 @@ struct sasem_context {
 static const struct file_operations vfd_fops = {
        .owner          = THIS_MODULE,
        .open           = &vfd_open,
-       .write          = &vfd_write,
+       .write          = vfd_write,
        .unlocked_ioctl = &vfd_ioctl,
        .release        = &vfd_close,
        .llseek         = noop_llseek,
@@ -361,7 +361,7 @@ static int send_packet(struct sasem_context *context)
  * and requires data in 9 consecutive USB interrupt packets,
  * each packet carrying 8 bytes.
  */
-static ssize_t vfd_write(struct file *file, const char *buf,
+static ssize_t vfd_write(struct file *file, const char __user *buf,
                                size_t n_bytes, loff_t *pos)
 {
        int i;
@@ -390,7 +390,7 @@ static ssize_t vfd_write(struct file *file, const char *buf,
                goto exit;
        }
 
-       data_buf = memdup_user(buf, n_bytes);
+       data_buf = memdup_user((void const __user *)buf, n_bytes);
        if (IS_ERR(data_buf)) {
                retval = PTR_ERR(data_buf);
                goto exit;