diff options
| author | David Woodhouse <dwmw2@shinybook.infradead.org> | 2006-04-28 20:42:26 -0400 |
|---|---|---|
| committer | David Woodhouse <dwmw2@infradead.org> | 2006-04-28 20:42:26 -0400 |
| commit | d6754b401a15eaa16492ea5dbaa4826361d3f411 (patch) | |
| tree | 032f067d3af458527d903a7653885404ed82431e /drivers/char | |
| parent | acc429a517bd11fdcac9bea97d082d26231beb92 (diff) | |
| parent | 693f7d362055261882659475d2ef022e32edbff1 (diff) | |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
Diffstat (limited to 'drivers/char')
| -rw-r--r-- | drivers/char/mem.c | 14 | ||||
| -rw-r--r-- | drivers/char/mwave/mwavedd.c | 2 | ||||
| -rw-r--r-- | drivers/char/tipar.c | 2 |
3 files changed, 16 insertions, 2 deletions
diff --git a/drivers/char/mem.c b/drivers/char/mem.c index 66719f9d294c..1fa9fa157c12 100644 --- a/drivers/char/mem.c +++ b/drivers/char/mem.c | |||
| @@ -27,6 +27,7 @@ | |||
| 27 | #include <linux/crash_dump.h> | 27 | #include <linux/crash_dump.h> |
| 28 | #include <linux/backing-dev.h> | 28 | #include <linux/backing-dev.h> |
| 29 | #include <linux/bootmem.h> | 29 | #include <linux/bootmem.h> |
| 30 | #include <linux/pipe_fs_i.h> | ||
| 30 | 31 | ||
| 31 | #include <asm/uaccess.h> | 32 | #include <asm/uaccess.h> |
| 32 | #include <asm/io.h> | 33 | #include <asm/io.h> |
| @@ -578,6 +579,18 @@ static ssize_t write_null(struct file * file, const char __user * buf, | |||
| 578 | return count; | 579 | return count; |
| 579 | } | 580 | } |
| 580 | 581 | ||
| 582 | static int pipe_to_null(struct pipe_inode_info *info, struct pipe_buffer *buf, | ||
| 583 | struct splice_desc *sd) | ||
| 584 | { | ||
| 585 | return sd->len; | ||
| 586 | } | ||
| 587 | |||
| 588 | static ssize_t splice_write_null(struct pipe_inode_info *pipe,struct file *out, | ||
| 589 | loff_t *ppos, size_t len, unsigned int flags) | ||
| 590 | { | ||
| 591 | return splice_from_pipe(pipe, out, ppos, len, flags, pipe_to_null); | ||
| 592 | } | ||
| 593 | |||
| 581 | #ifdef CONFIG_MMU | 594 | #ifdef CONFIG_MMU |
| 582 | /* | 595 | /* |
| 583 | * For fun, we are using the MMU for this. | 596 | * For fun, we are using the MMU for this. |
| @@ -785,6 +798,7 @@ static struct file_operations null_fops = { | |||
| 785 | .llseek = null_lseek, | 798 | .llseek = null_lseek, |
| 786 | .read = read_null, | 799 | .read = read_null, |
| 787 | .write = write_null, | 800 | .write = write_null, |
| 801 | .splice_write = splice_write_null, | ||
| 788 | }; | 802 | }; |
| 789 | 803 | ||
| 790 | #if defined(CONFIG_ISA) || !defined(__mc68000__) | 804 | #if defined(CONFIG_ISA) || !defined(__mc68000__) |
diff --git a/drivers/char/mwave/mwavedd.c b/drivers/char/mwave/mwavedd.c index 8666171e187b..d3ba2f860ef0 100644 --- a/drivers/char/mwave/mwavedd.c +++ b/drivers/char/mwave/mwavedd.c | |||
| @@ -271,7 +271,7 @@ static int mwave_ioctl(struct inode *inode, struct file *file, | |||
| 271 | ipcnum, | 271 | ipcnum, |
| 272 | pDrvData->IPCs[ipcnum].usIntCount); | 272 | pDrvData->IPCs[ipcnum].usIntCount); |
| 273 | 273 | ||
| 274 | if (ipcnum > ARRAY_SIZE(pDrvData->IPCs)) { | 274 | if (ipcnum >= ARRAY_SIZE(pDrvData->IPCs)) { |
| 275 | PRINTK_ERROR(KERN_ERR_MWAVE | 275 | PRINTK_ERROR(KERN_ERR_MWAVE |
| 276 | "mwavedd::mwave_ioctl:" | 276 | "mwavedd::mwave_ioctl:" |
| 277 | " IOCTL_MW_REGISTER_IPC:" | 277 | " IOCTL_MW_REGISTER_IPC:" |
diff --git a/drivers/char/tipar.c b/drivers/char/tipar.c index eb2eb3e12d6a..079db5a935a1 100644 --- a/drivers/char/tipar.c +++ b/drivers/char/tipar.c | |||
| @@ -515,7 +515,7 @@ tipar_init_module(void) | |||
| 515 | err = PTR_ERR(tipar_class); | 515 | err = PTR_ERR(tipar_class); |
| 516 | goto out_chrdev; | 516 | goto out_chrdev; |
| 517 | } | 517 | } |
| 518 | if (parport_register_driver(&tipar_driver) || tp_count == 0) { | 518 | if (parport_register_driver(&tipar_driver)) { |
| 519 | printk(KERN_ERR "tipar: unable to register with parport\n"); | 519 | printk(KERN_ERR "tipar: unable to register with parport\n"); |
| 520 | err = -EIO; | 520 | err = -EIO; |
| 521 | goto out_class; | 521 | goto out_class; |
