diff options
| author | skrll <skrll@NetBSD.org> | 2018-01-19 09:04:23 +0000 |
|---|---|---|
| committer | skrll <skrll@NetBSD.org> | 2018-01-19 09:04:23 +0000 |
| commit | 22fb64139bf6006023945a42f725dac0b85f1582 (patch) | |
| tree | 8c375a2b43307cacc6255b9cf7b4f17f37ee5359 /sys/dev/raidframe | |
| parent | 9307dddcda3dd2c8f914652306882454a8b12161 (diff) | |
Fix some ARM kernel builds. ARM abuses compat32 for ABI compatibility and
this means some ioctls overlap.
Diffstat (limited to 'sys/dev/raidframe')
| -rw-r--r-- | sys/dev/raidframe/rf_netbsdkintf.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/sys/dev/raidframe/rf_netbsdkintf.c b/sys/dev/raidframe/rf_netbsdkintf.c index 03174772114..9ecadaa6745 100644 --- a/sys/dev/raidframe/rf_netbsdkintf.c +++ b/sys/dev/raidframe/rf_netbsdkintf.c @@ -1,4 +1,4 @@ -/* $NetBSD: rf_netbsdkintf.c,v 1.353 2018/01/18 00:32:49 mrg Exp $ */ +/* $NetBSD: rf_netbsdkintf.c,v 1.354 2018/01/19 09:04:23 skrll Exp $ */ /*- * Copyright (c) 1996, 1997, 1998, 2008-2011 The NetBSD Foundation, Inc. @@ -101,7 +101,7 @@ ***********************************************************/ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: rf_netbsdkintf.c,v 1.353 2018/01/18 00:32:49 mrg Exp $"); +__KERNEL_RCSID(0, "$NetBSD: rf_netbsdkintf.c,v 1.354 2018/01/19 09:04:23 skrll Exp $"); #ifdef _KERNEL_OPT #include "opt_compat_netbsd.h" @@ -1115,8 +1115,10 @@ raidioctl(dev_t dev, u_long cmd, void *data, int flag, struct lwp *l) case RAIDFRAME_GET_COMPONENT_LABEL80: #endif #ifdef COMPAT_NETBSD32 +#ifdef _LP64 case RAIDFRAME_GET_INFO32: #endif +#endif if ((rs->sc_flags & RAIDF_INITED) == 0) return (ENXIO); } @@ -1152,8 +1154,10 @@ raidioctl(dev_t dev, u_long cmd, void *data, int flag, struct lwp *l) /* configure the system */ case RAIDFRAME_CONFIGURE: #ifdef COMPAT_NETBSD32 +#ifdef _LP64 case RAIDFRAME_CONFIGURE32: #endif +#endif if (raidPtr->valid) { /* There is a valid RAID set running on this unit! */ @@ -1169,11 +1173,13 @@ raidioctl(dev_t dev, u_long cmd, void *data, int flag, struct lwp *l) return (ENOMEM); } #ifdef COMPAT_NETBSD32 +#ifdef _LP64 if (cmd == RAIDFRAME_CONFIGURE32 && (l->l_proc->p_flag & PK_32) != 0) retcode = rf_config_netbsd32(data, k_cfg); else #endif +#endif { u_cfg = *((RF_Config_t **) data); retcode = copyin(u_cfg, k_cfg, sizeof(RF_Config_t)); @@ -1476,8 +1482,10 @@ raidioctl(dev_t dev, u_long cmd, void *data, int flag, struct lwp *l) case RAIDFRAME_GET_INFO: #ifdef COMPAT_NETBSD32 +#ifdef _LP64 case RAIDFRAME_GET_INFO32: #endif +#endif RF_Malloc(d_cfg, sizeof(RF_DeviceConfig_t), (RF_DeviceConfig_t *)); if (d_cfg == NULL) @@ -1485,10 +1493,12 @@ raidioctl(dev_t dev, u_long cmd, void *data, int flag, struct lwp *l) retcode = rf_get_info(raidPtr, d_cfg); if (retcode == 0) { #ifdef COMPAT_NETBSD32 +#ifdef _LP64 if (cmd == RAIDFRAME_GET_INFO32) ucfgp = NETBSD32PTR64(*(netbsd32_pointer_t *)data); else #endif +#endif ucfgp = *(RF_DeviceConfig_t **)data; retcode = copyout(d_cfg, ucfgp, sizeof(RF_DeviceConfig_t)); } |
