| /* |
| * Intel Poulsbo Stub driver |
| * |
| * Copyright (C) 2010 Novell <jlee@novell.com> |
| * |
| * This program is free software; you can redistribute it and/or modify it |
| * under the terms of the GNU General Public License version 2 as published by |
| * the Free Software Foundation. |
| * |
| */ |
| |
| #include <linux/module.h> |
| #include <linux/pci.h> |
| #include <linux/acpi.h> |
| #include <acpi/video.h> |
| |
| #define DRIVER_NAME "poulsbo" |
| |
| enum { |
| CHIP_PSB_8108 = 0, |
| CHIP_PSB_8109 = 1, |
| }; |
| |
| static DEFINE_PCI_DEVICE_TABLE(pciidlist) = { |
| {0x8086, 0x8108, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_PSB_8108}, \ |
| {0x8086, 0x8109, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_PSB_8109}, \ |
| {0, 0, 0} |
| }; |
| |
| static int poulsbo_probe(struct pci_dev *pdev, const struct pci_device_id *id) |
| { |
| return acpi_video_register(); |
| } |
| |
| static void poulsbo_remove(struct pci_dev *pdev) |
| { |
| acpi_video_unregister(); |
| } |
| |
| static struct pci_driver poulsbo_driver = { |
| .name = DRIVER_NAME, |
| .id_table = pciidlist, |
| .probe = poulsbo_probe, |
| .remove = poulsbo_remove, |
| }; |
| |
| static int __init poulsbo_init(void) |
| { |
| return pci_register_driver(&poulsbo_driver); |
| } |
| |
| static void __exit poulsbo_exit(void) |
| { |
| pci_unregister_driver(&poulsbo_driver); |
| } |
| |
| module_init(poulsbo_init); |
| module_exit(poulsbo_exit); |
| |
| MODULE_AUTHOR("Lee, Chun-Yi <jlee@novell.com>"); |
| MODULE_DESCRIPTION("Poulsbo Stub Driver"); |
| MODULE_LICENSE("GPL"); |
| |
| MODULE_DEVICE_TABLE(pci, pciidlist); |