Lines Matching refs:rcdev
137 static int lirc_bpf_attach(struct rc_dev *rcdev, struct bpf_prog *prog)
144 if (rcdev->driver_type != RC_DRIVER_IR_RAW)
151 raw = rcdev->raw;
175 static int lirc_bpf_detach(struct rc_dev *rcdev, struct bpf_prog *prog)
182 if (rcdev->driver_type != RC_DRIVER_IR_RAW)
189 raw = rcdev->raw;
213 void lirc_bpf_run(struct rc_dev *rcdev, u32 sample)
215 struct ir_raw_event_ctrl *raw = rcdev->raw;
233 void lirc_bpf_free(struct rc_dev *rcdev)
238 array = lirc_rcu_dereference(rcdev->raw->progs);
250 struct rc_dev *rcdev;
256 rcdev = rc_dev_get_from_fd(attr->target_fd, true);
257 if (IS_ERR(rcdev))
258 return PTR_ERR(rcdev);
260 ret = lirc_bpf_attach(rcdev, prog);
262 put_device(&rcdev->dev);
270 struct rc_dev *rcdev;
281 rcdev = rc_dev_get_from_fd(attr->target_fd, true);
282 if (IS_ERR(rcdev)) {
284 return PTR_ERR(rcdev);
287 ret = lirc_bpf_detach(rcdev, prog);
290 put_device(&rcdev->dev);
299 struct rc_dev *rcdev;
306 rcdev = rc_dev_get_from_fd(attr->query.target_fd, false);
307 if (IS_ERR(rcdev))
308 return PTR_ERR(rcdev);
310 if (rcdev->driver_type != RC_DRIVER_IR_RAW) {
319 progs = lirc_rcu_dereference(rcdev->raw->progs);
339 put_device(&rcdev->dev);