#include <linux/crc32.h>
#include <linux/gpio/consumer.h>
#include <linux/i2c.h>
#include <linux/module.h>
#include <linux/mutex.h>
#include <linux/of.h>
#include <linux/regulator/consumer.h>
#include <video/videomode.h>
#include <video/display_timing.h>
#include <drm/drm_device.h>
#include <drm/drm_modes.h>
#include <drm/drm_panel.h>
#define LCD_OLINUXINO_HEADER_MAGIC …
#define LCD_OLINUXINO_DATA_LEN …
struct lcd_olinuxino_mode { … };
struct lcd_olinuxino_info { … } __attribute__((packed));
struct lcd_olinuxino_eeprom { … } __attribute__((packed));
struct lcd_olinuxino { … };
static inline struct lcd_olinuxino *to_lcd_olinuxino(struct drm_panel *panel)
{ … }
static int lcd_olinuxino_unprepare(struct drm_panel *panel)
{ … }
static int lcd_olinuxino_prepare(struct drm_panel *panel)
{ … }
static int lcd_olinuxino_get_modes(struct drm_panel *panel,
struct drm_connector *connector)
{ … }
static const struct drm_panel_funcs lcd_olinuxino_funcs = …;
static int lcd_olinuxino_probe(struct i2c_client *client)
{ … }
static void lcd_olinuxino_remove(struct i2c_client *client)
{ … }
static const struct of_device_id lcd_olinuxino_of_ids[] = …;
MODULE_DEVICE_TABLE(of, lcd_olinuxino_of_ids);
static struct i2c_driver lcd_olinuxino_driver = …;
module_i2c_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;