Hi, Jean-Claude !
J'ai moi aussi une Mdk 7.2 avec le même noyau... m'enfin!!! On
ne peut jamais être sûr qu'un ajout autre par rpm n'a pas implé-
menté qqs fichiers de plus, c'est sans doute pourquoi j'ai ces 
fichiers et pas toi.
Mais... je ne sais plus pourquoi il te les fallait !!!
Qu'importe. Avec locate j'en trouve quatre, alors tu les trouveras
ci-après annexés, à toutes fins utiles, ou << pour en faire ce que 
de droit >> comme disent nos aimables juristes ! ...

D'abord leurs positions :
--------------------------------------------------
/usr/include/lct/local.h
/usr/src/linux-2.4.0/drivers/acpi/include/aclocal.h
/usr/src/drivers/alsa-driver-0.5.9c/lowlevel/emu10k1/emu10k1_synth_local.h
/usr/src/drivers/alsa-driver-0.5.9c/lowlevel/sb/emu8000_local.h 
--------------------------------------------------
Et tu as les quatre fichiers en pièces jointes.
J'espère que ça pourra t'aider.
Amitiés
Bernard L.
-- 
<< De Paris au Pérou, du Japon jusqu'à Rome,
<< Le plus sot animal, à mon avis, c'est l'homme !
     Nicolas Boileau (Epîtres)

#ifndef _LCT_LOCAL_H
#define _LCT_LOCAL_H

/* convenience */
#include <stdio.h>
#include <sysexits.h>

#include <config.h>

#define LOCALEDIR "/usr/share/locale"

#ifdef HAVE_LOCALE_H
# include <libintl.h>
# define _(String) gettext (String)
# ifdef gettext_noop
#  define N_(String) gettext_noop (String)
# else
#  define N_(String) (String)
# endif
#else
/* rough approximation of the functions */
# define _(String) (String)
# define N_(String) (String)
# define textdomain(Domain)
# define bindtextdomain(Package, Directory)
#endif

#define badusage(ERRMSG) do { \
  if (ERRMSG) \
    fprintf (stderr, "%s: %s\n", progname, ERRMSG); \
  usage(); \
  exit(EX_USAGE); \
} while(0)

/* setup localization for a program */
#define setuplocale() do { \
  setlocale (LC_ALL, ""); \
  bindtextdomain (PACKAGE, LOCALEDIR); \
  textdomain (PACKAGE); \
} while (0)

#define OPT(option, desc) printf("\t" option "%s\n", desc)

#define OPTIONS_ARE() printf(_("valid options are:\n"))
#define COMMANDS_ARE() printf(_("valid commands are:\n"))
#define HELPDESC _("display this help text and exit")
#define VERSIONDESC _("display version information and exit")

#endif /* _LCT_LOCAL_H */
/******************************************************************************
 *
 * Name: aclocal.h - Internal data types used across the ACPI subsystem
 *       $Revision: 77 $
 *
 *****************************************************************************/

/*
 *  Copyright (C) 2000 R. Byron Moore
 *
 *  This program is free software; you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation; either version 2 of the License, or
 *  (at your option) any later version.
 *
 *  This program is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public License
 *  along with this program; if not, write to the Free Software
 *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */

#ifndef __ACLOCAL_H__
#define __ACLOCAL_H__


#define WAIT_FOREVER                ((u32) -1)

typedef void*                       ACPI_MUTEX;
typedef u32                         ACPI_MUTEX_HANDLE;


/* Object descriptor types */

#define ACPI_CACHED_OBJECT          0x11    /* ORed in when object is cached */
#define ACPI_DESC_TYPE_STATE        0x22
#define ACPI_DESC_TYPE_WALK         0x44
#define ACPI_DESC_TYPE_PARSER       0x66
#define ACPI_DESC_TYPE_INTERNAL     0x88
#define ACPI_DESC_TYPE_NAMED        0xAA


/*****************************************************************************
 *
 * Mutex typedefs and structs
 *
 ****************************************************************************/


/*
 * Predefined handles for the mutex objects used within the subsystem
 * All mutex objects are automatically created by Acpi_cm_mutex_initialize.
 * NOTE: any changes here must be reflected in the Acpi_gbl_Mutex_names table also!
 */

