#include <linux/aperture.h>
#include <linux/cpu.h>
#include <linux/module.h>
#include <linux/notifier.h>
#include <linux/pm_runtime.h>
#include <linux/spinlock.h>
#include <linux/delay.h>
#include <asm/set_memory.h>
#include <acpi/video.h>
#include <drm/drm.h>
#include <drm/drm_drv.h>
#include <drm/drm_file.h>
#include <drm/drm_ioctl.h>
#include <drm/drm_pciids.h>
#include <drm/drm_vblank.h>
#include "framebuffer.h"
#include "gem.h"
#include "intel_bios.h"
#include "mid_bios.h"
#include "power.h"
#include "psb_drv.h"
#include "psb_intel_reg.h"
#include "psb_irq.h"
#include "psb_reg.h"
static const struct drm_driver driver;
static int psb_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent);
static const struct pci_device_id pciidlist[] = …;
MODULE_DEVICE_TABLE(pci, pciidlist);
static const struct drm_ioctl_desc psb_ioctls[] = …;
static void psb_spank(struct drm_psb_private *dev_priv)
{ … }
static int psb_do_init(struct drm_device *dev)
{ … }
static void psb_driver_unload(struct drm_device *dev)
{ … }
static void psb_device_release(void *data)
{ … }
static int psb_driver_load(struct drm_device *dev, unsigned long flags)
{ … }
static int gma_remove_conflicting_framebuffers(struct pci_dev *pdev,
const struct drm_driver *req_driver)
{ … }
static int psb_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
{ … }
static void psb_pci_remove(struct pci_dev *pdev)
{ … }
static DEFINE_RUNTIME_DEV_PM_OPS(psb_pm_ops, gma_power_suspend, gma_power_resume, NULL);
static const struct file_operations psb_gem_fops = …;
static const struct drm_driver driver = …;
static struct pci_driver psb_pci_driver = …;
static int __init psb_init(void)
{ … }
static void __exit psb_exit(void)
{ … }
late_initcall(psb_init);
module_exit(psb_exit);
MODULE_AUTHOR(…);
MODULE_DESCRIPTION(…);
MODULE_LICENSE(…) …;