Lines Matching refs:rcdev

137 static int lirc_bpf_attach(struct rc_dev *rcdev, struct bpf_prog *prog)  in lirc_bpf_attach()  argument
144 if (rcdev->driver_type != RC_DRIVER_IR_RAW) in lirc_bpf_attach()
151 raw = rcdev->raw; in lirc_bpf_attach()
175 static int lirc_bpf_detach(struct rc_dev *rcdev, struct bpf_prog *prog) in lirc_bpf_detach() argument
182 if (rcdev->driver_type != RC_DRIVER_IR_RAW) in lirc_bpf_detach()
189 raw = rcdev->raw; in lirc_bpf_detach()
213 void lirc_bpf_run(struct rc_dev *rcdev, u32 sample) in lirc_bpf_run() argument
215 struct ir_raw_event_ctrl *raw = rcdev->raw; in lirc_bpf_run()
229 void lirc_bpf_free(struct rc_dev *rcdev) in lirc_bpf_free() argument
234 array = lirc_rcu_dereference(rcdev->raw->progs); in lirc_bpf_free()
246 struct rc_dev *rcdev; in lirc_prog_attach() local
252 rcdev = rc_dev_get_from_fd(attr->target_fd); in lirc_prog_attach()
253 if (IS_ERR(rcdev)) in lirc_prog_attach()
254 return PTR_ERR(rcdev); in lirc_prog_attach()
256 ret = lirc_bpf_attach(rcdev, prog); in lirc_prog_attach()
258 put_device(&rcdev->dev); in lirc_prog_attach()
266 struct rc_dev *rcdev; in lirc_prog_detach() local
277 rcdev = rc_dev_get_from_fd(attr->target_fd); in lirc_prog_detach()
278 if (IS_ERR(rcdev)) { in lirc_prog_detach()
280 return PTR_ERR(rcdev); in lirc_prog_detach()
283 ret = lirc_bpf_detach(rcdev, prog); in lirc_prog_detach()
286 put_device(&rcdev->dev); in lirc_prog_detach()
295 struct rc_dev *rcdev; in lirc_prog_query() local
302 rcdev = rc_dev_get_from_fd(attr->query.target_fd); in lirc_prog_query()
303 if (IS_ERR(rcdev)) in lirc_prog_query()
304 return PTR_ERR(rcdev); in lirc_prog_query()
306 if (rcdev->driver_type != RC_DRIVER_IR_RAW) { in lirc_prog_query()
315 progs = lirc_rcu_dereference(rcdev->raw->progs); in lirc_prog_query()
335 put_device(&rcdev->dev); in lirc_prog_query()