#define ACPI_MTX_HARDWARE           0
#define ACPI_MTX_MEMORY             1
#define ACPI_MTX_CACHES             2
#define ACPI_MTX_TABLES             3
#define ACPI_MTX_PARSER             4
#define ACPI_MTX_DISPATCHER         5
#define ACPI_MTX_INTERPRETER        6
#define ACPI_MTX_EXECUTE            7
#define ACPI_MTX_NAMESPACE          8
#define ACPI_MTX_EVENTS             9
#define ACPI_MTX_OP_REGIONS         10
#define ACPI_MTX_DEBUG_CMD_READY    11
#define ACPI_MTX_DEBUG_CMD_COMPLETE 12

#define MAX_MTX                     12
#define NUM_MTX                     MAX_MTX+1


#ifdef ACPI_DEBUG
#ifdef DEFINE_ACPI_GLOBALS

/* Names for the mutexes used in the subsystem */

static NATIVE_CHAR          *acpi_gbl_mutex_names[] =
{
	"ACPI_MTX_Hardware",
	"ACPI_MTX_Memory",
	"ACPI_MTX_Caches",
	"ACPI_MTX_Tables",
	"ACPI_MTX_Parser",
	"ACPI_MTX_Dispatcher",
	"ACPI_MTX_Interpreter",
	"ACPI_MTX_Execute",
	"ACPI_MTX_Namespace",
	"ACPI_MTX_Events",
	"ACPI_MTX_Op_regions",
	"ACPI_MTX_Debug_cmd_ready",
	"ACPI_MTX_Debug_cmd_complete"
};

#endif
#endif


/* Table for the global mutexes */

typedef struct acpi_mutex_info
{
	ACPI_MUTEX                  mutex;
	u32                         use_count;
	u8                          locked;

} ACPI_MUTEX_INFO;


/* Lock flag parameter for various interfaces */

#define ACPI_MTX_DO_NOT_LOCK        0
#define ACPI_MTX_LOCK               1


typedef u16                         ACPI_OWNER_ID;
#define OWNER_TYPE_TABLE            0x0
#define OWNER_TYPE_METHOD           0x1
#define FIRST_METHOD_ID             0x0000
#define FIRST_TABLE_ID              0x8000

/* TBD: [Restructure] get rid of the need for this! */

#define TABLE_ID_DSDT               (ACPI_OWNER_ID) 0xD1D1

/*****************************************************************************
 *
 * Namespace typedefs and structs
 *
 ****************************************************************************/


/* Operational modes of the AML interpreter/scanner */

typedef enum
{
	IMODE_LOAD_PASS1                = 0x01,
	IMODE_LOAD_PASS2                = 0x02,
	IMODE_EXECUTE                   = 0x0E

} OPERATING_MODE;


/*
 * The Node describes a named object that appears in the AML
 * An Acpi_node is used to store Nodes.
 *
 * Data_type is used to differentiate between internal descriptors, and MUST
 * be the first byte in this structure.
 */

typedef struct acpi_node
{
	u8                      data_type;
	u8                      type;           /* Type associated with this name */
	u32                     name;           /* ACPI Name, always 4 chars per ACPI spec */
	u16                     owner_id;


	void                    *object;        /* Pointer to attached ACPI object (optional) */
	struct acpi_node        *child;         /* first child */
	struct acpi_node        *peer;          /* Next peer*/
	u16                     reference_count; /* Current count of references and children */
	u8                      flags;

} ACPI_NAMESPACE_NODE;


#define ENTRY_NOT_FOUND             NULL


/* Node flags */

#define ANOBJ_AML_ATTACHMENT        0x1
#define ANOBJ_END_OF_PEER_LIST      0x2


/*
 * ACPI Table Descriptor.  One per ACPI table
 */
typedef struct acpi_table_desc
{
	struct acpi_table_desc  *prev;
	struct acpi_table_desc  *next;
	struct acpi_table_desc  *installed_desc;
	ACPI_TABLE_HEADER       *pointer;
	void                    *base_pointer;
	u8                      *aml_pointer;
	u32                     aml_length;
	u32                     length;
	u32                     count;
	ACPI_OWNER_ID           table_id;
	u8                      type;
	u8                      allocation;
	u8                      loaded_into_namespace;

} ACPI_TABLE_DESC;


