1 /* SPDX-License-Identifier: GPL-2.0-or-later * 1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 2 /* 2 /* 3 * 3 * 4 * Copyright (c) 2003 by Karsten Wiese <annabe 4 * Copyright (c) 2003 by Karsten Wiese <annabellesgarden@yahoo.de> 5 */ 5 */ 6 6 7 enum E_IN84 { 7 enum E_IN84 { 8 E_FADER_0 = 0, 8 E_FADER_0 = 0, 9 E_FADER_1, 9 E_FADER_1, 10 E_FADER_2, 10 E_FADER_2, 11 E_FADER_3, 11 E_FADER_3, 12 E_FADER_4, 12 E_FADER_4, 13 E_FADER_5, 13 E_FADER_5, 14 E_FADER_6, 14 E_FADER_6, 15 E_FADER_7, 15 E_FADER_7, 16 E_FADER_M, 16 E_FADER_M, 17 E_TRANSPORT, 17 E_TRANSPORT, 18 E_MODIFIER = 10, 18 E_MODIFIER = 10, 19 E_FILTER_SELECT, 19 E_FILTER_SELECT, 20 E_SELECT, 20 E_SELECT, 21 E_MUTE, 21 E_MUTE, 22 22 23 E_SWITCH = 15, 23 E_SWITCH = 15, 24 E_WHEEL_GAIN, 24 E_WHEEL_GAIN, 25 E_WHEEL_FREQ, 25 E_WHEEL_FREQ, 26 E_WHEEL_Q, 26 E_WHEEL_Q, 27 E_WHEEL_PAN, 27 E_WHEEL_PAN, 28 E_WHEEL = 20 28 E_WHEEL = 20 29 }; 29 }; 30 30 31 #define T_RECORD 1 31 #define T_RECORD 1 32 #define T_PLAY 2 32 #define T_PLAY 2 33 #define T_STOP 4 33 #define T_STOP 4 34 #define T_F_FWD 8 34 #define T_F_FWD 8 35 #define T_REW 0x10 35 #define T_REW 0x10 36 #define T_SOLO 0x20 36 #define T_SOLO 0x20 37 #define T_REC 0x40 37 #define T_REC 0x40 38 #define T_NULL 0x80 38 #define T_NULL 0x80 39 39 40 40 41 struct us428_ctls { 41 struct us428_ctls { 42 unsigned char fader[9]; !! 42 unsigned char fader[9]; 43 unsigned char transport; !! 43 unsigned char transport; 44 unsigned char modifier; !! 44 unsigned char modifier; 45 unsigned char filters_elect; !! 45 unsigned char filters_elect; 46 unsigned char select; !! 46 unsigned char select; 47 unsigned char mute; !! 47 unsigned char mute; 48 unsigned char unknown; !! 48 unsigned char unknown; 49 unsigned char wswitch; !! 49 unsigned char wswitch; 50 unsigned char wheel[5]; !! 50 unsigned char wheel[5]; 51 }; 51 }; 52 52 53 struct us428_set_byte { 53 struct us428_set_byte { 54 unsigned char offset, 54 unsigned char offset, 55 value; 55 value; 56 }; 56 }; 57 57 58 enum { 58 enum { 59 ELT_VOLUME = 0, 59 ELT_VOLUME = 0, 60 ELT_LIGHT 60 ELT_LIGHT 61 }; 61 }; 62 62 63 struct usx2y_volume { 63 struct usx2y_volume { 64 unsigned char channel, 64 unsigned char channel, 65 lh, 65 lh, 66 ll, 66 ll, 67 rh, 67 rh, 68 rl; 68 rl; 69 }; 69 }; 70 70 71 struct us428_lights { 71 struct us428_lights { 72 struct us428_set_byte light[7]; 72 struct us428_set_byte light[7]; 73 }; 73 }; 74 74 75 struct us428_p4out { 75 struct us428_p4out { 76 char type; 76 char type; 77 union { 77 union { 78 struct usx2y_volume vol; 78 struct usx2y_volume vol; 79 struct us428_lights lights; 79 struct us428_lights lights; 80 } val; 80 } val; 81 }; 81 }; 82 82 83 #define N_US428_CTL_BUFS 16 83 #define N_US428_CTL_BUFS 16 84 #define N_US428_P4OUT_BUFS 16 84 #define N_US428_P4OUT_BUFS 16 85 struct us428ctls_sharedmem { 85 struct us428ctls_sharedmem { 86 struct us428_ctls ctl_snapshot[N 86 struct us428_ctls ctl_snapshot[N_US428_CTL_BUFS]; 87 int ctl_snapshot_d 87 int ctl_snapshot_differs_at[N_US428_CTL_BUFS]; 88 int ctl_snapshot_l 88 int ctl_snapshot_last, ctl_snapshot_red; 89 struct us428_p4out p4out[N_US428_ 89 struct us428_p4out p4out[N_US428_P4OUT_BUFS]; 90 int p4out_last, p4 90 int p4out_last, p4out_sent; 91 }; 91 }; 92 << 93 #define US428_SHAREDMEM_PAGES PAGE_ALIGN(siz << 94 92
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.