diff options
-rw-r--r-- | arch/s390/kernel/compat_ioctl.c | 7 | ||||
-rw-r--r-- | drivers/s390/block/dasd_cmb.c | 19 | ||||
-rw-r--r-- | include/asm-s390/cmb.h | 2 |
3 files changed, 9 insertions, 19 deletions
diff --git a/arch/s390/kernel/compat_ioctl.c b/arch/s390/kernel/compat_ioctl.c index 96571ff7115d..03d03c6d3cbb 100644 --- a/arch/s390/kernel/compat_ioctl.c +++ b/arch/s390/kernel/compat_ioctl.c | |||
@@ -16,6 +16,7 @@ | |||
16 | #define CODE | 16 | #define CODE |
17 | #include "../../../fs/compat_ioctl.c" | 17 | #include "../../../fs/compat_ioctl.c" |
18 | #include <asm/dasd.h> | 18 | #include <asm/dasd.h> |
19 | #include <asm/cmb.h> | ||
19 | #include <asm/tape390.h> | 20 | #include <asm/tape390.h> |
20 | 21 | ||
21 | static int do_ioctl32_pointer(unsigned int fd, unsigned int cmd, | 22 | static int do_ioctl32_pointer(unsigned int fd, unsigned int cmd, |
@@ -58,7 +59,11 @@ COMPATIBLE_IOCTL(BIODASDPRRD) | |||
58 | COMPATIBLE_IOCTL(BIODASDPSRD) | 59 | COMPATIBLE_IOCTL(BIODASDPSRD) |
59 | COMPATIBLE_IOCTL(BIODASDGATTR) | 60 | COMPATIBLE_IOCTL(BIODASDGATTR) |
60 | COMPATIBLE_IOCTL(BIODASDSATTR) | 61 | COMPATIBLE_IOCTL(BIODASDSATTR) |
61 | 62 | #if defined(CONFIG_DASD_CMB) || defined(CONFIG_DASD_CMB_MODULE) | |
63 | COMPATIBLE_IOCTL(BIODASDCMFENABLE) | ||
64 | COMPATIBLE_IOCTL(BIODASDCMFDISABLE) | ||
65 | COMPATIBLE_IOCTL(BIODASDREADALLCMB) | ||
66 | #endif | ||
62 | #endif | 67 | #endif |
63 | 68 | ||
64 | #if defined(CONFIG_S390_TAPE) || defined(CONFIG_S390_TAPE_MODULE) | 69 | #if defined(CONFIG_S390_TAPE) || defined(CONFIG_S390_TAPE_MODULE) |
diff --git a/drivers/s390/block/dasd_cmb.c b/drivers/s390/block/dasd_cmb.c index ed1ab474c0c6..4f365bff275c 100644 --- a/drivers/s390/block/dasd_cmb.c +++ b/drivers/s390/block/dasd_cmb.c | |||
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | * linux/drivers/s390/block/dasd_cmb.c ($Revision: 1.6 $) | 2 | * linux/drivers/s390/block/dasd_cmb.c ($Revision: 1.9 $) |
3 | * | 3 | * |
4 | * Linux on zSeries Channel Measurement Facility support | 4 | * Linux on zSeries Channel Measurement Facility support |
5 | * (dasd device driver interface) | 5 | * (dasd device driver interface) |
@@ -23,7 +23,6 @@ | |||
23 | * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | 23 | * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. |
24 | */ | 24 | */ |
25 | #include <linux/init.h> | 25 | #include <linux/init.h> |
26 | #include <linux/ioctl32.h> | ||
27 | #include <linux/module.h> | 26 | #include <linux/module.h> |
28 | #include <asm/ccwdev.h> | 27 | #include <asm/ccwdev.h> |
29 | #include <asm/cmb.h> | 28 | #include <asm/cmb.h> |
@@ -84,27 +83,13 @@ dasd_ioctl_readall_cmb(struct block_device *bdev, int no, long args) | |||
84 | static inline int | 83 | static inline int |
85 | ioctl_reg(unsigned int no, dasd_ioctl_fn_t handler) | 84 | ioctl_reg(unsigned int no, dasd_ioctl_fn_t handler) |
86 | { | 85 | { |
87 | int ret; | 86 | return dasd_ioctl_no_register(THIS_MODULE, no, handler); |
88 | ret = dasd_ioctl_no_register(THIS_MODULE, no, handler); | ||
89 | #ifdef CONFIG_COMPAT | ||
90 | if (ret) | ||
91 | return ret; | ||
92 | |||
93 | ret = register_ioctl32_conversion(no, NULL); | ||
94 | if (ret) | ||
95 | dasd_ioctl_no_unregister(THIS_MODULE, no, handler); | ||
96 | #endif | ||
97 | return ret; | ||
98 | } | 87 | } |
99 | 88 | ||
100 | static inline void | 89 | static inline void |
101 | ioctl_unreg(unsigned int no, dasd_ioctl_fn_t handler) | 90 | ioctl_unreg(unsigned int no, dasd_ioctl_fn_t handler) |
102 | { | 91 | { |
103 | dasd_ioctl_no_unregister(THIS_MODULE, no, handler); | 92 | dasd_ioctl_no_unregister(THIS_MODULE, no, handler); |
104 | #ifdef CONFIG_COMPAT | ||
105 | unregister_ioctl32_conversion(no); | ||
106 | #endif | ||
107 | |||
108 | } | 93 | } |
109 | 94 | ||
110 | static void | 95 | static void |
diff --git a/include/asm-s390/cmb.h b/include/asm-s390/cmb.h index 1bfe2bd630b5..dae1dd4fb937 100644 --- a/include/asm-s390/cmb.h +++ b/include/asm-s390/cmb.h | |||
@@ -52,7 +52,7 @@ struct cmbdata { | |||
52 | #define BIODASDREADALLCMB _IOWR(DASD_IOCTL_LETTER,33,struct cmbdata) | 52 | #define BIODASDREADALLCMB _IOWR(DASD_IOCTL_LETTER,33,struct cmbdata) |
53 | 53 | ||
54 | #ifdef __KERNEL__ | 54 | #ifdef __KERNEL__ |
55 | 55 | struct ccw_device; | |
56 | /** | 56 | /** |
57 | * enable_cmf() - switch on the channel measurement for a specific device | 57 | * enable_cmf() - switch on the channel measurement for a specific device |
58 | * @cdev: The ccw device to be enabled | 58 | * @cdev: The ccw device to be enabled |