typedef struct
{
	NATIVE_CHAR             *search_for;
	ACPI_HANDLE             *list;
	u32                     *count;

} FIND_CONTEXT;


typedef struct
{
	ACPI_NAMESPACE_NODE     *node;
} NS_SEARCH_DATA;


/*
 * Predefined Namespace items
 */
#define ACPI_MAX_ADDRESS_SPACE      255
#define ACPI_NUM_ADDRESS_SPACES     256


typedef struct
{
	NATIVE_CHAR             *name;
	ACPI_OBJECT_TYPE        type;
	NATIVE_CHAR             *val;

} PREDEFINED_NAMES;


/*****************************************************************************
 *
 * Event typedefs and structs
 *
 ****************************************************************************/


/* Status bits. */

#define ACPI_STATUS_PMTIMER                  0x0001
#define ACPI_STATUS_GLOBAL                   0x0020
#define ACPI_STATUS_POWER_BUTTON             0x0100
#define ACPI_STATUS_SLEEP_BUTTON             0x0200
#define ACPI_STATUS_RTC_ALARM                0x0400

/* Enable bits. */

#define ACPI_ENABLE_PMTIMER                  0x0001
#define ACPI_ENABLE_GLOBAL                   0x0020
#define ACPI_ENABLE_POWER_BUTTON             0x0100
#define ACPI_ENABLE_SLEEP_BUTTON             0x0200
#define ACPI_ENABLE_RTC_ALARM                0x0400


/*
 * Entry in the Address_space (AKA Operation Region) table
 */

typedef struct
{
	ADDRESS_SPACE_HANDLER   handler;
	void                    *context;

} ACPI_ADDRESS_SPACE_INFO;


/* Values and addresses of the GPE registers (both banks) */

typedef struct
{
	u8                      status;         /* Current value of status reg */
	u8                      enable;         /* Current value of enable reg */
	u16                     status_addr;    /* Address of status reg */
	u16                     enable_addr;    /* Address of enable reg */
	u8                      gpe_base;       /* Base GPE number */

} ACPI_GPE_REGISTERS;


#define ACPI_GPE_LEVEL_TRIGGERED            1
#define ACPI_GPE_EDGE_TRIGGERED             2


/* Information about each particular GPE level */

typedef struct
{
	u8                      type;           /* Level or Edge */

	ACPI_HANDLE             method_handle;  /* Method handle for direct (fast) execution */
	GPE_HANDLER             handler;        /* Address of handler, if any */
	void                    *context;       /* Context to be passed to handler */

} ACPI_GPE_LEVEL_INFO;


/* Information about each particular fixed event */

typedef struct
{
	FIXED_EVENT_HANDLER     handler;        /* Address of handler. */
	void                    *context;       /* Context to be passed to handler */

} ACPI_FIXED_EVENT_INFO;


/* Information used during field processing */

typedef struct
{
	u8                      skip_field;
	u8                      field_flag;
	u32                     pkg_length;

} ACPI_FIELD_INFO;


/*****************************************************************************
 *
 * Generic "state" object for stacks
 *
 ****************************************************************************/


#define CONTROL_NORMAL                        0xC0
#define CONTROL_CONDITIONAL_EXECUTING         0xC1
#define CONTROL_PREDICATE_EXECUTING           0xC2
#define CONTROL_PREDICATE_FALSE               0xC3
#define CONTROL_PREDICATE_TRUE                0xC4


/* Forward declaration */
struct acpi_walk_state;
struct acpi_parse_obj ;


#define ACPI_STATE_COMMON                  /* Two 32-bit fields and a pointer */\
	u8                      data_type;          /* To differentiate various internal objs */\
	u8                      flags; \
	u16                     value; \
	u16                     state; \
	u16                     acpi_eval; \
	void                    *next; \

typedef struct acpi_common_state
{
	ACPI_STATE_COMMON
} ACPI_COMMON_STATE;


/*
 * Update state - used to traverse complex objects such as packages
 */
