Lines Matching refs:rcdev

140 static int lirc_bpf_attach(struct rc_dev *rcdev, struct bpf_prog *prog)  in lirc_bpf_attach()  argument
147 if (rcdev->driver_type != RC_DRIVER_IR_RAW) in lirc_bpf_attach()
154 raw = rcdev->raw; in lirc_bpf_attach()
178 static int lirc_bpf_detach(struct rc_dev *rcdev, struct bpf_prog *prog) in lirc_bpf_detach() argument
185 if (rcdev->driver_type != RC_DRIVER_IR_RAW) in lirc_bpf_detach()
192 raw = rcdev->raw; in lirc_bpf_detach()
216 void lirc_bpf_run(struct rc_dev *rcdev, u32 sample) in lirc_bpf_run() argument
218 struct ir_raw_event_ctrl *raw = rcdev->raw; in lirc_bpf_run()
232 void lirc_bpf_free(struct rc_dev *rcdev) in lirc_bpf_free() argument
237 array = lirc_rcu_dereference(rcdev->raw->progs); in lirc_bpf_free()
249 struct rc_dev *rcdev; in lirc_prog_attach() local
255 rcdev = rc_dev_get_from_fd(attr->target_fd); in lirc_prog_attach()
256 if (IS_ERR(rcdev)) in lirc_prog_attach()
257 return PTR_ERR(rcdev); in lirc_prog_attach()
259 ret = lirc_bpf_attach(rcdev, prog); in lirc_prog_attach()
261 put_device(&rcdev->dev); in lirc_prog_attach()
269 struct rc_dev *rcdev; in lirc_prog_detach() local
280 rcdev = rc_dev_get_from_fd(attr->target_fd); in lirc_prog_detach()
281 if (IS_ERR(rcdev)) { in lirc_prog_detach()
283 return PTR_ERR(rcdev); in lirc_prog_detach()
286 ret = lirc_bpf_detach(rcdev, prog); in lirc_prog_detach()
289 put_device(&rcdev->dev); in lirc_prog_detach()
298 struct rc_dev *rcdev; in lirc_prog_query() local
305 rcdev = rc_dev_get_from_fd(attr->query.target_fd); in lirc_prog_query()
306 if (IS_ERR(rcdev)) in lirc_prog_query()
307 return PTR_ERR(rcdev); in lirc_prog_query()
309 if (rcdev->driver_type != RC_DRIVER_IR_RAW) { in lirc_prog_query()
318 progs = lirc_rcu_dereference(rcdev->raw->progs); in lirc_prog_query()
337 put_device(&rcdev->dev); in lirc_prog_query()