brintos

brintos / linux-shallow public Read only

0
0
Text · 567 B · 7a66206 Raw
27 lines · c
1// SPDX-License-Identifier: GPL-2.02// test ir decoder3//4// Copyright (C) 2018 Sean Young <sean@mess.org>5 6#include <linux/bpf.h>7#include <linux/lirc.h>8#include <bpf/bpf_helpers.h>9 10SEC("lirc_mode2")11int bpf_decoder(unsigned int *sample)12{13	if (LIRC_IS_PULSE(*sample)) {14		unsigned int duration = LIRC_VALUE(*sample);15 16		if (duration & 0x10000)17			bpf_rc_keydown(sample, 0x40, duration & 0xffff, 0);18		if (duration & 0x20000)19			bpf_rc_pointer_rel(sample, (duration >> 8) & 0xff,20					   duration & 0xff);21	}22 23	return 0;24}25 26char _license[] SEC("license") = "GPL";27