Lines Matching refs:data
59 static enum rc6_mode rc6_mode(struct rc6_dec *data)
61 switch (data->header & RC6_MODE_MASK) {
65 if (!data->toggle)
82 struct rc6_dec *data = &dev->raw->rc6;
89 data->state = STATE_INACTIVE;
98 data->state, ev.duration, TO_STR(ev.pulse));
103 switch (data->state) {
115 data->state = STATE_PREFIX_SPACE;
116 data->count = 0;
126 data->state = STATE_HEADER_BIT_START;
127 data->header = 0;
134 data->header <<= 1;
136 data->header |= 1;
137 data->count++;
138 data->state = STATE_HEADER_BIT_END;
142 if (data->count == RC6_HEADER_NBITS)
143 data->state = STATE_TOGGLE_START;
145 data->state = STATE_HEADER_BIT_START;
154 data->toggle = ev.pulse;
155 data->state = STATE_TOGGLE_END;
159 if (!(data->header & RC6_STARTBIT_MASK)) {
164 data->state = STATE_BODY_BIT_START;
166 data->count = 0;
167 data->body = 0;
169 switch (rc6_mode(data)) {
171 data->wanted_bits = RC6_0_NBITS;
174 data->wanted_bits = RC6_6A_NBITS;
184 /* Discard LSB's that won't fit in data->body */
185 if (data->count++ < CHAR_BIT * sizeof data->body) {
186 data->body <<= 1;
188 data->body |= 1;
190 data->state = STATE_BODY_BIT_END;
192 } else if (RC6_MODE_6A == rc6_mode(data) && !ev.pulse &&
194 data->state = STATE_FINISHED;
200 if (data->count == data->wanted_bits)
201 data->state = STATE_FINISHED;
203 data->state = STATE_BODY_BIT_START;
212 switch (rc6_mode(data)) {
214 scancode = data->body;
215 toggle = data->toggle;
222 if (data->count > CHAR_BIT * sizeof data->body) {
223 dev_dbg(&dev->dev, "RC6 too many (%u) data bits\n",
224 data->count);
228 scancode = data->body;
229 switch (data->count) {
267 data->state = STATE_INACTIVE;
273 data->state, ev.duration, TO_STR(ev.pulse));
274 data->state = STATE_INACTIVE;
329 /* Modulate rest of the data */
367 /* Modulate rest of the data */