#include <linux/pnp.h>
#include <linux/string.h>
#include <linux/errno.h>
#include <linux/list.h>
#include <linux/types.h>
#include <linux/stat.h>
#include <linux/ctype.h>
#include <linux/slab.h>
#include <linux/mutex.h>
#include <linux/uaccess.h>
#include "base.h"
struct pnp_info_buffer { … };
pnp_info_buffer_t;
__printf(2, 3)
static int pnp_printf(pnp_info_buffer_t * buffer, char *fmt, ...)
{ … }
static void pnp_print_port(pnp_info_buffer_t * buffer, char *space,
struct pnp_port *port)
{ … }
static void pnp_print_irq(pnp_info_buffer_t * buffer, char *space,
struct pnp_irq *irq)
{ … }
static void pnp_print_dma(pnp_info_buffer_t * buffer, char *space,
struct pnp_dma *dma)
{ … }
static void pnp_print_mem(pnp_info_buffer_t * buffer, char *space,
struct pnp_mem *mem)
{ … }
static void pnp_print_option(pnp_info_buffer_t * buffer, char *space,
struct pnp_option *option)
{ … }
static ssize_t options_show(struct device *dmdev, struct device_attribute *attr,
char *buf)
{ … }
static DEVICE_ATTR_RO(options);
static ssize_t resources_show(struct device *dmdev,
struct device_attribute *attr, char *buf)
{ … }
static char *pnp_get_resource_value(char *buf,
unsigned long type,
resource_size_t *start,
resource_size_t *end,
unsigned long *flags)
{ … }
static ssize_t resources_store(struct device *dmdev,
struct device_attribute *attr, const char *ubuf,
size_t count)
{ … }
static DEVICE_ATTR_RW(resources);
static ssize_t id_show(struct device *dmdev, struct device_attribute *attr,
char *buf)
{ … }
static DEVICE_ATTR_RO(id);
static struct attribute *pnp_dev_attrs[] = …;
static const struct attribute_group pnp_dev_group = …;
const struct attribute_group *pnp_dev_groups[] = …;