Lines Matching refs:cm
53 static void em_canid_sff_match_add(struct canid_match *cm, u32 can_id,
67 set_bit(can_id, cm->match_sff);
73 bitmap_fill(cm->match_sff, (1 << CAN_SFF_ID_BITS));
84 set_bit(i, cm->match_sff);
96 struct canid_match *cm = em_canid_priv(m);
105 for (i = 0, lp = cm->rules_raw;
106 i < cm->eff_rules_count; i++, lp++) {
114 match = (test_bit(can_id, cm->match_sff) ? 1 : 0);
124 struct canid_match *cm;
136 cm = kzalloc(sizeof(struct canid_match) + len, GFP_KERNEL);
137 if (!cm)
140 cm->rules_count = len / sizeof(struct can_filter);
153 for (i = 0; i < cm->rules_count; i++) {
155 memcpy(cm->rules_raw + cm->eff_rules_count,
159 cm->eff_rules_count++;
164 for (i = 0; i < cm->rules_count; i++) {
166 memcpy(cm->rules_raw
167 + cm->eff_rules_count
168 + cm->sff_rules_count,
171 cm->sff_rules_count++;
173 em_canid_sff_match_add(cm,
179 m->data = (unsigned long)cm;
185 struct canid_match *cm = em_canid_priv(m);
187 kfree(cm);
192 struct canid_match *cm = em_canid_priv(m);
198 if (nla_put_nohdr(skb, sizeof(struct can_filter) * cm->rules_count,
199 &cm->rules_raw) < 0)