typedef struct acpi_update_state
{
	ACPI_STATE_COMMON
	union acpi_operand_obj  *object;

} ACPI_UPDATE_STATE;

/*
 * Control state - one per if/else and while constructs.
 * Allows nesting of these constructs
 */
typedef struct acpi_control_state
{
	ACPI_STATE_COMMON
	struct acpi_parse_obj   *predicate_op;
	u8                      *aml_predicate_start; /* Start of if/while predicate */

} ACPI_CONTROL_STATE;


/*
 * Scope state - current scope during namespace lookups
 */

typedef struct acpi_scope_state
{
	ACPI_STATE_COMMON
	ACPI_NAMESPACE_NODE     *node;

} ACPI_SCOPE_STATE;


typedef struct acpi_pscope_state
{
	ACPI_STATE_COMMON
	struct acpi_parse_obj   *op;            /* current op being parsed */
	u8                      *arg_end;       /* current argument end */
	u8                      *pkg_end;       /* current package end */
	u32                     arg_list;       /* next argument to parse */
	u32                     arg_count;      /* Number of fixed arguments */

} ACPI_PSCOPE_STATE;


typedef union acpi_gen_state
{
	ACPI_COMMON_STATE       common;
	ACPI_CONTROL_STATE      control;
	ACPI_UPDATE_STATE       update;
	ACPI_SCOPE_STATE        scope;
	ACPI_PSCOPE_STATE       parse_scope;

} ACPI_GENERIC_STATE;


typedef
ACPI_STATUS (*ACPI_PARSE_DOWNWARDS) (
	u16                     opcode,
	struct acpi_parse_obj   *op,
	struct acpi_walk_state  *walk_state,
	struct acpi_parse_obj   **out_op);

typedef
ACPI_STATUS (*ACPI_PARSE_UPWARDS) (
	struct acpi_walk_state  *walk_state,
	struct acpi_parse_obj   *op);


/*****************************************************************************
 *
 * Parser typedefs and structs
 *
 ****************************************************************************/


#define ACPI_OP_CLASS_MASK          0x1F
#define ACPI_OP_ARGS_MASK           0x20
#define ACPI_OP_TYPE_MASK           0xC0

#define ACPI_OP_TYPE_OPCODE         0x00
#define ACPI_OP_TYPE_ASCII          0x40
#define ACPI_OP_TYPE_PREFIX         0x80
#define ACPI_OP_TYPE_UNKNOWN        0xC0

#define ACPI_GET_OP_CLASS(a)        ((a)->flags & ACPI_OP_CLASS_MASK)
#define ACPI_GET_OP_ARGS(a)         ((a)->flags & ACPI_OP_ARGS_MASK)
#define ACPI_GET_OP_TYPE(a)         ((a)->flags & ACPI_OP_TYPE_MASK)


/*
 * AML opcode, name, and argument layout
 */
typedef struct acpi_opcode_info
{
	u8                      flags;          /* Opcode type, Has_args flag */
	u32                     parse_args;     /* Grammar/Parse time arguments */
	u32                     runtime_args;   /* Interpret time arguments */

	DEBUG_ONLY_MEMBERS (
	NATIVE_CHAR             *name)          /* op name (debug only) */

} ACPI_OPCODE_INFO;


typedef union acpi_parse_val
{
	u32                     integer;        /* integer constant */
	u32                     size;           /* bytelist or field size */
	NATIVE_CHAR             *string;        /* NULL terminated string */
	u8                      *buffer;        /* buffer or string */
	NATIVE_CHAR             *name;          /* NULL terminated string */
	struct acpi_parse_obj   *arg;           /* arguments and contained ops */

} ACPI_PARSE_VALUE;


#define ACPI_PARSE_COMMON \
	u8                      data_type;      /* To differentiate various internal objs */\
	u8                      flags;          /* Type of Op */\
	u16                     opcode;         /* AML opcode */\
	u32                     aml_offset;     /* offset of declaration in AML */\
	struct acpi_parse_obj   *parent;        /* parent op */\
	struct acpi_parse_obj   *next;          /* next op */\
	DEBUG_ONLY_MEMBERS (\
	NATIVE_CHAR             op_name[16])    /* op name (debug only) */\
			  /* NON-DEBUG members below: */\
	ACPI_NAMESPACE_NODE     *node;/* for use by interpreter */\
	ACPI_PARSE_VALUE        value;          /* Value or args associated with the opcode */\


