#include <linux/backlight.h>
#include <linux/delay.h>
#include <linux/gpio/consumer.h>
#include <linux/iopoll.h>
#include <linux/module.h>
#include <linux/pm_runtime.h>
#include <linux/regulator/consumer.h>
#include <drm/display/drm_dp_aux_bus.h>
#include <drm/display/drm_dp_helper.h>
#include <drm/drm_edid.h>
#include <drm/drm_panel.h>
#define HPD_MAX_MS …
#define HPD_MAX_US …
struct atana33xc20_panel { … };
static inline struct atana33xc20_panel *to_atana33xc20(struct drm_panel *panel)
{ … }
static void atana33xc20_wait(ktime_t start_ktime, unsigned int min_ms)
{ … }
static int atana33xc20_suspend(struct device *dev)
{ … }
static int atana33xc20_resume(struct device *dev)
{ … }
static int atana33xc20_disable(struct drm_panel *panel)
{ … }
static int atana33xc20_enable(struct drm_panel *panel)
{ … }
static int atana33xc20_unprepare(struct drm_panel *panel)
{ … }
static int atana33xc20_prepare(struct drm_panel *panel)
{ … }
static int atana33xc20_get_modes(struct drm_panel *panel,
struct drm_connector *connector)
{ … }
static const struct drm_panel_funcs atana33xc20_funcs = …;
static void atana33xc20_runtime_disable(void *data)
{ … }
static void atana33xc20_dont_use_autosuspend(void *data)
{ … }
static int atana33xc20_probe(struct dp_aux_ep_device *aux_ep)
{ … }
static void atana33xc20_remove(struct dp_aux_ep_device *aux_ep)
{ … }
static const struct of_device_id atana33xc20_dt_match[] = …;
MODULE_DEVICE_TABLE(of, atana33xc20_dt_match);
static const struct dev_pm_ops atana33xc20_pm_ops = …;
static struct dp_aux_ep_driver atana33xc20_driver = …;
static int __init atana33xc20_init(void)
{ … }
module_init(…) …;
static void __exit atana33xc20_exit(void)
{ … }
module_exit(atana33xc20_exit);
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;