]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - arch/x86/include/asm/x86_init.h
Merge remote-tracking branch 'asoc/topic/dmaengine' into asoc-next
[karo-tx-linux.git] / arch / x86 / include / asm / x86_init.h
index 6ba79317844138672dfe7de27254425e20630b5b..7ba7e90a9ad69e69723dd7dd152c2bc2b0e9ba16 100644 (file)
@@ -59,7 +59,7 @@ struct x86_init_irqs {
 
 /**
  * struct x86_init_oem - oem platform specific customizing functions
- * @arch_setup:                        platform specific architecure setup
+ * @arch_setup:                        platform specific architecture setup
  * @banner:                    print a platform specific banner
  */
 struct x86_init_oem {
@@ -164,9 +164,26 @@ struct x86_legacy_devices {
        int pnpbios;
 };
 
+/**
+ * enum x86_legacy_i8042_state - i8042 keyboard controller state
+ * @X86_LEGACY_I8042_PLATFORM_ABSENT: the controller is always absent on
+ *     given platform/subarch.
+ * @X86_LEGACY_I8042_FIRMWARE_ABSENT: firmware reports that the controller
+ *     is absent.
+ * @X86_LEGACY_i8042_EXPECTED_PRESENT: the controller is likely to be
+ *     present, the i8042 driver should probe for controller existence.
+ */
+enum x86_legacy_i8042_state {
+       X86_LEGACY_I8042_PLATFORM_ABSENT,
+       X86_LEGACY_I8042_FIRMWARE_ABSENT,
+       X86_LEGACY_I8042_EXPECTED_PRESENT,
+};
+
 /**
  * struct x86_legacy_features - legacy x86 features
  *
+ * @i8042: indicated if we expect the device to have i8042 controller
+ *     present.
  * @rtc: this device has a CMOS real-time clock present
  * @reserve_bios_regions: boot code will search for the EBDA address and the
  *     start of the 640k - 1M BIOS region.  If false, the platform must
@@ -175,6 +192,7 @@ struct x86_legacy_devices {
  *     documentation for further details.
  */
 struct x86_legacy_features {
+       enum x86_legacy_i8042_state i8042;
        int rtc;
        int reserve_bios_regions;
        struct x86_legacy_devices devices;
@@ -188,15 +206,14 @@ struct x86_legacy_features {
  * @set_wallclock:             set time back to HW clock
  * @is_untracked_pat_range     exclude from PAT logic
  * @nmi_init                   enable NMI on cpus
- * @i8042_detect               pre-detect if i8042 controller exists
  * @save_sched_clock_state:    save state for sched_clock() on suspend
  * @restore_sched_clock_state: restore state for sched_clock() on resume
- * @apic_post_init:            adjust apic if neeeded
+ * @apic_post_init:            adjust apic if needed
  * @legacy:                    legacy features
  * @set_legacy_features:       override legacy features. Use of this callback
  *                             is highly discouraged. You should only need
  *                             this if your hardware platform requires further
- *                             custom fine tuning far beyong what may be
+ *                             custom fine tuning far beyond what may be
  *                             possible in x86_early_init_platform_quirks() by
  *                             only using the current x86_hardware_subarch
  *                             semantics.
@@ -210,7 +227,6 @@ struct x86_platform_ops {
        bool (*is_untracked_pat_range)(u64 start, u64 end);
        void (*nmi_init)(void);
        unsigned char (*get_nmi_reason)(void);
-       int (*i8042_detect)(void);
        void (*save_sched_clock_state)(void);
        void (*restore_sched_clock_state)(void);
        void (*apic_post_init)(void);