Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
raspberrypi-kernel
提交
e637d326
R
raspberrypi-kernel
项目概览
openeuler
/
raspberrypi-kernel
通知
14
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
raspberrypi-kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
e637d326
编写于
5月 15, 2018
作者:
R
Rafael J. Wysocki
浏览文件
操作
浏览文件
下载
差异文件
Merge back earlier ACPICA material for v4.18.
上级
7b34c0fb
c57c0ad4
变更
8
隐藏空白更改
内联
并排
Showing
8 changed file
with
67 addition
and
7 deletion
+67
-7
drivers/acpi/acpica/acglobal.h
drivers/acpi/acpica/acglobal.h
+1
-1
drivers/acpi/acpica/hwregs.c
drivers/acpi/acpica/hwregs.c
+2
-2
drivers/acpi/acpica/hwxface.c
drivers/acpi/acpica/hwxface.c
+2
-2
drivers/acpi/acpica/utmutex.c
drivers/acpi/acpica/utmutex.c
+2
-2
include/acpi/acpiosxf.h
include/acpi/acpiosxf.h
+21
-0
include/acpi/actypes.h
include/acpi/actypes.h
+4
-0
include/acpi/platform/aclinux.h
include/acpi/platform/aclinux.h
+5
-0
include/acpi/platform/aclinuxex.h
include/acpi/platform/aclinuxex.h
+30
-0
未找到文件。
drivers/acpi/acpica/acglobal.h
浏览文件 @
e637d326
...
...
@@ -82,7 +82,7 @@ ACPI_GLOBAL(u8, acpi_gbl_global_lock_pending);
* interrupt level
*/
ACPI_GLOBAL
(
acpi_spinlock
,
acpi_gbl_gpe_lock
);
/* For GPE data structs and registers */
ACPI_GLOBAL
(
acpi_spinlock
,
acpi_gbl_hardware_lock
);
/* For ACPI H/W except GPE registers */
ACPI_GLOBAL
(
acpi_
raw_
spinlock
,
acpi_gbl_hardware_lock
);
/* For ACPI H/W except GPE registers */
ACPI_GLOBAL
(
acpi_spinlock
,
acpi_gbl_reference_count_lock
);
/* Mutex for _OSI support */
...
...
drivers/acpi/acpica/hwregs.c
浏览文件 @
e637d326
...
...
@@ -390,14 +390,14 @@ acpi_status acpi_hw_clear_acpi_status(void)
ACPI_BITMASK_ALL_FIXED_STATUS
,
ACPI_FORMAT_UINT64
(
acpi_gbl_xpm1a_status
.
address
)));
lock_flags
=
acpi_os_acquire_lock
(
acpi_gbl_hardware_lock
);
lock_flags
=
acpi_os_acquire_
raw_
lock
(
acpi_gbl_hardware_lock
);
/* Clear the fixed events in PM1 A/B */
status
=
acpi_hw_register_write
(
ACPI_REGISTER_PM1_STATUS
,
ACPI_BITMASK_ALL_FIXED_STATUS
);
acpi_os_release_lock
(
acpi_gbl_hardware_lock
,
lock_flags
);
acpi_os_release_
raw_
lock
(
acpi_gbl_hardware_lock
,
lock_flags
);
if
(
ACPI_FAILURE
(
status
))
{
goto
exit
;
...
...
drivers/acpi/acpica/hwxface.c
浏览文件 @
e637d326
...
...
@@ -227,7 +227,7 @@ acpi_status acpi_write_bit_register(u32 register_id, u32 value)
return_ACPI_STATUS
(
AE_BAD_PARAMETER
);
}
lock_flags
=
acpi_os_acquire_lock
(
acpi_gbl_hardware_lock
);
lock_flags
=
acpi_os_acquire_
raw_
lock
(
acpi_gbl_hardware_lock
);
/*
* At this point, we know that the parent register is one of the
...
...
@@ -288,7 +288,7 @@ acpi_status acpi_write_bit_register(u32 register_id, u32 value)
unlock_and_exit:
acpi_os_release_lock
(
acpi_gbl_hardware_lock
,
lock_flags
);
acpi_os_release_
raw_
lock
(
acpi_gbl_hardware_lock
,
lock_flags
);
return_ACPI_STATUS
(
status
);
}
...
...
drivers/acpi/acpica/utmutex.c
浏览文件 @
e637d326
...
...
@@ -52,7 +52,7 @@ acpi_status acpi_ut_mutex_initialize(void)
return_ACPI_STATUS
(
status
);
}
status
=
acpi_os_create_
lock
(
&
acpi_gbl_hardware_lock
);
status
=
acpi_os_create_
raw_lock
(
&
acpi_gbl_hardware_lock
);
if
(
ACPI_FAILURE
(
status
))
{
return_ACPI_STATUS
(
status
);
}
...
...
@@ -109,7 +109,7 @@ void acpi_ut_mutex_terminate(void)
/* Delete the spinlocks */
acpi_os_delete_lock
(
acpi_gbl_gpe_lock
);
acpi_os_delete_lock
(
acpi_gbl_hardware_lock
);
acpi_os_delete_
raw_
lock
(
acpi_gbl_hardware_lock
);
acpi_os_delete_lock
(
acpi_gbl_reference_count_lock
);
/* Delete the reader/writer lock */
...
...
include/acpi/acpiosxf.h
浏览文件 @
e637d326
...
...
@@ -97,6 +97,27 @@ acpi_cpu_flags acpi_os_acquire_lock(acpi_spinlock handle);
void
acpi_os_release_lock
(
acpi_spinlock
handle
,
acpi_cpu_flags
flags
);
#endif
/*
* RAW spinlock primitives. If the OS does not provide them, fallback to
* spinlock primitives
*/
#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_acpi_os_create_raw_lock
# define acpi_os_create_raw_lock(out_handle) acpi_os_create_lock(out_handle)
#endif
#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_acpi_os_delete_raw_lock
# define acpi_os_delete_raw_lock(handle) acpi_os_delete_lock(handle)
#endif
#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_acpi_os_acquire_raw_lock
# define acpi_os_acquire_raw_lock(handle) acpi_os_acquire_lock(handle)
#endif
#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_acpi_os_release_raw_lock
# define acpi_os_release_raw_lock(handle, flags) \
acpi_os_release_lock(handle, flags)
#endif
/*
* Semaphore primitives
*/
...
...
include/acpi/actypes.h
浏览文件 @
e637d326
...
...
@@ -245,6 +245,10 @@ typedef u64 acpi_physical_address;
#define acpi_spinlock void *
#endif
#ifndef acpi_raw_spinlock
#define acpi_raw_spinlock acpi_spinlock
#endif
#ifndef acpi_semaphore
#define acpi_semaphore void *
#endif
...
...
include/acpi/platform/aclinux.h
浏览文件 @
e637d326
...
...
@@ -102,6 +102,7 @@
#define acpi_cache_t struct kmem_cache
#define acpi_spinlock spinlock_t *
#define acpi_raw_spinlock raw_spinlock_t *
#define acpi_cpu_flags unsigned long
/* Use native linux version of acpi_os_allocate_zeroed */
...
...
@@ -119,6 +120,10 @@
#define ACPI_USE_ALTERNATE_PROTOTYPE_acpi_os_acquire_object
#define ACPI_USE_ALTERNATE_PROTOTYPE_acpi_os_get_thread_id
#define ACPI_USE_ALTERNATE_PROTOTYPE_acpi_os_create_lock
#define ACPI_USE_ALTERNATE_PROTOTYPE_acpi_os_create_raw_lock
#define ACPI_USE_ALTERNATE_PROTOTYPE_acpi_os_delete_raw_lock
#define ACPI_USE_ALTERNATE_PROTOTYPE_acpi_os_acquire_raw_lock
#define ACPI_USE_ALTERNATE_PROTOTYPE_acpi_os_release_raw_lock
/*
* OSL interfaces used by debugger/disassembler
...
...
include/acpi/platform/aclinuxex.h
浏览文件 @
e637d326
...
...
@@ -90,6 +90,36 @@ static inline acpi_thread_id acpi_os_get_thread_id(void)
lock ? AE_OK : AE_NO_MEMORY; \
})
#define acpi_os_create_raw_lock(__handle) \
({ \
raw_spinlock_t *lock = ACPI_ALLOCATE(sizeof(*lock)); \
if (lock) { \
*(__handle) = lock; \
raw_spin_lock_init(*(__handle)); \
} \
lock ? AE_OK : AE_NO_MEMORY; \
})
static
inline
acpi_cpu_flags
acpi_os_acquire_raw_lock
(
acpi_raw_spinlock
lockp
)
{
acpi_cpu_flags
flags
;
raw_spin_lock_irqsave
(
lockp
,
flags
);
return
flags
;
}
static
inline
void
acpi_os_release_raw_lock
(
acpi_raw_spinlock
lockp
,
acpi_cpu_flags
flags
)
{
raw_spin_unlock_irqrestore
(
lockp
,
flags
);
}
static
inline
void
acpi_os_delete_raw_lock
(
acpi_raw_spinlock
handle
)
{
ACPI_FREE
(
handle
);
}
static
inline
u8
acpi_os_readable
(
void
*
pointer
,
acpi_size
length
)
{
return
TRUE
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录