/*
 * generic operation (eg. If, While, Store)
 */
typedef struct acpi_parse_obj
{
	ACPI_PARSE_COMMON
} ACPI_PARSE_OBJECT;


/*
 * Extended Op for named ops (Scope, Method, etc.), deferred ops (Methods and Op_regions),
 * and bytelists.
 */
typedef struct acpi_parse2_obj
{
	ACPI_PARSE_COMMON
	u8                      *data;          /* AML body or bytelist data */
	u32                     length;         /* AML length */
	u32                     name;           /* 4-byte name or zero if no name */

} ACPI_PARSE2_OBJECT;


/*
 * Parse state - one state per parser invocation and each control
 * method.
 */

typedef struct acpi_parse_state
{
	u8                      *aml_start;     /* first AML byte */
	u8                      *aml;           /* next AML byte */
	u8                      *aml_end;       /* (last + 1) AML byte */
	u8                      *pkg_start;     /* current package begin */
	u8                      *pkg_end;       /* current package end */
	ACPI_PARSE_OBJECT       *start_op;      /* root of parse tree */
	struct acpi_node        *start_node;
	ACPI_GENERIC_STATE      *scope;         /* current scope */
	struct acpi_parse_state *next;

} ACPI_PARSE_STATE;


/*****************************************************************************
 *
 * Tree walking typedefs and structs
 *
 ****************************************************************************/


/*
 * Walk state - current state of a parse tree walk.  Used for both a leisurely stroll through
 * the tree (for whatever reason), and for control method execution.
 */

#define NEXT_OP_DOWNWARD    1
#define NEXT_OP_UPWARD      2

#define WALK_METHOD         1
#define WALK_NON_METHOD     0

typedef struct acpi_walk_state
{
	u8                      data_type;                          /* To differentiate various internal objs */\
	ACPI_OWNER_ID           owner_id;                           /* Owner of objects created during the walk */
	u8                      last_predicate;                     /* Result of last predicate */
	u8                      next_op_info;                       /* Info about Next_op */
	u8                      num_operands;                       /* Stack pointer for Operands[] array */
	u8                      num_results;                        /* Stack pointer for Results[] array */
	u8                      current_result;                     /* */

	struct acpi_walk_state  *next;                              /* Next Walk_state in list */
	ACPI_PARSE_OBJECT       *origin;                            /* Start of walk */

/* TBD: Obsolete with removal of WALK procedure ? */
	ACPI_PARSE_OBJECT       *prev_op;                           /* Last op that was processed */
	ACPI_PARSE_OBJECT       *next_op;                           /* next op to be processed */


	ACPI_GENERIC_STATE      *control_state;                     /* List of control states (nested IFs) */
	ACPI_GENERIC_STATE      *scope_info;                        /* Stack of nested scopes */
	ACPI_PARSE_STATE        *parser_state;                      /* Current state of parser */
	u8                      *aml_last_while;
	ACPI_PARSE_DOWNWARDS    descending_callback;
	ACPI_PARSE_UPWARDS      ascending_callback;

	union acpi_operand_obj  *return_desc;                       /* Return object, if any */
	union acpi_operand_obj  *method_desc;                       /* Method descriptor if running a method */
	struct acpi_node        *method_node;                       /* Method Node if running a method */
	ACPI_PARSE_OBJECT       *method_call_op;                    /* Method_call Op if running a method */
	struct acpi_node        *method_call_node;                  /* Called method Node*/
	union acpi_operand_obj  *operands[OBJ_NUM_OPERANDS];        /* Operands passed to the interpreter */
	union acpi_operand_obj  *results[OBJ_NUM_OPERANDS];         /* Accumulated results */
	struct acpi_node        arguments[MTH_NUM_ARGS];            /* Control method arguments */
	struct acpi_node        local_variables[MTH_NUM_LOCALS];    /* Control method locals */
	u32                     parse_flags;
	u8                      walk_type;
	u8                      return_used;
	u32                     prev_arg_types;

	/* Debug support */

	u32                     method_breakpoint;


} ACPI_WALK_STATE;


