#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/io.h>
#include <linux/platform_device.h>
#include <linux/mutex.h>
#include <linux/backlight.h>
#include <linux/delay.h>
#include <linux/dmi.h>
#define KB3886_PARENT …
#define KB3886_IO …
#define KB3886_ADC_DAC_PWM …
#define KB3886_PWM0_WRITE …
#define KB3886_PWM0_READ …
static DEFINE_MUTEX(bl_mutex);
static void kb3886_bl_set_intensity(int intensity)
{ … }
struct kb3886bl_machinfo { … };
static struct kb3886bl_machinfo kb3886_bl_machinfo = …;
static struct platform_device kb3886bl_device = …;
static struct platform_device *devices[] __initdata = …;
static int kb3886bl_intensity;
static struct backlight_device *kb3886_backlight_device;
static struct kb3886bl_machinfo *bl_machinfo;
static unsigned long kb3886bl_flags;
#define KB3886BL_SUSPENDED …
static const struct dmi_system_id kb3886bl_device_table[] __initconst = …;
static int kb3886bl_send_intensity(struct backlight_device *bd)
{ … }
#ifdef CONFIG_PM_SLEEP
static int kb3886bl_suspend(struct device *dev)
{ … }
static int kb3886bl_resume(struct device *dev)
{ … }
#endif
static SIMPLE_DEV_PM_OPS(kb3886bl_pm_ops, kb3886bl_suspend, kb3886bl_resume);
static int kb3886bl_get_intensity(struct backlight_device *bd)
{ … }
static const struct backlight_ops kb3886bl_ops = …;
static int kb3886bl_probe(struct platform_device *pdev)
{ … }
static struct platform_driver kb3886bl_driver = …;
static int __init kb3886_init(void)
{ … }
static void __exit kb3886_exit(void)
{ … }
module_init(…) …;
module_exit(kb3886_exit);
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;
MODULE_ALIAS(…) …;