Lines Matching refs:cm

56 static void em_canid_sff_match_add(struct canid_match *cm, u32 can_id,  in em_canid_sff_match_add()  argument
70 set_bit(can_id, cm->match_sff); in em_canid_sff_match_add()
76 bitmap_fill(cm->match_sff, (1 << CAN_SFF_ID_BITS)); in em_canid_sff_match_add()
87 set_bit(i, cm->match_sff); in em_canid_sff_match_add()
99 struct canid_match *cm = em_canid_priv(m); in em_canid_match() local
108 for (i = 0, lp = cm->rules_raw; in em_canid_match()
109 i < cm->eff_rules_count; i++, lp++) { in em_canid_match()
117 match = (test_bit(can_id, cm->match_sff) ? 1 : 0); in em_canid_match()
127 struct canid_match *cm; in em_canid_change() local
139 cm = kzalloc(sizeof(struct canid_match) + len, GFP_KERNEL); in em_canid_change()
140 if (!cm) in em_canid_change()
143 cm->rules_count = len / sizeof(struct can_filter); in em_canid_change()
156 for (i = 0; i < cm->rules_count; i++) { in em_canid_change()
158 memcpy(cm->rules_raw + cm->eff_rules_count, in em_canid_change()
162 cm->eff_rules_count++; in em_canid_change()
167 for (i = 0; i < cm->rules_count; i++) { in em_canid_change()
169 memcpy(cm->rules_raw in em_canid_change()
170 + cm->eff_rules_count in em_canid_change()
171 + cm->sff_rules_count, in em_canid_change()
174 cm->sff_rules_count++; in em_canid_change()
176 em_canid_sff_match_add(cm, in em_canid_change()
182 m->data = (unsigned long)cm; in em_canid_change()
188 struct canid_match *cm = em_canid_priv(m); in em_canid_destroy() local
190 kfree(cm); in em_canid_destroy()
195 struct canid_match *cm = em_canid_priv(m); in em_canid_dump() local
201 if (nla_put_nohdr(skb, sizeof(struct can_filter) * cm->rules_count, in em_canid_dump()
202 &cm->rules_raw) < 0) in em_canid_dump()