#include <linux/array_size.h>
#include <linux/bitrev.h>
#include <linux/bits.h>
#include <linux/container_of.h>
#include <linux/err.h>
#include <linux/i2c.h>
#include <linux/mod_devicetable.h>
#include <linux/module.h>
#include <linux/pm.h>
#include <linux/regmap.h>
#include <linux/slab.h>
#include <linux/types.h>
#include <linux/workqueue.h>
#include <linux/map_to_7segment.h>
#include "line-display.h"
#define REG_DECODE_MODE …
#define REG_INTENSITY …
#define REG_SCAN_LIMIT …
#define REG_CONFIGURATION …
#define REG_CONFIGURATION_S_BIT …
#define REG_DIGIT(x) …
#define REG_DIGIT0 …
#define REG_DIGIT1 …
#define REG_DIGIT2 …
#define REG_DIGIT3 …
#define REG_SEGMENTS …
#define REG_MAX …
struct max6959_priv { … };
static void max6959_disp_update(struct work_struct *work)
{ … }
static int max6959_linedisp_get_map_type(struct linedisp *linedisp)
{ … }
static void max6959_linedisp_update(struct linedisp *linedisp)
{ … }
static const struct linedisp_ops max6959_linedisp_ops = …;
static int max6959_enable(struct max6959_priv *priv, bool enable)
{ … }
static void max6959_power_off(void *priv)
{ … }
static int max6959_power_on(struct max6959_priv *priv)
{ … }
static const struct regmap_config max6959_regmap_config = …;
static int max6959_i2c_probe(struct i2c_client *client)
{ … }
static void max6959_i2c_remove(struct i2c_client *client)
{ … }
static int max6959_suspend(struct device *dev)
{ … }
static int max6959_resume(struct device *dev)
{ … }
static DEFINE_SIMPLE_DEV_PM_OPS(max6959_pm_ops, max6959_suspend, max6959_resume);
static const struct i2c_device_id max6959_i2c_id[] = …;
MODULE_DEVICE_TABLE(i2c, max6959_i2c_id);
static const struct of_device_id max6959_of_table[] = …;
MODULE_DEVICE_TABLE(of, max6959_of_table);
static struct i2c_driver max6959_i2c_driver = …;
module_i2c_driver(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;
MODULE_IMPORT_NS(…);