]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/pci/pci.h
PCI ACPI: Drop the second argument of platform_pci_choose_state
[linux-2.6-omap-h63xx.git] / drivers / pci / pci.h
index eabeb1f2ec998b0cf39de823b7c0bfd7a237b6ba..ff30b3c91aad4c15edb58a1ecf536390962512a4 100644 (file)
@@ -6,8 +6,7 @@ extern void pci_remove_sysfs_dev_files(struct pci_dev *pdev);
 extern void pci_cleanup_rom(struct pci_dev *dev);
 
 /* Firmware callbacks */
-extern pci_power_t (*platform_pci_choose_state)(struct pci_dev *dev,
-                                               pm_message_t state);
+extern pci_power_t (*platform_pci_choose_state)(struct pci_dev *dev);
 extern int (*platform_pci_set_power_state)(struct pci_dev *dev,
                                                pci_power_t state);
 
@@ -18,6 +17,25 @@ extern int pci_user_write_config_byte(struct pci_dev *dev, int where, u8 val);
 extern int pci_user_write_config_word(struct pci_dev *dev, int where, u16 val);
 extern int pci_user_write_config_dword(struct pci_dev *dev, int where, u32 val);
 
+struct pci_vpd_ops {
+       int (*read)(struct pci_dev *dev, int pos, int size, char *buf);
+       int (*write)(struct pci_dev *dev, int pos, int size, const char *buf);
+       int (*get_size)(struct pci_dev *dev);
+       void (*release)(struct pci_dev *dev);
+};
+
+struct pci_vpd {
+       struct pci_vpd_ops *ops;
+       struct bin_attribute *attr; /* descriptor for sysfs VPD entry */
+};
+
+extern int pci_vpd_pci22_init(struct pci_dev *dev);
+static inline void pci_vpd_release(struct pci_dev *dev)
+{
+       if (dev->vpd)
+               dev->vpd->ops->release(dev);
+}
+
 /* PCI /proc functions */
 #ifdef CONFIG_PROC_FS
 extern int pci_proc_attach_device(struct pci_dev *dev);