From: Cornelia Huck The ioctl32_conversion routines will be deprecated: Remove them from dasd_cmb and handle the three cmb ioctls like all other dasd ioctls. Signed-off-by: Martin Schwidefsky Signed-off-by: Andrew Morton --- arch/s390/kernel/compat_ioctl.c | 7 ++++++- drivers/s390/block/dasd_cmb.c | 19 ++----------------- include/asm-s390/cmb.h | 2 +- 3 files changed, 9 insertions(+), 19 deletions(-) diff -puN arch/s390/kernel/compat_ioctl.c~s390-remove-ioctl32-from-dasdcmb arch/s390/kernel/compat_ioctl.c --- 25/arch/s390/kernel/compat_ioctl.c~s390-remove-ioctl32-from-dasdcmb 2005-04-26 03:41:19.260630264 -0700 +++ 25-akpm/arch/s390/kernel/compat_ioctl.c 2005-04-26 03:41:19.266629352 -0700 @@ -16,6 +16,7 @@ #define CODE #include "../../../fs/compat_ioctl.c" #include +#include #include static int do_ioctl32_pointer(unsigned int fd, unsigned int cmd, @@ -58,7 +59,11 @@ COMPATIBLE_IOCTL(BIODASDPRRD) COMPATIBLE_IOCTL(BIODASDPSRD) COMPATIBLE_IOCTL(BIODASDGATTR) COMPATIBLE_IOCTL(BIODASDSATTR) - +#if defined(CONFIG_DASD_CMB) || defined(CONFIG_DASD_CMB_MODULE) +COMPATIBLE_IOCTL(BIODASDCMFENABLE) +COMPATIBLE_IOCTL(BIODASDCMFDISABLE) +COMPATIBLE_IOCTL(BIODASDREADALLCMB) +#endif #endif #if defined(CONFIG_S390_TAPE) || defined(CONFIG_S390_TAPE_MODULE) diff -puN drivers/s390/block/dasd_cmb.c~s390-remove-ioctl32-from-dasdcmb drivers/s390/block/dasd_cmb.c --- 25/drivers/s390/block/dasd_cmb.c~s390-remove-ioctl32-from-dasdcmb 2005-04-26 03:41:19.261630112 -0700 +++ 25-akpm/drivers/s390/block/dasd_cmb.c 2005-04-26 03:41:19.266629352 -0700 @@ -1,5 +1,5 @@ /* - * linux/drivers/s390/block/dasd_cmb.c ($Revision: 1.6 $) + * linux/drivers/s390/block/dasd_cmb.c ($Revision: 1.9 $) * * Linux on zSeries Channel Measurement Facility support * (dasd device driver interface) @@ -23,7 +23,6 @@ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include -#include #include #include #include @@ -84,27 +83,13 @@ dasd_ioctl_readall_cmb(struct block_devi static inline int ioctl_reg(unsigned int no, dasd_ioctl_fn_t handler) { - int ret; - ret = dasd_ioctl_no_register(THIS_MODULE, no, handler); -#ifdef CONFIG_COMPAT - if (ret) - return ret; - - ret = register_ioctl32_conversion(no, NULL); - if (ret) - dasd_ioctl_no_unregister(THIS_MODULE, no, handler); -#endif - return ret; + return dasd_ioctl_no_register(THIS_MODULE, no, handler); } static inline void ioctl_unreg(unsigned int no, dasd_ioctl_fn_t handler) { dasd_ioctl_no_unregister(THIS_MODULE, no, handler); -#ifdef CONFIG_COMPAT - unregister_ioctl32_conversion(no); -#endif - } static void diff -puN include/asm-s390/cmb.h~s390-remove-ioctl32-from-dasdcmb include/asm-s390/cmb.h --- 25/include/asm-s390/cmb.h~s390-remove-ioctl32-from-dasdcmb 2005-04-26 03:41:19.263629808 -0700 +++ 25-akpm/include/asm-s390/cmb.h 2005-04-26 03:41:19.266629352 -0700 @@ -52,7 +52,7 @@ struct cmbdata { #define BIODASDREADALLCMB _IOWR(DASD_IOCTL_LETTER,33,struct cmbdata) #ifdef __KERNEL__ - +struct ccw_device; /** * enable_cmf() - switch on the channel measurement for a specific device * @cdev: The ccw device to be enabled _