/*
 * Walk list - head of a tree of walk states.  Multiple walk states are created when there
 * are nested control methods executing.
 */
typedef struct acpi_walk_list
{

	ACPI_WALK_STATE         *walk_state;

} ACPI_WALK_LIST;


/* Info used by Acpi_ps_init_objects */

typedef struct init_walk_info
{
	u32                     method_count;
	u32                     op_region_count;
	ACPI_TABLE_DESC         *table_desc;

} INIT_WALK_INFO;


/* TBD: [Restructure] Merge with struct above */

typedef struct acpi_walk_info
{
	u32                     debug_level;
	u32                     owner_id;

} ACPI_WALK_INFO;


/*****************************************************************************
 *
 * Hardware and PNP
 *
 ****************************************************************************/


/* Sleep states */

#define SLWA_DEBUG_LEVEL    4
#define GTS_CALL            0
#define GTS_WAKE            1

/* Cx States */

#define MAX_CX_STATE_LATENCY 0xFFFFFFFF
#define MAX_CX_STATES       4

/*
 * The #define's and enum below establish an abstract way of identifying what
 * register block and register is to be accessed.  Do not change any of the
 * values as they are used in switch statements and offset calculations.
 */

#define REGISTER_BLOCK_MASK     0xFF00
#define BIT_IN_REGISTER_MASK    0x00FF
#define PM1_EVT                 0x0100
#define PM1_CONTROL             0x0200
#define PM2_CONTROL             0x0300
#define PM_TIMER                0x0400
#define PROCESSOR_BLOCK         0x0500
#define GPE0_STS_BLOCK          0x0600
#define GPE0_EN_BLOCK           0x0700
#define GPE1_STS_BLOCK          0x0800
#define GPE1_EN_BLOCK           0x0900

enum
{
	/* PM1 status register ids */

	TMR_STS =   (PM1_EVT        | 0x01),
	BM_STS,
	GBL_STS,
	PWRBTN_STS,
	SLPBTN_STS,
	RTC_STS,
	WAK_STS,

	/* PM1 enable register ids */

	TMR_EN,
	/* need to skip 1 enable number since there's no bus master enable register */
	GBL_EN =    (PM1_EVT        | 0x0A),
	PWRBTN_EN,
	SLPBTN_EN,
	RTC_EN,

	/* PM1 control register ids */

	SCI_EN =    (PM1_CONTROL    | 0x01),
	BM_RLD,
	GBL_RLS,
	SLP_TYPE_A,
	SLP_TYPE_B,
	SLP_EN,

	/* PM2 control register ids */

	ARB_DIS =   (PM2_CONTROL    | 0x01),

	/* PM Timer register ids */

	TMR_VAL =   (PM_TIMER       | 0x01),

	GPE0_STS =  (GPE0_STS_BLOCK | 0x01),
	GPE0_EN =   (GPE0_EN_BLOCK  | 0x01),

	GPE1_STS =  (GPE1_STS_BLOCK | 0x01),
	GPE1_EN =   (GPE0_EN_BLOCK  | 0x01),

	/* Last register value is one less than LAST_REG */

	LAST_REG
};


#define TMR_STS_MASK        0x0001
#define BM_STS_MASK         0x0010
#define GBL_STS_MASK        0x0020
#define PWRBTN_STS_MASK     0x0100
#define SLPBTN_STS_MASK     0x0200
#define RTC_STS_MASK        0x0400
#define WAK_STS_MASK        0x8000

#define ALL_FIXED_STS_BITS  (TMR_STS_MASK   | BM_STS_MASK  | GBL_STS_MASK | PWRBTN_STS_MASK |  \
			 SLPBTN_STS_MASK | RTC_STS_MASK | WAK_STS_MASK)

#define TMR_EN_MASK         0x0001
#define GBL_EN_MASK         0x0020
#define PWRBTN_EN_MASK      0x0100
#define SLPBTN_EN_MASK      0x0200
#define RTC_EN_MASK         0x0400

#define SCI_EN_MASK         0x0001
#define BM_RLD_MASK         0x0002
#define GBL_RLS_MASK        0x0004
#define SLP_TYPE_X_MASK     0x1C00
#define SLP_EN_MASK         0x2000

