Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
raspberrypi-kernel
提交
fe0a20a3
R
raspberrypi-kernel
项目概览
openeuler
/
raspberrypi-kernel
通知
13
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看板
提交
fe0a20a3
编写于
3月 25, 2015
作者:
R
Rafael J. Wysocki
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'acpi-driver-core' into device-properties
上级
f42712a9
ca5b74d2
变更
15
隐藏空白更改
内联
并排
Showing
15 changed file
with
59 addition
and
36 deletion
+59
-36
drivers/acpi/acpi_platform.c
drivers/acpi/acpi_platform.c
+1
-1
drivers/acpi/dock.c
drivers/acpi/dock.c
+1
-1
drivers/acpi/glue.c
drivers/acpi/glue.c
+2
-2
drivers/base/platform.c
drivers/base/platform.c
+1
-1
drivers/gpio/gpiolib.h
drivers/gpio/gpiolib.h
+2
-0
drivers/i2c/busses/i2c-designware-platdrv.c
drivers/i2c/busses/i2c-designware-platdrv.c
+2
-2
drivers/i2c/i2c-core.c
drivers/i2c/i2c-core.c
+2
-2
drivers/iommu/intel-iommu.c
drivers/iommu/intel-iommu.c
+1
-1
include/acpi/acpi_bus.h
include/acpi/acpi_bus.h
+2
-1
include/linux/acpi.h
include/linux/acpi.h
+13
-2
include/linux/device.h
include/linux/device.h
+3
-10
include/linux/fwnode.h
include/linux/fwnode.h
+25
-0
include/linux/i2c.h
include/linux/i2c.h
+2
-2
include/linux/platform_device.h
include/linux/platform_device.h
+1
-1
include/linux/property.h
include/linux/property.h
+1
-10
未找到文件。
drivers/acpi/acpi_platform.c
浏览文件 @
fe0a20a3
...
...
@@ -102,7 +102,7 @@ struct platform_device *acpi_create_platform_device(struct acpi_device *adev)
pdevinfo
.
id
=
-
1
;
pdevinfo
.
res
=
resources
;
pdevinfo
.
num_res
=
count
;
pdevinfo
.
acpi_node
.
companion
=
adev
;
pdevinfo
.
fwnode
=
acpi_fwnode_handle
(
adev
)
;
pdevinfo
.
dma_mask
=
DMA_BIT_MASK
(
32
);
pdev
=
platform_device_register_full
(
&
pdevinfo
);
if
(
IS_ERR
(
pdev
))
...
...
drivers/acpi/dock.c
浏览文件 @
fe0a20a3
...
...
@@ -615,7 +615,7 @@ void acpi_dock_add(struct acpi_device *adev)
memset
(
&
pdevinfo
,
0
,
sizeof
(
pdevinfo
));
pdevinfo
.
name
=
"dock"
;
pdevinfo
.
id
=
dock_station_count
;
pdevinfo
.
acpi_node
.
companion
=
adev
;
pdevinfo
.
fwnode
=
acpi_fwnode_handle
(
adev
)
;
pdevinfo
.
data
=
&
ds
;
pdevinfo
.
size_data
=
sizeof
(
ds
);
dd
=
platform_device_register_full
(
&
pdevinfo
);
...
...
drivers/acpi/glue.c
浏览文件 @
fe0a20a3
...
...
@@ -168,7 +168,7 @@ int acpi_bind_one(struct device *dev, struct acpi_device *acpi_dev)
unsigned
int
node_id
;
int
retval
=
-
EINVAL
;
if
(
ACPI_COMPANION
(
dev
))
{
if
(
has_acpi_companion
(
dev
))
{
if
(
acpi_dev
)
{
dev_warn
(
dev
,
"ACPI companion already set
\n
"
);
return
-
EINVAL
;
...
...
@@ -220,7 +220,7 @@ int acpi_bind_one(struct device *dev, struct acpi_device *acpi_dev)
list_add
(
&
physical_node
->
node
,
physnode_list
);
acpi_dev
->
physical_node_count
++
;
if
(
!
ACPI_COMPANION
(
dev
))
if
(
!
has_acpi_companion
(
dev
))
ACPI_COMPANION_SET
(
dev
,
acpi_dev
);
acpi_physnode_link_name
(
physical_node_name
,
node_id
);
...
...
drivers/base/platform.c
浏览文件 @
fe0a20a3
...
...
@@ -454,7 +454,7 @@ struct platform_device *platform_device_register_full(
goto
err_alloc
;
pdev
->
dev
.
parent
=
pdevinfo
->
parent
;
ACPI_COMPANION_SET
(
&
pdev
->
dev
,
pdevinfo
->
acpi_node
.
companion
)
;
pdev
->
dev
.
fwnode
=
pdevinfo
->
fwnode
;
if
(
pdevinfo
->
dma_mask
)
{
/*
...
...
drivers/gpio/gpiolib.h
浏览文件 @
fe0a20a3
...
...
@@ -17,6 +17,8 @@
enum
of_gpio_flags
;
struct
acpi_device
;
/**
* struct acpi_gpio_info - ACPI GPIO specific information
* @gpioint: if %true this GPIO is of type GpioInt otherwise type is GpioIo
...
...
drivers/i2c/busses/i2c-designware-platdrv.c
浏览文件 @
fe0a20a3
...
...
@@ -166,7 +166,7 @@ static int dw_i2c_probe(struct platform_device *pdev)
/* fast mode by default because of legacy reasons */
clk_freq
=
400000
;
if
(
ACPI_COMPANION
(
&
pdev
->
dev
))
{
if
(
has_acpi_companion
(
&
pdev
->
dev
))
{
dw_i2c_acpi_configure
(
pdev
);
}
else
if
(
pdev
->
dev
.
of_node
)
{
of_property_read_u32
(
pdev
->
dev
.
of_node
,
...
...
@@ -286,7 +286,7 @@ static int dw_i2c_remove(struct platform_device *pdev)
pm_runtime_put
(
&
pdev
->
dev
);
pm_runtime_disable
(
&
pdev
->
dev
);
if
(
ACPI_COMPANION
(
&
pdev
->
dev
))
if
(
has_acpi_companion
(
&
pdev
->
dev
))
dw_i2c_acpi_unconfigure
(
pdev
);
return
0
;
...
...
drivers/i2c/i2c-core.c
浏览文件 @
fe0a20a3
...
...
@@ -133,7 +133,7 @@ static acpi_status acpi_i2c_add_device(acpi_handle handle, u32 level,
return
AE_OK
;
memset
(
&
info
,
0
,
sizeof
(
info
));
info
.
acpi_node
.
companion
=
adev
;
info
.
fwnode
=
acpi_fwnode_handle
(
adev
)
;
info
.
irq
=
-
1
;
INIT_LIST_HEAD
(
&
resource_list
);
...
...
@@ -971,7 +971,7 @@ i2c_new_device(struct i2c_adapter *adap, struct i2c_board_info const *info)
client
->
dev
.
bus
=
&
i2c_bus_type
;
client
->
dev
.
type
=
&
i2c_client_type
;
client
->
dev
.
of_node
=
info
->
of_node
;
ACPI_COMPANION_SET
(
&
client
->
dev
,
info
->
acpi_node
.
companion
)
;
client
->
dev
.
fwnode
=
info
->
fwnode
;
i2c_dev_set_name
(
adap
,
client
);
status
=
device_register
(
&
client
->
dev
);
...
...
drivers/iommu/intel-iommu.c
浏览文件 @
fe0a20a3
...
...
@@ -684,7 +684,7 @@ static struct intel_iommu *device_to_iommu(struct device *dev, u8 *bus, u8 *devf
if
(
dev_is_pci
(
dev
))
{
pdev
=
to_pci_dev
(
dev
);
segment
=
pci_domain_nr
(
pdev
->
bus
);
}
else
if
(
ACPI_COMPANION
(
dev
))
}
else
if
(
has_acpi_companion
(
dev
))
dev
=
&
ACPI_COMPANION
(
dev
)
->
dev
;
rcu_read_lock
();
...
...
include/acpi/acpi_bus.h
浏览文件 @
fe0a20a3
...
...
@@ -386,7 +386,8 @@ static inline bool is_acpi_node(struct fwnode_handle *fwnode)
static
inline
struct
acpi_device
*
acpi_node
(
struct
fwnode_handle
*
fwnode
)
{
return
fwnode
?
container_of
(
fwnode
,
struct
acpi_device
,
fwnode
)
:
NULL
;
return
is_acpi_node
(
fwnode
)
?
container_of
(
fwnode
,
struct
acpi_device
,
fwnode
)
:
NULL
;
}
static
inline
struct
fwnode_handle
*
acpi_fwnode_handle
(
struct
acpi_device
*
adev
)
...
...
include/linux/acpi.h
浏览文件 @
fe0a20a3
...
...
@@ -53,10 +53,16 @@ static inline acpi_handle acpi_device_handle(struct acpi_device *adev)
return
adev
?
adev
->
handle
:
NULL
;
}
#define ACPI_COMPANION(dev) ((dev)->acpi_node.companion)
#define ACPI_COMPANION_SET(dev, adev) ACPI_COMPANION(dev) = (adev)
#define ACPI_COMPANION(dev) acpi_node((dev)->fwnode)
#define ACPI_COMPANION_SET(dev, adev) (dev)->fwnode = (adev) ? \
acpi_fwnode_handle(adev) : NULL
#define ACPI_HANDLE(dev) acpi_device_handle(ACPI_COMPANION(dev))
static
inline
bool
has_acpi_companion
(
struct
device
*
dev
)
{
return
is_acpi_node
(
dev
->
fwnode
);
}
static
inline
void
acpi_preset_companion
(
struct
device
*
dev
,
struct
acpi_device
*
parent
,
u64
addr
)
{
...
...
@@ -471,6 +477,11 @@ static inline struct fwnode_handle *acpi_fwnode_handle(struct acpi_device *adev)
return
NULL
;
}
static
inline
bool
has_acpi_companion
(
struct
device
*
dev
)
{
return
false
;
}
static
inline
const
char
*
acpi_dev_name
(
struct
acpi_device
*
adev
)
{
return
NULL
;
...
...
include/linux/device.h
浏览文件 @
fe0a20a3
...
...
@@ -38,6 +38,7 @@ struct class;
struct
subsys_private
;
struct
bus_type
;
struct
device_node
;
struct
fwnode_handle
;
struct
iommu_ops
;
struct
iommu_group
;
...
...
@@ -650,14 +651,6 @@ struct device_dma_parameters {
unsigned
long
segment_boundary_mask
;
};
struct
acpi_device
;
struct
acpi_dev_node
{
#ifdef CONFIG_ACPI
struct
acpi_device
*
companion
;
#endif
};
/**
* struct device - The basic device structure
* @parent: The device's "parent" device, the device to which it is attached.
...
...
@@ -703,7 +696,7 @@ struct acpi_dev_node {
* @cma_area: Contiguous memory area for dma allocations
* @archdata: For arch-specific additions.
* @of_node: Associated device tree node.
* @
acpi_node: Associated ACPI device nod
e.
* @
fwnode: Associated device node supplied by platform firmwar
e.
* @devt: For creating the sysfs "dev".
* @id: device instance
* @devres_lock: Spinlock to protect the resource of the device.
...
...
@@ -779,7 +772,7 @@ struct device {
struct
dev_archdata
archdata
;
struct
device_node
*
of_node
;
/* associated device tree node */
struct
acpi_dev_node
acpi_node
;
/* associated ACPI
device node */
struct
fwnode_handle
*
fwnode
;
/* firmware
device node */
dev_t
devt
;
/* dev_t, creates the sysfs "dev" */
u32
id
;
/* device instance */
...
...
include/linux/fwnode.h
0 → 100644
浏览文件 @
fe0a20a3
/*
* fwnode.h - Firmware device node object handle type definition.
*
* Copyright (C) 2015, Intel Corporation
* Author: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
#ifndef _LINUX_FWNODE_H_
#define _LINUX_FWNODE_H_
enum
fwnode_type
{
FWNODE_INVALID
=
0
,
FWNODE_OF
,
FWNODE_ACPI
,
};
struct
fwnode_handle
{
enum
fwnode_type
type
;
};
#endif
include/linux/i2c.h
浏览文件 @
fe0a20a3
...
...
@@ -278,7 +278,7 @@ static inline int i2c_slave_event(struct i2c_client *client,
* @platform_data: stored in i2c_client.dev.platform_data
* @archdata: copied into i2c_client.dev.archdata
* @of_node: pointer to OpenFirmware device node
* @
acpi_node: ACPI device nod
e
* @
fwnode: device node supplied by the platform firmwar
e
* @irq: stored in i2c_client.irq
*
* I2C doesn't actually support hardware probing, although controllers and
...
...
@@ -299,7 +299,7 @@ struct i2c_board_info {
void
*
platform_data
;
struct
dev_archdata
*
archdata
;
struct
device_node
*
of_node
;
struct
acpi_dev_node
acpi_
node
;
struct
fwnode_handle
*
fw
node
;
int
irq
;
};
...
...
include/linux/platform_device.h
浏览文件 @
fe0a20a3
...
...
@@ -59,7 +59,7 @@ extern int platform_add_devices(struct platform_device **, int);
struct
platform_device_info
{
struct
device
*
parent
;
struct
acpi_dev_node
acpi_
node
;
struct
fwnode_handle
*
fw
node
;
const
char
*
name
;
int
id
;
...
...
include/linux/property.h
浏览文件 @
fe0a20a3
...
...
@@ -13,6 +13,7 @@
#ifndef _LINUX_PROPERTY_H_
#define _LINUX_PROPERTY_H_
#include <linux/fwnode.h>
#include <linux/types.h>
struct
device
;
...
...
@@ -40,16 +41,6 @@ int device_property_read_string_array(struct device *dev, const char *propname,
int
device_property_read_string
(
struct
device
*
dev
,
const
char
*
propname
,
const
char
**
val
);
enum
fwnode_type
{
FWNODE_INVALID
=
0
,
FWNODE_OF
,
FWNODE_ACPI
,
};
struct
fwnode_handle
{
enum
fwnode_type
type
;
};
bool
fwnode_property_present
(
struct
fwnode_handle
*
fwnode
,
const
char
*
propname
);
int
fwnode_property_read_u8_array
(
struct
fwnode_handle
*
fwnode
,
const
char
*
propname
,
u8
*
val
,
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录