Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 151001
b: refs/heads/master
c: e0c437b
h: refs/heads/master
i:
  150999: 329dc35
v: v3
  • Loading branch information
Bob Moore authored and Len Brown committed May 27, 2009
1 parent 0d86966 commit 5166bcd
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 26 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 2b09ce98a25e467455ecd81354cc18381628be75
refs/heads/master: e0c437bcca6926b541c738b5c64445654750b365
63 changes: 38 additions & 25 deletions trunk/include/acpi/platform/aclinux.h
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
/******************************************************************************
*
* Name: aclinux.h - OS specific defines, etc.
* Name: aclinux.h - OS specific defines, etc. for Linux
*
*****************************************************************************/

/*
* Copyright (C) 2000 - 2008, Intel Corp.
* Copyright (C) 2000 - 2009, Intel Corp.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
Expand Down Expand Up @@ -44,10 +44,13 @@
#ifndef __ACLINUX_H__
#define __ACLINUX_H__

/* Common (in-kernel/user-space) ACPICA configuration */

#define ACPI_USE_SYSTEM_CLIBRARY
#define ACPI_USE_DO_WHILE_0
#define ACPI_MUTEX_TYPE ACPI_BINARY_SEMAPHORE


#ifdef __KERNEL__

#include <linux/string.h>
Expand All @@ -63,22 +66,30 @@
#include <linux/spinlock_types.h>
#include <asm/current.h>

/* Host-dependent types and defines */
/* Host-dependent types and defines for in-kernel ACPICA */

#define ACPI_MACHINE_WIDTH BITS_PER_LONG
#define acpi_cache_t struct kmem_cache
#define acpi_spinlock spinlock_t *
#define ACPI_EXPORT_SYMBOL(symbol) EXPORT_SYMBOL(symbol);
#define strtoul simple_strtoul

#else /* !__KERNEL__ */
#define acpi_cache_t struct kmem_cache
#define acpi_spinlock spinlock_t *
#define acpi_cpu_flags unsigned long
#define acpi_thread_id struct task_struct *

#else /* !__KERNEL__ */

#include <stdarg.h>
#include <string.h>
#include <stdlib.h>
#include <ctype.h>
#include <unistd.h>

/* Host-dependent types and defines for user-space ACPICA */

#define ACPI_FLUSH_CPU_CACHE()
#define acpi_thread_id pthread_t

#if defined(__ia64__) || defined(__x86_64__)
#define ACPI_MACHINE_WIDTH 64
#define COMPILER_DEPENDENT_INT64 long
Expand All @@ -94,17 +105,17 @@
#define __cdecl
#endif

#define ACPI_FLUSH_CPU_CACHE()
#endif /* __KERNEL__ */
#endif /* __KERNEL__ */

/* Linux uses GCC */

#include "acgcc.h"

#define acpi_cpu_flags unsigned long

#define acpi_thread_id struct task_struct *

#ifdef __KERNEL__
/*
* Overrides for in-kernel ACPICA
*/
static inline acpi_thread_id acpi_os_get_thread_id(void)
{
return current;
Expand All @@ -119,30 +130,32 @@ static inline acpi_thread_id acpi_os_get_thread_id(void)
#include <acpi/actypes.h>
static inline void *acpi_os_allocate(acpi_size size)
{
return kmalloc(size, irqs_disabled()? GFP_ATOMIC : GFP_KERNEL);
return kmalloc(size, irqs_disabled() ? GFP_ATOMIC : GFP_KERNEL);
}

static inline void *acpi_os_allocate_zeroed(acpi_size size)
{
return kzalloc(size, irqs_disabled()? GFP_ATOMIC : GFP_KERNEL);
return kzalloc(size, irqs_disabled() ? GFP_ATOMIC : GFP_KERNEL);
}

static inline void *acpi_os_acquire_object(acpi_cache_t * cache)
{
return kmem_cache_zalloc(cache,
irqs_disabled()? GFP_ATOMIC : GFP_KERNEL);
irqs_disabled() ? GFP_ATOMIC : GFP_KERNEL);
}

#define ACPI_ALLOCATE(a) acpi_os_allocate(a)
#define ACPI_ALLOCATE_ZEROED(a) acpi_os_allocate_zeroed(a)
#define ACPI_FREE(a) kfree(a)
#define ACPI_ALLOCATE(a) acpi_os_allocate(a)
#define ACPI_ALLOCATE_ZEROED(a) acpi_os_allocate_zeroed(a)
#define ACPI_FREE(a) kfree(a)

/*
* We need to show where it is safe to preempt execution of ACPICA
*/
#define ACPI_PREEMPTION_POINT() \
do { \
if (!irqs_disabled()) \
cond_resched(); \
/* Used within ACPICA to show where it is safe to preempt execution */

#define ACPI_PREEMPTION_POINT() \
do { \
if (!irqs_disabled()) \
cond_resched(); \
} while (0)

#endif /* __ACLINUX_H__ */
#endif /* __KERNEL__ */

#endif /* __ACLINUX_H__ */

0 comments on commit 5166bcd

Please sign in to comment.