#define ARB_DIS_MASK        0x0001

#define GPE0_STS_MASK
#define GPE0_EN_MASK

#define GPE1_STS_MASK
#define GPE1_EN_MASK


#define ACPI_READ           1
#define ACPI_WRITE          2

#define LOW_BYTE            0x00FF
#define ONE_BYTE            0x08

#ifndef SET
	#define SET             1
#endif
#ifndef CLEAR
	#define CLEAR           0
#endif


/* Plug and play */

/* Pnp and ACPI data */

#define VERSION_NO                      0x01
#define LOGICAL_DEVICE_ID               0x02
#define COMPATIBLE_DEVICE_ID            0x03
#define IRQ_FORMAT                      0x04
#define DMA_FORMAT                      0x05
#define START_DEPENDENT_TAG             0x06
#define END_DEPENDENT_TAG               0x07
#define IO_PORT_DESCRIPTOR              0x08
#define FIXED_LOCATION_IO_DESCRIPTOR    0x09
#define RESERVED_TYPE0                  0x0A
#define RESERVED_TYPE1                  0x0B
#define RESERVED_TYPE2                  0x0C
#define RESERVED_TYPE3                  0x0D
#define SMALL_VENDOR_DEFINED            0x0E
#define END_TAG                         0x0F

/* Pnp and ACPI data */

#define MEMORY_RANGE_24                 0x81
#define ISA_MEMORY_RANGE                0x81
#define LARGE_VENDOR_DEFINED            0x84
#define EISA_MEMORY_RANGE               0x85
#define MEMORY_RANGE_32                 0x85
#define FIXED_EISA_MEMORY_RANGE         0x86
#define FIXED_MEMORY_RANGE_32           0x86

/* ACPI only data */

#define DWORD_ADDRESS_SPACE             0x87
#define WORD_ADDRESS_SPACE              0x88
#define EXTENDED_IRQ                    0x89

/* MUST HAVES */


typedef enum
{
	DWORD_DEVICE_ID,
	STRING_PTR_DEVICE_ID,
	STRING_DEVICE_ID

}   DEVICE_ID_TYPE;

typedef struct
{
	DEVICE_ID_TYPE      type;
	union
	{
		u32                 number;
		NATIVE_CHAR         *string_ptr;
		NATIVE_CHAR         buffer[9];
	} data;

} DEVICE_ID;


/*****************************************************************************
 *
 * Debug
 *
 ****************************************************************************/


/* Entry for a memory allocation (debug only) */

#ifdef ACPI_DEBUG

#define MEM_MALLOC          0
#define MEM_CALLOC          1
#define MAX_MODULE_NAME     16

typedef struct allocation_info
{
	struct allocation_info  *previous;
	struct allocation_info  *next;
	void                    *address;
	u32                     size;
	u32                     component;
	u32                     line;
	NATIVE_CHAR             module[MAX_MODULE_NAME];
	u8                      alloc_type;

} ALLOCATION_INFO;

#endif

#endif /* __ACLOCAL_H__ */
#ifndef __EMU10K1_SYNTH_LOCAL_H
#define __EMU10K1_SYNTH_LOCAL_H
/*
 *  Local defininitons for Emu10k1 wavetable
 *
 *  Copyright (C) 2000 Takashi Iwai <[EMAIL PROTECTED]>
 *
 *   This program is free software; you can redistribute it and/or modify
 *   it under the terms of the GNU General Public License as published by
 *   the Free Software Foundation; either version 2 of the License, or
 *   (at your option) any later version.
 *
 *   This program is distributed in the hope that it will be useful,
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *   GNU General Public License for more details.
 *
 *   You should have received a copy of the GNU General Public License
 *   along with this program; if not, write to the Free Software
 *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 */

#include "../../include/driver.h"
#include "../../include/mixer.h"
#include "../../include/emu10k1_synth.h"

/* emu10k1_patch.c */
int snd_emu10k1_sample_new(void *private_data, snd_sf_sample_t *sp, snd_emux_memhdr_t *hdr, const void *_data, long count);
int snd_emu10k1_sample_free(void *private_data, snd_sf_sample_t *sp, snd_emux_memhdr_t *hdr);
int snd_emu10k1_memhdr_init(snd_emux_t *emu);

