Lines Matching refs:data

65 static enum rc6_mode rc6_mode(struct rc6_dec *data)  in rc6_mode()  argument
67 switch (data->header & RC6_MODE_MASK) { in rc6_mode()
71 if (!data->toggle) in rc6_mode()
88 struct rc6_dec *data = &dev->raw->rc6; in ir_rc6_decode() local
100 data->state = STATE_INACTIVE; in ir_rc6_decode()
109 data->state, TO_US(ev.duration), TO_STR(ev.pulse)); in ir_rc6_decode()
114 switch (data->state) { in ir_rc6_decode()
126 data->state = STATE_PREFIX_SPACE; in ir_rc6_decode()
127 data->count = 0; in ir_rc6_decode()
137 data->state = STATE_HEADER_BIT_START; in ir_rc6_decode()
138 data->header = 0; in ir_rc6_decode()
145 data->header <<= 1; in ir_rc6_decode()
147 data->header |= 1; in ir_rc6_decode()
148 data->count++; in ir_rc6_decode()
149 data->state = STATE_HEADER_BIT_END; in ir_rc6_decode()
156 if (data->count == RC6_HEADER_NBITS) in ir_rc6_decode()
157 data->state = STATE_TOGGLE_START; in ir_rc6_decode()
159 data->state = STATE_HEADER_BIT_START; in ir_rc6_decode()
168 data->toggle = ev.pulse; in ir_rc6_decode()
169 data->state = STATE_TOGGLE_END; in ir_rc6_decode()
177 if (!(data->header & RC6_STARTBIT_MASK)) { in ir_rc6_decode()
182 data->state = STATE_BODY_BIT_START; in ir_rc6_decode()
184 data->count = 0; in ir_rc6_decode()
185 data->body = 0; in ir_rc6_decode()
187 switch (rc6_mode(data)) { in ir_rc6_decode()
189 data->wanted_bits = RC6_0_NBITS; in ir_rc6_decode()
192 data->wanted_bits = RC6_6A_NBITS; in ir_rc6_decode()
203 if (data->count++ < CHAR_BIT * sizeof data->body) { in ir_rc6_decode()
204 data->body <<= 1; in ir_rc6_decode()
206 data->body |= 1; in ir_rc6_decode()
208 data->state = STATE_BODY_BIT_END; in ir_rc6_decode()
210 } else if (RC6_MODE_6A == rc6_mode(data) && !ev.pulse && in ir_rc6_decode()
212 data->state = STATE_FINISHED; in ir_rc6_decode()
221 if (data->count == data->wanted_bits) in ir_rc6_decode()
222 data->state = STATE_FINISHED; in ir_rc6_decode()
224 data->state = STATE_BODY_BIT_START; in ir_rc6_decode()
233 switch (rc6_mode(data)) { in ir_rc6_decode()
235 scancode = data->body; in ir_rc6_decode()
236 toggle = data->toggle; in ir_rc6_decode()
243 if (data->count > CHAR_BIT * sizeof data->body) { in ir_rc6_decode()
245 data->count); in ir_rc6_decode()
249 scancode = data->body; in ir_rc6_decode()
250 switch (data->count) { in ir_rc6_decode()
283 data->state = STATE_INACTIVE; in ir_rc6_decode()
289 data->state, TO_US(ev.duration), TO_STR(ev.pulse)); in ir_rc6_decode()
290 data->state = STATE_INACTIVE; in ir_rc6_decode()