diff mbox

[2/2] ACPI / OSL: add a wrapper function to return OSI version

Message ID 51D2DD37.2040000@intel.com (mailing list archive)
State Superseded, archived
Headers show

Commit Message

Aaron Lu July 2, 2013, 2:01 p.m. UTC
Drivers may need to make policy decisions based on the OS that the firmware
believes it's interacting with. ACPI firmware will make a series of _OSI
calls, starting from the oldest OS version they support and ending with the
most recent. This patchset adds a function in ACPI OSL layer to return the
last successful call so that drivers know what the firmware's expecting.

Based on a patch by Matthew Garrett <matthew.garrett@nebula.com>, which
is again based on a patch by Seth Forshee <seth.forshee@canonical.com>.

Changelog-by: Matthew Garrett <matthew.garrett@nebula.com>
Signed-off-by: Aaron Lu <aaron.lu@intel.com>
Cc: Matthew Garrett <matthew.garrett@nebula.com>
Cc: Seth Forshee <seth.forshee@canonical.com>
---
 drivers/acpi/osl.c   | 6 ++++++
 include/linux/acpi.h | 6 ++++++
 2 files changed, 12 insertions(+)

Comments

Rafael Wysocki July 3, 2013, 9:57 p.m. UTC | #1
On Tuesday, July 02, 2013 10:01:27 PM Aaron Lu wrote:
> Drivers may need to make policy decisions based on the OS that the firmware
> believes it's interacting with. ACPI firmware will make a series of _OSI
> calls, starting from the oldest OS version they support and ending with the
> most recent. This patchset adds a function in ACPI OSL layer to return the
> last successful call so that drivers know what the firmware's expecting.
> 
> Based on a patch by Matthew Garrett <matthew.garrett@nebula.com>, which
> is again based on a patch by Seth Forshee <seth.forshee@canonical.com>.
> 
> Changelog-by: Matthew Garrett <matthew.garrett@nebula.com>
> Signed-off-by: Aaron Lu <aaron.lu@intel.com>
> Cc: Matthew Garrett <matthew.garrett@nebula.com>
> Cc: Seth Forshee <seth.forshee@canonical.com>
> ---
>  drivers/acpi/osl.c   | 6 ++++++
>  include/linux/acpi.h | 6 ++++++
>  2 files changed, 12 insertions(+)
> 
> diff --git a/drivers/acpi/osl.c b/drivers/acpi/osl.c
> index 6ab2c35..7ebf07d 100644
> --- a/drivers/acpi/osl.c
> +++ b/drivers/acpi/osl.c
> @@ -1799,3 +1799,9 @@ void alloc_acpi_hp_work(acpi_handle handle, u32 type, void *context,
>  		kfree(hp_work);
>  }
>  EXPORT_SYMBOL_GPL(alloc_acpi_hp_work);
> +
> +u8 acpi_osi_version(void)
> +{
> +	return acpi_gbl_osi_data;
> +}

Actually, is there a reason not to make this static inline and put it into
the header?

Rafael


> +EXPORT_SYMBOL_GPL(acpi_osi_version);
> diff --git a/include/linux/acpi.h b/include/linux/acpi.h
> index 353ba25..fc3b5c2 100644
> --- a/include/linux/acpi.h
> +++ b/include/linux/acpi.h
> @@ -578,4 +578,10 @@ acpi_handle_printk(const char *level, void *handle, const char *fmt, ...) {}
>  })
>  #endif
>  
> +#ifdef CONFIG_ACPI
> +u8 acpi_osi_version(void);
> +#else
> +static inline u8 acpi_osi_version(void) { return 0; }
> +#endif
> +
>  #endif	/*_LINUX_ACPI_H*/
>
diff mbox

Patch

diff --git a/drivers/acpi/osl.c b/drivers/acpi/osl.c
index 6ab2c35..7ebf07d 100644
--- a/drivers/acpi/osl.c
+++ b/drivers/acpi/osl.c
@@ -1799,3 +1799,9 @@  void alloc_acpi_hp_work(acpi_handle handle, u32 type, void *context,
 		kfree(hp_work);
 }
 EXPORT_SYMBOL_GPL(alloc_acpi_hp_work);
+
+u8 acpi_osi_version(void)
+{
+	return acpi_gbl_osi_data;
+}
+EXPORT_SYMBOL_GPL(acpi_osi_version);
diff --git a/include/linux/acpi.h b/include/linux/acpi.h
index 353ba25..fc3b5c2 100644
--- a/include/linux/acpi.h
+++ b/include/linux/acpi.h
@@ -578,4 +578,10 @@  acpi_handle_printk(const char *level, void *handle, const char *fmt, ...) {}
 })
 #endif
 
+#ifdef CONFIG_ACPI
+u8 acpi_osi_version(void);
+#else
+static inline u8 acpi_osi_version(void) { return 0; }
+#endif
+
 #endif	/*_LINUX_ACPI_H*/