#include "raw1394.h"
#include "raw1394-private.h"
-#define int2ptr(x) ((void __user *)(unsigned long)x)
+#if BITS_PER_LONG == 64
+#define int2ptr(x) ((void __user *)x)
#define ptr2int(x) ((u64)(unsigned long)(void __user *)x)
+#else
+#define int2ptr(x) ((void __user *)(u32)x)
+#define ptr2int(x) ((u64)(unsigned long)(void __user *)x)
+#endif
#ifdef CONFIG_IEEE1394_VERBOSEDEBUG
#define RAW1394_DEBUG
if (another_host) {
DBGMSG("another hosts entry is valid -> SUCCESS");
if (copy_to_user(int2ptr(req->req.recvb),
- &addr->start,sizeof(u64))) {
+ int2ptr(&addr->start),sizeof(u64))) {
printk(KERN_ERR "raw1394: arm_register failed "
" address-range-entry is invalid -> EFAULT !!!\n");
vfree(addr->addr_space_buffer);