/* emu10k1_callback.c */
void snd_emu10k1_ops_setup(snd_emux_t *emu);
int snd_emu10k1_synth_get_voice(emu10k1_t *hw);


#endif	/* __EMU10K1_SYNTH_LOCAL_H */
#ifndef __EMU8000_LOCAL_H
#define __EMU8000_LOCAL_H
/*
 *  Local defininitons for the emu8000 (AWE32/64)
 *
 *  Copyright (C) 1999 Steve Ratcliffe
 *  Copyright (C) 1999-2000 Takashi Iwai <[EMAIL PROTECTED]>
 *
 *   This program is free software; you can redistribute it and/or modify
 *   it under the terms of the GNU General Public License as published by
 *   the Free Software Foundation; either version 2 of the License, or
 *   (at your option) any later version.
 *
 *   This program is distributed in the hope that it will be useful,
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *   GNU General Public License for more details.
 *
 *   You should have received a copy of the GNU General Public License
 *   along with this program; if not, write to the Free Software
 *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 */

#include "../../include/emu8000.h"
#include "../../include/emu8000_reg.h"

#define NELEM(arr) (sizeof(arr)/sizeof((arr)[0]))

/* emu8000_reg.c */
void snd_emu8000_poke(emu8000_t *emu, unsigned int port, unsigned int reg,
		      unsigned int val);
unsigned short snd_emu8000_peek(emu8000_t *emu, unsigned int port,
				unsigned int reg);
void snd_emu8000_poke_dw(emu8000_t *emu, unsigned int port, unsigned int reg,
			 unsigned int val);
unsigned int snd_emu8000_peek_dw(emu8000_t *emu, unsigned int port,
				 unsigned int reg);

int snd_emu8000_detect(emu8000_t *emu);
void snd_emu8000_dma_chan(emu8000_t *emu, int ch, int mode);
int snd_emu8000_open_dma(emu8000_t *emu, int mode);
void snd_emu8000_close_dma(emu8000_t *emu);
void snd_emu8000_wait_dma(emu8000_t *emu);
void snd_emu8000_read_wait(emu8000_t *emu);
void snd_emu8000_write_wait(emu8000_t *emu);
void snd_emu8000_wait(emu8000_t *emu, unsigned short delay);

/* emu8000_init.c */
void snd_emu8000_init_hw(emu8000_t *emu);
void snd_emu8000_start(emu8000_t *emu);
void snd_emu8000_init(emu8000_t *emu);
void snd_emu8000_init_fm(emu8000_t *emu);

/* emu8000_patch.c */
int snd_emu8000_sample_new(void *private_data, snd_sf_sample_t *sp, snd_emux_memhdr_t *hdr, const void *data, long count);
int snd_emu8000_sample_free(void *private_data, snd_sf_sample_t *sp, snd_emux_memhdr_t *hdr);
void snd_emu8000_sample_reset(void *private_data);

/* Prototypes for emu8000_proc.c */
void snd_emu8000_proc_init(emu8000_t *emu);
void snd_emu8000_proc_free(snd_info_entry_t *ip);

/* emu8000_synth.c */
void snd_emu8000_ops_setup(emu8000_t *emu);
void snd_emu8000_tweak_voice(emu8000_t *emu, int ch);

/* emu8000_equalizer.c */
void snd_emu8000_update_chorus_mode(emu8000_t *emu);
void snd_emu8000_update_reverb_mode(emu8000_t *emu);
void snd_emu8000_update_equalizer(emu8000_t *emu);
int snd_emu8000_load_fx(void *private, int type, int mode, const void *buf, long len);
void snd_emu8000_set_chorus_mode(emu8000_t *emu, int mode);
void snd_emu8000_set_reverb_mode(emu8000_t *emu, int mode);

int snd_emu8000_create_mixer(emu8000_t *emu, snd_kmixer_t *mixer, snd_kmixer_element_t *me_dest, int index);
void snd_emu8000_free_mixer(emu8000_t *emu);


#endif	/* __EMU8000_LOCAL_H */

Répondre à