#include <linux/module.h>
#include <linux/pci.h>
#include <drm/drm_aperture.h>
#include <drm/drm_atomic_helper.h>
#include <drm/drm_drv.h>
#include <drm/drm_fbdev_ttm.h>
#include <drm/drm_gem_framebuffer_helper.h>
#include <drm/drm_gem_vram_helper.h>
#include <drm/drm_managed.h>
#include <drm/drm_module.h>
#include <drm/drm_vblank.h>
#include "hibmc_drm_drv.h"
#include "hibmc_drm_regs.h"
DEFINE_DRM_GEM_FOPS(hibmc_fops);
static irqreturn_t hibmc_interrupt(int irq, void *arg)
{ … }
static int hibmc_dumb_create(struct drm_file *file, struct drm_device *dev,
struct drm_mode_create_dumb *args)
{ … }
static const struct drm_driver hibmc_driver = …;
static int __maybe_unused hibmc_pm_suspend(struct device *dev)
{ … }
static int __maybe_unused hibmc_pm_resume(struct device *dev)
{ … }
static const struct dev_pm_ops hibmc_pm_ops = …;
static const struct drm_mode_config_funcs hibmc_mode_funcs = …;
static int hibmc_kms_init(struct hibmc_drm_private *priv)
{ … }
void hibmc_set_power_mode(struct hibmc_drm_private *priv, u32 power_mode)
{ … }
void hibmc_set_current_gate(struct hibmc_drm_private *priv, unsigned int gate)
{ … }
static void hibmc_hw_config(struct hibmc_drm_private *priv)
{ … }
static int hibmc_hw_map(struct hibmc_drm_private *priv)
{ … }
static int hibmc_hw_init(struct hibmc_drm_private *priv)
{ … }
static int hibmc_unload(struct drm_device *dev)
{ … }
static int hibmc_load(struct drm_device *dev)
{ … }
static int hibmc_pci_probe(struct pci_dev *pdev,
const struct pci_device_id *ent)
{ … }
static void hibmc_pci_remove(struct pci_dev *pdev)
{ … }
static void hibmc_pci_shutdown(struct pci_dev *pdev)
{ … }
static const struct pci_device_id hibmc_pci_table[] = …;
static struct pci_driver hibmc_pci_driver = …;
drm_module_pci_driver(…);
MODULE_DEVICE_TABLE(pci, hibmc_pci_table);
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;