1/* 2 * Intel Poulsbo Stub driver 3 * 4 * Copyright (C) 2010 Novell <jlee@novell.com> 5 * 6 * This program is free software; you can redistribute it and/or modify it 7 * under the terms of the GNU General Public License version 2 as published by 8 * the Free Software Foundation. 9 * 10 */ 11 12#include <linux/module.h> 13#include <linux/pci.h> 14#include <linux/acpi.h> 15#include <acpi/video.h> 16 17#define DRIVER_NAME "poulsbo" 18 19enum { 20 CHIP_PSB_8108 = 0, 21 CHIP_PSB_8109 = 1, 22}; 23 24static DEFINE_PCI_DEVICE_TABLE(pciidlist) = { 25 {0x8086, 0x8108, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_PSB_8108}, \ 26 {0x8086, 0x8109, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_PSB_8109}, \ 27 {0, 0, 0} 28}; 29 30static int poulsbo_probe(struct pci_dev *pdev, const struct pci_device_id *id) 31{ 32 return acpi_video_register(); 33} 34 35static void poulsbo_remove(struct pci_dev *pdev) 36{ 37 acpi_video_unregister(); 38} 39 40static struct pci_driver poulsbo_driver = { 41 .name = DRIVER_NAME, 42 .id_table = pciidlist, 43 .probe = poulsbo_probe, 44 .remove = poulsbo_remove, 45}; 46 47static int __init poulsbo_init(void) 48{ 49 return pci_register_driver(&poulsbo_driver); 50} 51 52static void __exit poulsbo_exit(void) 53{ 54 pci_unregister_driver(&poulsbo_driver); 55} 56 57module_init(poulsbo_init); 58module_exit(poulsbo_exit); 59 60MODULE_AUTHOR("Lee, Chun-Yi <jlee@novell.com>"); 61MODULE_DESCRIPTION("Poulsbo Stub Driver"); 62MODULE_LICENSE("GPL"); 63 64MODULE_DEVICE_TABLE(pci, pciidlist); 65