Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
Kernel
提交
e623611b
K
Kernel
项目概览
openeuler
/
Kernel
接近 2 年 前同步成功
通知
8
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
K
Kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
e623611b
编写于
1月 12, 2022
作者:
R
Rob Herring
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'dt/linus' into dt/next
Pick a fix which didn't make it into v5.16.
上级
785576c9
b398123b
变更
10
隐藏空白更改
内联
并排
Showing
10 changed file
with
63 addition
and
28 deletion
+63
-28
Documentation/devicetree/bindings/iio/adc/samsung,exynos-adc.yaml
...ation/devicetree/bindings/iio/adc/samsung,exynos-adc.yaml
+1
-1
Documentation/devicetree/bindings/input/gpio-keys.yaml
Documentation/devicetree/bindings/input/gpio-keys.yaml
+1
-1
Documentation/devicetree/bindings/media/nxp,imx7-mipi-csi2.yaml
...ntation/devicetree/bindings/media/nxp,imx7-mipi-csi2.yaml
+2
-12
Documentation/devicetree/bindings/net/ethernet-phy.yaml
Documentation/devicetree/bindings/net/ethernet-phy.yaml
+8
-0
Documentation/devicetree/bindings/power/supply/bq25980.yaml
Documentation/devicetree/bindings/power/supply/bq25980.yaml
+1
-1
Makefile
Makefile
+5
-5
drivers/firmware/efi/efi-init.c
drivers/firmware/efi/efi-init.c
+5
-0
drivers/of/fdt.c
drivers/of/fdt.c
+13
-6
drivers/of/irq.c
drivers/of/irq.c
+25
-2
include/linux/of_fdt.h
include/linux/of_fdt.h
+2
-0
未找到文件。
Documentation/devicetree/bindings/iio/adc/samsung,exynos-adc.yaml
浏览文件 @
e623611b
...
@@ -136,7 +136,7 @@ examples:
...
@@ -136,7 +136,7 @@ examples:
samsung,syscon-phandle = <&pmu_system_controller>;
samsung,syscon-phandle = <&pmu_system_controller>;
/* NTC thermistor is a hwmon device */
/* NTC thermistor is a hwmon device */
ncp15wb473
{
thermistor
{
compatible = "murata,ncp15wb473";
compatible = "murata,ncp15wb473";
pullup-uv = <1800000>;
pullup-uv = <1800000>;
pullup-ohm = <47000>;
pullup-ohm = <47000>;
...
...
Documentation/devicetree/bindings/input/gpio-keys.yaml
浏览文件 @
e623611b
...
@@ -142,7 +142,7 @@ examples:
...
@@ -142,7 +142,7 @@ examples:
down {
down {
label = "GPIO Key DOWN";
label = "GPIO Key DOWN";
linux,code = <108>;
linux,code = <108>;
interrupts = <1 IRQ_TYPE_
LEVEL_HIGH 7
>;
interrupts = <1 IRQ_TYPE_
EDGE_FALLING
>;
};
};
};
};
...
...
Documentation/devicetree/bindings/media/nxp,imx7-mipi-csi2.yaml
浏览文件 @
e623611b
...
@@ -79,6 +79,8 @@ properties:
...
@@ -79,6 +79,8 @@ properties:
properties
:
properties
:
data-lanes
:
data-lanes
:
description
:
Note that 'fsl,imx7-mipi-csi2' only supports up to 2 data lines.
items
:
items
:
minItems
:
1
minItems
:
1
maxItems
:
4
maxItems
:
4
...
@@ -91,18 +93,6 @@ properties:
...
@@ -91,18 +93,6 @@ properties:
required
:
required
:
-
data-lanes
-
data-lanes
allOf
:
-
if
:
properties
:
compatible
:
contains
:
const
:
fsl,imx7-mipi-csi2
then
:
properties
:
data-lanes
:
items
:
maxItems
:
2
port@1
:
port@1
:
$ref
:
/schemas/graph.yaml#/properties/port
$ref
:
/schemas/graph.yaml#/properties/port
description
:
description
:
...
...
Documentation/devicetree/bindings/net/ethernet-phy.yaml
浏览文件 @
e623611b
...
@@ -91,6 +91,14 @@ properties:
...
@@ -91,6 +91,14 @@ properties:
compensate for the board being designed with the lanes
compensate for the board being designed with the lanes
swapped.
swapped.
enet-phy-lane-no-swap
:
$ref
:
/schemas/types.yaml#/definitions/flag
description
:
If set, indicates that PHY will disable swap of the
TX/RX lanes. This property allows the PHY to work correcly after
e.g. wrong bootstrap configuration caused by issues in PCB
layout design.
eee-broken-100tx
:
eee-broken-100tx
:
$ref
:
/schemas/types.yaml#/definitions/flag
$ref
:
/schemas/types.yaml#/definitions/flag
description
:
description
:
...
...
Documentation/devicetree/bindings/power/supply/bq25980.yaml
浏览文件 @
e623611b
...
@@ -105,7 +105,7 @@ examples:
...
@@ -105,7 +105,7 @@ examples:
reg = <0x65>;
reg = <0x65>;
interrupt-parent = <&gpio1>;
interrupt-parent = <&gpio1>;
interrupts = <16 IRQ_TYPE_EDGE_FALLING>;
interrupts = <16 IRQ_TYPE_EDGE_FALLING>;
ti,watchdog-time
r
= <0>;
ti,watchdog-time
out-ms
= <0>;
ti,sc-ocp-limit-microamp = <2000000>;
ti,sc-ocp-limit-microamp = <2000000>;
ti,sc-ovp-limit-microvolt = <17800000>;
ti,sc-ovp-limit-microvolt = <17800000>;
monitored-battery = <&bat>;
monitored-battery = <&bat>;
...
...
Makefile
浏览文件 @
e623611b
...
@@ -1374,17 +1374,17 @@ endif
...
@@ -1374,17 +1374,17 @@ endif
ifneq
($(dtstree),)
ifneq
($(dtstree),)
%.dtb
:
dt_binding_check
include/config/kernel.release scripts_dtc
%.dtb
:
include/config/kernel.release scripts_dtc
$(Q)$(MAKE)
$(build)
=
$(dtstree)
$(dtstree)
/
$@
$(dtstree)
/
$*
.dt.yaml
$(Q)$(MAKE)
$(build)
=
$(dtstree)
$(dtstree)
/
$@
%.dtbo
:
dt_binding_check
include/config/kernel.release scripts_dtc
%.dtbo
:
include/config/kernel.release scripts_dtc
$(Q)$(MAKE)
$(build)
=
$(dtstree)
$(dtstree)
/
$@
$(dtstree)
/
$*
.dt.yaml
$(Q)$(MAKE)
$(build)
=
$(dtstree)
$(dtstree)
/
$@
PHONY
+=
dtbs dtbs_install dtbs_check
PHONY
+=
dtbs dtbs_install dtbs_check
dtbs
:
include/config/kernel.release scripts_dtc
dtbs
:
include/config/kernel.release scripts_dtc
$(Q)$(MAKE)
$(build)
=
$(dtstree)
$(Q)$(MAKE)
$(build)
=
$(dtstree)
ifneq
($(filter dtbs_check
%.dtb %.dtbo
, $(MAKECMDGOALS)),)
ifneq
($(filter dtbs_check, $(MAKECMDGOALS)),)
export
CHECK_DTBS
=
y
export
CHECK_DTBS
=
y
dtbs
:
dt_binding_check
dtbs
:
dt_binding_check
endif
endif
...
...
drivers/firmware/efi/efi-init.c
浏览文件 @
e623611b
...
@@ -235,6 +235,11 @@ void __init efi_init(void)
...
@@ -235,6 +235,11 @@ void __init efi_init(void)
}
}
reserve_regions
();
reserve_regions
();
/*
* For memblock manipulation, the cap should come after the memblock_add().
* And now, memblock is fully populated, it is time to do capping.
*/
early_init_dt_check_for_usable_mem_range
();
efi_esrt_init
();
efi_esrt_init
();
efi_mokvar_table_init
();
efi_mokvar_table_init
();
...
...
drivers/of/fdt.c
浏览文件 @
e623611b
...
@@ -967,18 +967,22 @@ static void __init early_init_dt_check_for_elfcorehdr(unsigned long node)
...
@@ -967,18 +967,22 @@ static void __init early_init_dt_check_for_elfcorehdr(unsigned long node)
elfcorehdr_addr
,
elfcorehdr_size
);
elfcorehdr_addr
,
elfcorehdr_size
);
}
}
static
phys_addr_t
cap_mem_addr
;
static
unsigned
long
chosen_node_offset
=
-
FDT_ERR_NOTFOUND
;
static
phys_addr_t
cap_mem_size
;
/**
/**
* early_init_dt_check_for_usable_mem_range - Decode usable memory range
* early_init_dt_check_for_usable_mem_range - Decode usable memory range
* location from flat tree
* location from flat tree
* @node: reference to node containing usable memory range location ('chosen')
*/
*/
static
void
__init
early_init_dt_check_for_usable_mem_range
(
unsigned
long
node
)
void
__init
early_init_dt_check_for_usable_mem_range
(
void
)
{
{
const
__be32
*
prop
;
const
__be32
*
prop
;
int
len
;
int
len
;
phys_addr_t
cap_mem_addr
;
phys_addr_t
cap_mem_size
;
unsigned
long
node
=
chosen_node_offset
;
if
((
long
)
node
<
0
)
return
;
pr_debug
(
"Looking for usable-memory-range property... "
);
pr_debug
(
"Looking for usable-memory-range property... "
);
...
@@ -991,6 +995,8 @@ static void __init early_init_dt_check_for_usable_mem_range(unsigned long node)
...
@@ -991,6 +995,8 @@ static void __init early_init_dt_check_for_usable_mem_range(unsigned long node)
pr_debug
(
"cap_mem_start=%pa cap_mem_size=%pa
\n
"
,
&
cap_mem_addr
,
pr_debug
(
"cap_mem_start=%pa cap_mem_size=%pa
\n
"
,
&
cap_mem_addr
,
&
cap_mem_size
);
&
cap_mem_size
);
memblock_cap_memory_range
(
cap_mem_addr
,
cap_mem_size
);
}
}
#ifdef CONFIG_SERIAL_EARLYCON
#ifdef CONFIG_SERIAL_EARLYCON
...
@@ -1143,9 +1149,10 @@ int __init early_init_dt_scan_chosen(char *cmdline)
...
@@ -1143,9 +1149,10 @@ int __init early_init_dt_scan_chosen(char *cmdline)
if
(
node
<
0
)
if
(
node
<
0
)
return
-
ENOENT
;
return
-
ENOENT
;
chosen_node_offset
=
node
;
early_init_dt_check_for_initrd
(
node
);
early_init_dt_check_for_initrd
(
node
);
early_init_dt_check_for_elfcorehdr
(
node
);
early_init_dt_check_for_elfcorehdr
(
node
);
early_init_dt_check_for_usable_mem_range
(
node
);
/* Retrieve command line */
/* Retrieve command line */
p
=
of_get_flat_dt_prop
(
node
,
"bootargs"
,
&
l
);
p
=
of_get_flat_dt_prop
(
node
,
"bootargs"
,
&
l
);
...
@@ -1280,7 +1287,7 @@ void __init early_init_dt_scan_nodes(void)
...
@@ -1280,7 +1287,7 @@ void __init early_init_dt_scan_nodes(void)
early_init_dt_scan_memory
();
early_init_dt_scan_memory
();
/* Handle linux,usable-memory-range property */
/* Handle linux,usable-memory-range property */
memblock_cap_memory_range
(
cap_mem_addr
,
cap_mem_size
);
early_init_dt_check_for_usable_mem_range
(
);
}
}
bool
__init
early_init_dt_scan
(
void
*
params
)
bool
__init
early_init_dt_scan
(
void
*
params
)
...
...
drivers/of/irq.c
浏览文件 @
e623611b
...
@@ -76,6 +76,26 @@ struct device_node *of_irq_find_parent(struct device_node *child)
...
@@ -76,6 +76,26 @@ struct device_node *of_irq_find_parent(struct device_node *child)
}
}
EXPORT_SYMBOL_GPL
(
of_irq_find_parent
);
EXPORT_SYMBOL_GPL
(
of_irq_find_parent
);
/*
* These interrupt controllers abuse interrupt-map for unspeakable
* reasons and rely on the core code to *ignore* it (the drivers do
* their own parsing of the property).
*
* If you think of adding to the list for something *new*, think
* again. There is a high chance that you will be sent back to the
* drawing board.
*/
static
const
char
*
const
of_irq_imap_abusers
[]
=
{
"CBEA,platform-spider-pic"
,
"sti,platform-spider-pic"
,
"realtek,rtl-intc"
,
"fsl,ls1021a-extirq"
,
"fsl,ls1043a-extirq"
,
"fsl,ls1088a-extirq"
,
"renesas,rza1-irqc"
,
NULL
,
};
/**
/**
* of_irq_parse_raw - Low level interrupt tree parsing
* of_irq_parse_raw - Low level interrupt tree parsing
* @addr: address specifier (start of "reg" property of the device) in be32 format
* @addr: address specifier (start of "reg" property of the device) in be32 format
...
@@ -159,12 +179,15 @@ int of_irq_parse_raw(const __be32 *addr, struct of_phandle_args *out_irq)
...
@@ -159,12 +179,15 @@ int of_irq_parse_raw(const __be32 *addr, struct of_phandle_args *out_irq)
/*
/*
* Now check if cursor is an interrupt-controller and
* Now check if cursor is an interrupt-controller and
* if it is then we are done, unless there is an
* if it is then we are done, unless there is an
* interrupt-map which takes precedence.
* interrupt-map which takes precedence except on one
* of these broken platforms that want to parse
* interrupt-map themselves for $reason.
*/
*/
bool
intc
=
of_property_read_bool
(
ipar
,
"interrupt-controller"
);
bool
intc
=
of_property_read_bool
(
ipar
,
"interrupt-controller"
);
imap
=
of_get_property
(
ipar
,
"interrupt-map"
,
&
imaplen
);
imap
=
of_get_property
(
ipar
,
"interrupt-map"
,
&
imaplen
);
if
(
imap
==
NULL
&&
intc
)
{
if
(
intc
&&
(
!
imap
||
of_device_compatible_match
(
ipar
,
of_irq_imap_abusers
)))
{
pr_debug
(
" -> got it !
\n
"
);
pr_debug
(
" -> got it !
\n
"
);
return
0
;
return
0
;
}
}
...
...
include/linux/of_fdt.h
浏览文件 @
e623611b
...
@@ -60,6 +60,7 @@ extern uint32_t of_get_flat_dt_phandle(unsigned long node);
...
@@ -60,6 +60,7 @@ extern uint32_t of_get_flat_dt_phandle(unsigned long node);
extern
int
early_init_dt_scan_chosen
(
char
*
cmdline
);
extern
int
early_init_dt_scan_chosen
(
char
*
cmdline
);
extern
int
early_init_dt_scan_memory
(
void
);
extern
int
early_init_dt_scan_memory
(
void
);
extern
void
early_init_dt_check_for_usable_mem_range
(
void
);
extern
int
early_init_dt_scan_chosen_stdout
(
void
);
extern
int
early_init_dt_scan_chosen_stdout
(
void
);
extern
void
early_init_fdt_scan_reserved_mem
(
void
);
extern
void
early_init_fdt_scan_reserved_mem
(
void
);
extern
void
early_init_fdt_reserve_self
(
void
);
extern
void
early_init_fdt_reserve_self
(
void
);
...
@@ -83,6 +84,7 @@ extern void unflatten_and_copy_device_tree(void);
...
@@ -83,6 +84,7 @@ extern void unflatten_and_copy_device_tree(void);
extern
void
early_init_devtree
(
void
*
);
extern
void
early_init_devtree
(
void
*
);
extern
void
early_get_first_memblock_info
(
void
*
,
phys_addr_t
*
);
extern
void
early_get_first_memblock_info
(
void
*
,
phys_addr_t
*
);
#else
/* CONFIG_OF_EARLY_FLATTREE */
#else
/* CONFIG_OF_EARLY_FLATTREE */
static
inline
void
early_init_dt_check_for_usable_mem_range
(
void
)
{}
static
inline
int
early_init_dt_scan_chosen_stdout
(
void
)
{
return
-
ENODEV
;
}
static
inline
int
early_init_dt_scan_chosen_stdout
(
void
)
{
return
-
ENODEV
;
}
static
inline
void
early_init_fdt_scan_reserved_mem
(
void
)
{}
static
inline
void
early_init_fdt_scan_reserved_mem
(
void
)
{}
static
inline
void
early_init_fdt_reserve_self
(
void
)
{}
static
inline
void
early_init_fdt_reserve_self
(
void
)
{}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录