#include <linux/backlight.h>
#include <linux/delay.h>
#include <linux/firmware.h>
#include <linux/gpio/consumer.h>
#include <linux/module.h>
#include <linux/property.h>
#include <linux/regulator/consumer.h>
#include <linux/spi/spi.h>
#include <drm/drm_atomic_helper.h>
#include <drm/drm_drv.h>
#include <drm/drm_fbdev_dma.h>
#include <drm/drm_gem_atomic_helper.h>
#include <drm/drm_gem_dma_helper.h>
#include <drm/drm_managed.h>
#include <drm/drm_mipi_dbi.h>
#include <drm/drm_modes.h>
#include <drm/drm_modeset_helper.h>
#include <video/mipi_display.h>
struct panel_mipi_dbi_format { … };
static const struct panel_mipi_dbi_format panel_mipi_dbi_formats[] = …;
static int panel_mipi_dbi_get_format(struct device *dev, u32 *formats, unsigned int *bpp)
{ … }
static const u8 panel_mipi_dbi_magic[15] = …;
struct panel_mipi_dbi_config { … };
struct panel_mipi_dbi_commands { … };
static struct panel_mipi_dbi_commands *
panel_mipi_dbi_check_commands(struct device *dev, const struct firmware *fw)
{ … }
static struct panel_mipi_dbi_commands *panel_mipi_dbi_commands_from_fw(struct device *dev)
{ … }
static void panel_mipi_dbi_commands_execute(struct mipi_dbi *dbi,
struct panel_mipi_dbi_commands *commands)
{ … }
static void panel_mipi_dbi_enable(struct drm_simple_display_pipe *pipe,
struct drm_crtc_state *crtc_state,
struct drm_plane_state *plane_state)
{ … }
static const struct drm_simple_display_pipe_funcs panel_mipi_dbi_pipe_funcs = …;
DEFINE_DRM_GEM_DMA_FOPS(panel_mipi_dbi_fops);
static const struct drm_driver panel_mipi_dbi_driver = …;
static int panel_mipi_dbi_get_mode(struct mipi_dbi_dev *dbidev, struct drm_display_mode *mode)
{ … }
static int panel_mipi_dbi_spi_probe(struct spi_device *spi)
{ … }
static void panel_mipi_dbi_spi_remove(struct spi_device *spi)
{ … }
static void panel_mipi_dbi_spi_shutdown(struct spi_device *spi)
{ … }
static int __maybe_unused panel_mipi_dbi_pm_suspend(struct device *dev)
{ … }
static int __maybe_unused panel_mipi_dbi_pm_resume(struct device *dev)
{ … }
static const struct dev_pm_ops panel_mipi_dbi_pm_ops = …;
static const struct of_device_id panel_mipi_dbi_spi_of_match[] = …;
MODULE_DEVICE_TABLE(of, panel_mipi_dbi_spi_of_match);
static const struct spi_device_id panel_mipi_dbi_spi_id[] = …;
MODULE_DEVICE_TABLE(spi, panel_mipi_dbi_spi_id);
static struct spi_driver panel_mipi_dbi_spi_driver = …;
module_spi_driver(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;