| .. | .. |
|---|
| 250 | 250 | ESAS2R_DEFAULT_CMD_PER_LUN, |
|---|
| 251 | 251 | .present = 0, |
|---|
| 252 | 252 | .unchecked_isa_dma = 0, |
|---|
| 253 | | - .use_clustering = ENABLE_CLUSTERING, |
|---|
| 254 | 253 | .emulated = 0, |
|---|
| 255 | 254 | .proc_name = ESAS2R_DRVR_NAME, |
|---|
| 256 | 255 | .change_queue_depth = scsi_change_queue_depth, |
|---|
| .. | .. |
|---|
| 614 | 613 | |
|---|
| 615 | 614 | /* Handle ioctl calls to "/proc/scsi/esas2r/ATTOnode" */ |
|---|
| 616 | 615 | static const struct file_operations esas2r_proc_fops = { |
|---|
| 617 | | - .compat_ioctl = esas2r_proc_ioctl, |
|---|
| 616 | + .compat_ioctl = compat_ptr_ioctl, |
|---|
| 618 | 617 | .unlocked_ioctl = esas2r_proc_ioctl, |
|---|
| 618 | +}; |
|---|
| 619 | + |
|---|
| 620 | +static const struct proc_ops esas2r_proc_ops = { |
|---|
| 621 | + .proc_ioctl = esas2r_proc_ioctl, |
|---|
| 622 | +#ifdef CONFIG_COMPAT |
|---|
| 623 | + .proc_compat_ioctl = compat_ptr_ioctl, |
|---|
| 624 | +#endif |
|---|
| 619 | 625 | }; |
|---|
| 620 | 626 | |
|---|
| 621 | 627 | static struct Scsi_Host *esas2r_proc_host; |
|---|
| .. | .. |
|---|
| 624 | 630 | long esas2r_proc_ioctl(struct file *fp, unsigned int cmd, unsigned long arg) |
|---|
| 625 | 631 | { |
|---|
| 626 | 632 | return esas2r_ioctl_handler(esas2r_proc_host->hostdata, |
|---|
| 627 | | - (int)cmd, (void __user *)arg); |
|---|
| 633 | + cmd, (void __user *)arg); |
|---|
| 628 | 634 | } |
|---|
| 629 | 635 | |
|---|
| 630 | 636 | static void __exit esas2r_exit(void) |
|---|
| .. | .. |
|---|
| 729 | 735 | |
|---|
| 730 | 736 | pde = proc_create(ATTONODE_NAME, 0, |
|---|
| 731 | 737 | sh->hostt->proc_dir, |
|---|
| 732 | | - &esas2r_proc_fops); |
|---|
| 738 | + &esas2r_proc_ops); |
|---|
| 733 | 739 | |
|---|
| 734 | 740 | if (!pde) { |
|---|
| 735 | 741 | esas2r_log_dev(ESAS2R_LOG_WARN, |
|---|