Addendum to revision 62606 : because of typedefs redefinitions (we, after, include acpi.h and co. together with DDK in other acpi bus drivers), we hackishly needed to disable them in actypes.h, and now we need to include ntddk *inside* acpi.h ...
Everything would be nice only if ACPICA would not have the "clever" (read: dumb) idea to define a ACPI_BIOS_ERROR macro, which is (you guessed it) already defined.... in the DDK via the standard bugcheck code macros.
So we introduce two hacks: the firs one right after the inclusion of ntddk.h *in* acpi.h to first undefine the macro (coming from bugcheck.h), *then*, we re-undefine it *after* the inclusion of acpi.h (in the precompiled header) so that drivers that need to use acpi (via the header) can after, include the ntddk.h ...

What a hack :DD

Part 2bis of our modifications to ACPICA code.
CORE-8044

svn path=/trunk/; revision=62607
This commit is contained in:
Hermès Bélusca-Maïto 2014-04-03 23:32:58 +00:00
parent ba1329cf88
commit 97ab12262b
2 changed files with 13 additions and 0 deletions

View file

@ -116,6 +116,12 @@
#ifndef __ACPI_H__
#define __ACPI_H__
/*
* Header inclusion HACK (see modifications to actypes.h too).
*/
#include <ntddk.h>
#undef ACPI_BIOS_ERROR // ACPI_BIOS_ERROR is redefined in acoutput.h
/*
* Public include files for use by code that will interface to ACPICA.
*

View file

@ -1,7 +1,14 @@
#ifndef _ACPI_PCH_
#define _ACPI_PCH_
#include <stdio.h>
#include <acpi.h>
// ACPI_BIOS_ERROR was defined in acoutput.h, but is
// redefined in bugcodes.h included from the DDK.
#undef ACPI_BIOS_ERROR
#include <acpisys.h>
#include <acpi_bus.h>
#include <acpi_drivers.h>