Merge branch 'x86-mrst-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
[pandora-kernel.git] / arch / x86 / include / asm / x86_init.h
index ea0e8ea..519b543 100644 (file)
@@ -98,6 +98,20 @@ struct x86_init_iommu {
        int (*iommu_init)(void);
 };
 
+/**
+ * struct x86_init_pci - platform specific pci init functions
+ * @arch_init:                 platform specific pci arch init call
+ * @init:                      platform specific pci subsystem init
+ * @init_irq:                  platform specific pci irq init
+ * @fixup_irqs:                        platform specific pci irq fixup
+ */
+struct x86_init_pci {
+       int (*arch_init)(void);
+       int (*init)(void);
+       void (*init_irq)(void);
+       void (*fixup_irqs)(void);
+};
+
 /**
  * struct x86_init_ops - functions for platform specific setup
  *
@@ -110,6 +124,7 @@ struct x86_init_ops {
        struct x86_init_paging          paging;
        struct x86_init_timers          timers;
        struct x86_init_iommu           iommu;
+       struct x86_init_pci             pci;
 };
 
 /**
@@ -126,6 +141,7 @@ struct x86_cpuinit_ops {
  * @get_wallclock:             get time from HW clock like RTC etc.
  * @set_wallclock:             set time back to HW clock
  * @is_untracked_pat_range     exclude from PAT logic
+ * @nmi_init                   enable NMI on cpus
  */
 struct x86_platform_ops {
        unsigned long (*calibrate_tsc)(void);
@@ -133,6 +149,7 @@ struct x86_platform_ops {
        int (*set_wallclock)(unsigned long nowtime);
        void (*iommu_shutdown)(void);
        bool (*is_untracked_pat_range)(u64 start, u64 end);
+       void (*nmi_init)(void);
 };
 
 extern struct x86_init_ops x86_init;