#include "smscoreapi.h"
#include <linux/module.h>
#include <linux/slab.h>
#include <linux/init.h>
#include <linux/debugfs.h>
#include <linux/spinlock.h>
#include <linux/usb.h>
#include <media/dmxdev.h>
#include <media/dvbdev.h>
#include <media/dvb_demux.h>
#include <media/dvb_frontend.h>
#include "smsdvb.h"
static struct dentry *smsdvb_debugfs_usb_root;
struct smsdvb_debugfs { … };
static void smsdvb_print_dvb_stats(struct smsdvb_debugfs *debug_data,
struct sms_stats *p)
{ … }
static void smsdvb_print_isdb_stats(struct smsdvb_debugfs *debug_data,
struct sms_isdbt_stats *p)
{ … }
static void smsdvb_print_isdb_stats_ex(struct smsdvb_debugfs *debug_data,
struct sms_isdbt_stats_ex *p)
{ … }
static int smsdvb_stats_open(struct inode *inode, struct file *file)
{ … }
static void smsdvb_debugfs_data_release(struct kref *ref)
{ … }
static int smsdvb_stats_wait_read(struct smsdvb_debugfs *debug_data)
{ … }
static __poll_t smsdvb_stats_poll(struct file *file, poll_table *wait)
{ … }
static ssize_t smsdvb_stats_read(struct file *file, char __user *user_buf,
size_t nbytes, loff_t *ppos)
{ … }
static int smsdvb_stats_release(struct inode *inode, struct file *file)
{ … }
static const struct file_operations debugfs_stats_ops = …;
int smsdvb_debugfs_create(struct smsdvb_client_t *client)
{ … }
void smsdvb_debugfs_release(struct smsdvb_client_t *client)
{ … }
void smsdvb_debugfs_register(void)
{ … }
void smsdvb_debugfs_unregister(void)
{ … }