linux/drivers/staging/fieldbus/dev_core.c

// SPDX-License-Identifier: GPL-2.0
/*
 * Fieldbus Device Driver Core
 *
 */

#include <linux/mutex.h>
#include <linux/module.h>
#include <linux/device.h>
#include <linux/idr.h>
#include <linux/fs.h>
#include <linux/slab.h>
#include <linux/poll.h>

/* move to <linux/fieldbus_dev.h> when taking this out of staging */
#include "fieldbus_dev.h"

/* Maximum number of fieldbus devices */
#define MAX_FIELDBUSES

/* the dev_t structure to store the dynamically allocated fieldbus devices */
static dev_t fieldbus_devt;
static DEFINE_IDA(fieldbus_ida);
static DEFINE_MUTEX(fieldbus_mtx);

static ssize_t online_show(struct device *dev, struct device_attribute *attr,
			   char *buf)
{}
static DEVICE_ATTR_RO(online);

static ssize_t enabled_show(struct device *dev, struct device_attribute *attr,
			    char *buf)
{}

static ssize_t enabled_store(struct device *dev, struct device_attribute *attr,
			     const char *buf, size_t n)
{}
static DEVICE_ATTR_RW(enabled);

static ssize_t card_name_show(struct device *dev, struct device_attribute *attr,
			      char *buf)
{}
static DEVICE_ATTR_RO(card_name);

static ssize_t read_area_size_show(struct device *dev,
				   struct device_attribute *attr, char *buf)
{}
static DEVICE_ATTR_RO(read_area_size);

static ssize_t write_area_size_show(struct device *dev,
				    struct device_attribute *attr, char *buf)
{}
static DEVICE_ATTR_RO(write_area_size);

static ssize_t fieldbus_id_show(struct device *dev,
				struct device_attribute *attr, char *buf)
{}
static DEVICE_ATTR_RO(fieldbus_id);

static ssize_t fieldbus_type_show(struct device *dev,
				  struct device_attribute *attr, char *buf)
{}
static DEVICE_ATTR_RO(fieldbus_type);

static struct attribute *fieldbus_attrs[] =;

static umode_t fieldbus_is_visible(struct kobject *kobj, struct attribute *attr,
				   int n)
{}

static const struct attribute_group fieldbus_group =;
__ATTRIBUTE_GROUPS();

static const struct class fieldbus_class =;

struct fb_open_file {};

static int fieldbus_open(struct inode *inode, struct file *filp)
{}

static int fieldbus_release(struct inode *node, struct file *filp)
{}

static ssize_t fieldbus_read(struct file *filp, char __user *buf, size_t size,
			     loff_t *offset)
{}

static ssize_t fieldbus_write(struct file *filp, const char __user *buf,
			      size_t size, loff_t *offset)
{}

static __poll_t fieldbus_poll(struct file *filp, poll_table *wait)
{}

static const struct file_operations fieldbus_fops =;

void fieldbus_dev_area_updated(struct fieldbus_dev *fb)
{}
EXPORT_SYMBOL_GPL();

void fieldbus_dev_online_changed(struct fieldbus_dev *fb, bool online)
{}
EXPORT_SYMBOL_GPL();

static void __fieldbus_dev_unregister(struct fieldbus_dev *fb)
{}

void fieldbus_dev_unregister(struct fieldbus_dev *fb)
{}
EXPORT_SYMBOL_GPL();

static int __fieldbus_dev_register(struct fieldbus_dev *fb)
{}

int fieldbus_dev_register(struct fieldbus_dev *fb)
{}
EXPORT_SYMBOL_GPL();

static int __init fieldbus_init(void)
{}

static void __exit fieldbus_exit(void)
{}

subsys_initcall(fieldbus_init);
module_exit(fieldbus_exit);

MODULE_AUTHOR();
MODULE_AUTHOR();
MODULE_DESCRIPTION();
MODULE_LICENSE();