kbdmux.c (193752) | kbdmux.c (213770) |
---|---|
1/* 2 * kbdmux.c 3 */ 4 5/*- 6 * Copyright (c) 2005 Maksim Yevmenkin <m_evmenkin@yahoo.com> 7 * All rights reserved. 8 * --- 14 unchanged lines hidden (view full) --- 23 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 24 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 25 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 26 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 27 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 28 * SUCH DAMAGE. 29 * 30 * $Id: kbdmux.c,v 1.4 2005/07/14 17:38:35 max Exp $ | 1/* 2 * kbdmux.c 3 */ 4 5/*- 6 * Copyright (c) 2005 Maksim Yevmenkin <m_evmenkin@yahoo.com> 7 * All rights reserved. 8 * --- 14 unchanged lines hidden (view full) --- 23 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 24 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 25 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 26 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 27 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 28 * SUCH DAMAGE. 29 * 30 * $Id: kbdmux.c,v 1.4 2005/07/14 17:38:35 max Exp $ |
31 * $FreeBSD: head/sys/dev/kbdmux/kbdmux.c 193752 2009-06-08 20:24:29Z ed $ | 31 * $FreeBSD: head/sys/dev/kbdmux/kbdmux.c 213770 2010-10-13 11:37:12Z rpaulo $ |
32 */ 33 34#include "opt_compat.h" 35#include "opt_kbd.h" 36 37#include <sys/param.h> 38#include <sys/bus.h> 39#include <sys/conf.h> --- 1070 unchanged lines hidden (view full) --- 1110 1111 return (EINVAL); 1112 } 1113 1114 KBD_LED_VAL(kbd) = *(int *)arg; 1115 1116 /* KDSETLED on all slave keyboards */ 1117 SLIST_FOREACH(k, &state->ks_kbds, next) | 32 */ 33 34#include "opt_compat.h" 35#include "opt_kbd.h" 36 37#include <sys/param.h> 38#include <sys/bus.h> 39#include <sys/conf.h> --- 1070 unchanged lines hidden (view full) --- 1110 1111 return (EINVAL); 1112 } 1113 1114 KBD_LED_VAL(kbd) = *(int *)arg; 1115 1116 /* KDSETLED on all slave keyboards */ 1117 SLIST_FOREACH(k, &state->ks_kbds, next) |
1118 kbdd_ioctl(k->kbd, KDSETLED, arg); | 1118 (void)kbdd_ioctl(k->kbd, KDSETLED, arg); |
1119 1120 KBDMUX_UNLOCK(state); 1121 break; 1122 1123 case KDGKBSTATE: /* get lock key state */ 1124 KBDMUX_LOCK(state); 1125 *(int *)arg = state->ks_state & LOCK_MASK; 1126 KBDMUX_UNLOCK(state); --- 14 unchanged lines hidden (view full) --- 1141 return (EINVAL); 1142 } 1143 1144 state->ks_state &= ~LOCK_MASK; 1145 state->ks_state |= *(int *)arg; 1146 1147 /* KDSKBSTATE on all slave keyboards */ 1148 SLIST_FOREACH(k, &state->ks_kbds, next) | 1119 1120 KBDMUX_UNLOCK(state); 1121 break; 1122 1123 case KDGKBSTATE: /* get lock key state */ 1124 KBDMUX_LOCK(state); 1125 *(int *)arg = state->ks_state & LOCK_MASK; 1126 KBDMUX_UNLOCK(state); --- 14 unchanged lines hidden (view full) --- 1141 return (EINVAL); 1142 } 1143 1144 state->ks_state &= ~LOCK_MASK; 1145 state->ks_state |= *(int *)arg; 1146 1147 /* KDSKBSTATE on all slave keyboards */ 1148 SLIST_FOREACH(k, &state->ks_kbds, next) |
1149 kbdd_ioctl(k->kbd, KDSKBSTATE, arg); | 1149 (void)kbdd_ioctl(k->kbd, KDSKBSTATE, arg); |
1150 1151 KBDMUX_UNLOCK(state); 1152 1153 return (kbdmux_ioctl(kbd, KDSETLED, arg)); 1154 /* NOT REACHED */ 1155 1156#ifdef COMPAT_FREEBSD6 1157 case _IO('K', 67): --- 29 unchanged lines hidden (view full) --- 1187 return (EINVAL); 1188 } 1189 1190 kbd->kb_delay1 = delays[(mode >> 5) & 3]; 1191 kbd->kb_delay2 = rates[mode & 0x1f]; 1192 1193 /* perform command on all slave keyboards */ 1194 SLIST_FOREACH(k, &state->ks_kbds, next) | 1150 1151 KBDMUX_UNLOCK(state); 1152 1153 return (kbdmux_ioctl(kbd, KDSETLED, arg)); 1154 /* NOT REACHED */ 1155 1156#ifdef COMPAT_FREEBSD6 1157 case _IO('K', 67): --- 29 unchanged lines hidden (view full) --- 1187 return (EINVAL); 1188 } 1189 1190 kbd->kb_delay1 = delays[(mode >> 5) & 3]; 1191 kbd->kb_delay2 = rates[mode & 0x1f]; 1192 1193 /* perform command on all slave keyboards */ 1194 SLIST_FOREACH(k, &state->ks_kbds, next) |
1195 kbdd_ioctl(k->kbd, cmd, arg); | 1195 (void)kbdd_ioctl(k->kbd, cmd, arg); |
1196 1197 KBDMUX_UNLOCK(state); 1198 break; 1199 1200 case PIO_KEYMAP: /* set keyboard translation table */ 1201 case PIO_KEYMAPENT: /* set keyboard translation table entry */ 1202 case PIO_DEADKEYMAP: /* set accent key translation table */ 1203 KBDMUX_LOCK(state); 1204 state->ks_accents = 0; 1205 1206 /* perform command on all slave keyboards */ 1207 SLIST_FOREACH(k, &state->ks_kbds, next) | 1196 1197 KBDMUX_UNLOCK(state); 1198 break; 1199 1200 case PIO_KEYMAP: /* set keyboard translation table */ 1201 case PIO_KEYMAPENT: /* set keyboard translation table entry */ 1202 case PIO_DEADKEYMAP: /* set accent key translation table */ 1203 KBDMUX_LOCK(state); 1204 state->ks_accents = 0; 1205 1206 /* perform command on all slave keyboards */ 1207 SLIST_FOREACH(k, &state->ks_kbds, next) |
1208 kbdd_ioctl(k->kbd, cmd, arg); | 1208 (void)kbdd_ioctl(k->kbd, cmd, arg); |
1209 1210 KBDMUX_UNLOCK(state); 1211 /* FALLTHROUGH */ 1212 1213 default: 1214 error = genkbd_commonioctl(kbd, cmd, arg); 1215 break; 1216 } --- 173 unchanged lines hidden --- | 1209 1210 KBDMUX_UNLOCK(state); 1211 /* FALLTHROUGH */ 1212 1213 default: 1214 error = genkbd_commonioctl(kbd, cmd, arg); 1215 break; 1216 } --- 173 unchanged lines hidden --- |