#include <linux/string.h>
#include <linux/init.h>
#include <linux/module.h>
#include <linux/errno.h>
#include <linux/kernel.h>
#include <linux/slab.h>
#include <linux/parport.h>
#include <linux/ctype.h>
#include <linux/sysctl.h>
#include <linux/device.h>
#include <linux/uaccess.h>
#if defined(CONFIG_SYSCTL) && defined(CONFIG_PROC_FS)
#define PARPORT_MIN_TIMESLICE_VALUE …
#define PARPORT_MAX_TIMESLICE_VALUE …
#define PARPORT_MIN_SPINTIME_VALUE …
#define PARPORT_MAX_SPINTIME_VALUE …
static int do_active_device(const struct ctl_table *table, int write,
void *result, size_t *lenp, loff_t *ppos)
{ … }
#ifdef CONFIG_PARPORT_1284
static int do_autoprobe(const struct ctl_table *table, int write,
void *result, size_t *lenp, loff_t *ppos)
{ … }
#endif
static int do_hardware_base_addr(const struct ctl_table *table, int write,
void *result, size_t *lenp, loff_t *ppos)
{ … }
static int do_hardware_irq(const struct ctl_table *table, int write,
void *result, size_t *lenp, loff_t *ppos)
{ … }
static int do_hardware_dma(const struct ctl_table *table, int write,
void *result, size_t *lenp, loff_t *ppos)
{ … }
static int do_hardware_modes(const struct ctl_table *table, int write,
void *result, size_t *lenp, loff_t *ppos)
{ … }
static const unsigned long parport_min_timeslice_value = …;
static const unsigned long parport_max_timeslice_value = …;
static const int parport_min_spintime_value = …;
static const int parport_max_spintime_value = …;
struct parport_sysctl_table { … };
static const struct parport_sysctl_table parport_sysctl_template = …;
struct parport_device_sysctl_table
{ … };
static const struct parport_device_sysctl_table
parport_device_sysctl_template = …;
struct parport_default_sysctl_table
{ … };
static struct parport_default_sysctl_table
parport_default_sysctl_table = …;
int parport_proc_register(struct parport *port)
{ … }
int parport_proc_unregister(struct parport *port)
{ … }
int parport_device_proc_register(struct pardevice *device)
{ … }
int parport_device_proc_unregister(struct pardevice *device)
{ … }
static int __init parport_default_proc_register(void)
{ … }
static void __exit parport_default_proc_unregister(void)
{ … }
#else
int parport_proc_register(struct parport *pp)
{
return 0;
}
int parport_proc_unregister(struct parport *pp)
{
return 0;
}
int parport_device_proc_register(struct pardevice *device)
{
return 0;
}
int parport_device_proc_unregister(struct pardevice *device)
{
return 0;
}
static int __init parport_default_proc_register (void)
{
return parport_bus_init();
}
static void __exit parport_default_proc_unregister (void)
{
parport_bus_exit();
}
#endif
subsys_initcall(…) …
module_exit(…)