<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">
From: Cornelia Huck &lt;cohuck@de.ibm.com&gt;

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 &lt;schwidefsky@de.ibm.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
---

 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 &lt;asm/dasd.h&gt;
+#include &lt;asm/cmb.h&gt;
 #include &lt;asm/tape390.h&gt;
 
 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 &lt;linux/init.h&gt;
-#include &lt;linux/ioctl32.h&gt;
 #include &lt;linux/module.h&gt;
 #include &lt;asm/ccwdev.h&gt;
 #include &lt;asm/cmb.h&gt;
@@ -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
_
</pre></body></html>