#define pr_fmt(fmt) …
#include <linux/stddef.h>
#include <linux/spinlock.h>
#include <linux/slab.h>
#include <asm/unaligned.h>
#include <net/caif/caif_layer.h>
#include <net/caif/cfsrvl.h>
#include <net/caif/cfpkt.h>
#define container_obj(layr) …
#define RFM_SEGMENTATION_BIT …
#define RFM_HEAD_SIZE …
static int cfrfml_receive(struct cflayer *layr, struct cfpkt *pkt);
static int cfrfml_transmit(struct cflayer *layr, struct cfpkt *pkt);
struct cfrfml { … };
static void cfrfml_release(struct cflayer *layer)
{ … }
struct cflayer *cfrfml_create(u8 channel_id, struct dev_info *dev_info,
int mtu_size)
{ … }
static struct cfpkt *rfm_append(struct cfrfml *rfml, char *seghead,
struct cfpkt *pkt, int *err)
{ … }
static int cfrfml_receive(struct cflayer *layr, struct cfpkt *pkt)
{ … }
static int cfrfml_transmit_segment(struct cfrfml *rfml, struct cfpkt *pkt)
{ … }
static int cfrfml_transmit(struct cflayer *layr, struct cfpkt *pkt)
{ … }