Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
kernel_linux
提交
57f22cd2
K
kernel_linux
项目概览
OpenHarmony
/
kernel_linux
上一次同步 4 年多
通知
15
Star
8
Fork
2
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
K
kernel_linux
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
“b2a21e7a6bfa6aa1b712fb6167d37a96f332d3d5”上不存在“fs/xfs/libxfs/xfs_dir2_node.c”
提交
57f22cd2
编写于
2月 19, 2017
作者:
M
Mark Brown
浏览文件
操作
浏览文件
下载
差异文件
Merge remote-tracking branches 'spi/topic/ti-qspi' and 'spi/topic/topcliff-pch' into spi-next
上级
e2a3b0df
7abfe04c
45e861a1
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
25 addition
and
21 deletion
+25
-21
drivers/spi/spi-ti-qspi.c
drivers/spi/spi-ti-qspi.c
+10
-5
drivers/spi/spi-topcliff-pch.c
drivers/spi/spi-topcliff-pch.c
+15
-16
未找到文件。
drivers/spi/spi-ti-qspi.c
浏览文件 @
57f22cd2
...
@@ -652,7 +652,8 @@ static int ti_qspi_probe(struct platform_device *pdev)
...
@@ -652,7 +652,8 @@ static int ti_qspi_probe(struct platform_device *pdev)
r
=
platform_get_resource
(
pdev
,
IORESOURCE_MEM
,
0
);
r
=
platform_get_resource
(
pdev
,
IORESOURCE_MEM
,
0
);
if
(
r
==
NULL
)
{
if
(
r
==
NULL
)
{
dev_err
(
&
pdev
->
dev
,
"missing platform data
\n
"
);
dev_err
(
&
pdev
->
dev
,
"missing platform data
\n
"
);
return
-
ENODEV
;
ret
=
-
ENODEV
;
goto
free_master
;
}
}
}
}
...
@@ -669,7 +670,8 @@ static int ti_qspi_probe(struct platform_device *pdev)
...
@@ -669,7 +670,8 @@ static int ti_qspi_probe(struct platform_device *pdev)
irq
=
platform_get_irq
(
pdev
,
0
);
irq
=
platform_get_irq
(
pdev
,
0
);
if
(
irq
<
0
)
{
if
(
irq
<
0
)
{
dev_err
(
&
pdev
->
dev
,
"no irq resource?
\n
"
);
dev_err
(
&
pdev
->
dev
,
"no irq resource?
\n
"
);
return
irq
;
ret
=
irq
;
goto
free_master
;
}
}
mutex_init
(
&
qspi
->
list_lock
);
mutex_init
(
&
qspi
->
list_lock
);
...
@@ -685,15 +687,17 @@ static int ti_qspi_probe(struct platform_device *pdev)
...
@@ -685,15 +687,17 @@ static int ti_qspi_probe(struct platform_device *pdev)
qspi
->
ctrl_base
=
qspi
->
ctrl_base
=
syscon_regmap_lookup_by_phandle
(
np
,
syscon_regmap_lookup_by_phandle
(
np
,
"syscon-chipselects"
);
"syscon-chipselects"
);
if
(
IS_ERR
(
qspi
->
ctrl_base
))
if
(
IS_ERR
(
qspi
->
ctrl_base
))
{
return
PTR_ERR
(
qspi
->
ctrl_base
);
ret
=
PTR_ERR
(
qspi
->
ctrl_base
);
goto
free_master
;
}
ret
=
of_property_read_u32_index
(
np
,
ret
=
of_property_read_u32_index
(
np
,
"syscon-chipselects"
,
"syscon-chipselects"
,
1
,
&
qspi
->
ctrl_reg
);
1
,
&
qspi
->
ctrl_reg
);
if
(
ret
)
{
if
(
ret
)
{
dev_err
(
&
pdev
->
dev
,
dev_err
(
&
pdev
->
dev
,
"couldn't get ctrl_mod reg index
\n
"
);
"couldn't get ctrl_mod reg index
\n
"
);
return
ret
;
goto
free_master
;
}
}
}
}
...
@@ -743,6 +747,7 @@ static int ti_qspi_probe(struct platform_device *pdev)
...
@@ -743,6 +747,7 @@ static int ti_qspi_probe(struct platform_device *pdev)
if
(
!
ret
)
if
(
!
ret
)
return
0
;
return
0
;
pm_runtime_disable
(
&
pdev
->
dev
);
free_master:
free_master:
spi_master_put
(
master
);
spi_master_put
(
master
);
return
ret
;
return
ret
;
...
...
drivers/spi/spi-topcliff-pch.c
浏览文件 @
57f22cd2
...
@@ -591,7 +591,6 @@ static void pch_spi_set_tx(struct pch_spi_data *data, int *bpw)
...
@@ -591,7 +591,6 @@ static void pch_spi_set_tx(struct pch_spi_data *data, int *bpw)
if
(
!
data
->
pkt_rx_buff
)
{
if
(
!
data
->
pkt_rx_buff
)
{
/* flush queue and set status of all transfers to -ENOMEM */
/* flush queue and set status of all transfers to -ENOMEM */
dev_err
(
&
data
->
master
->
dev
,
"%s :kzalloc failed
\n
"
,
__func__
);
list_for_each_entry_safe
(
pmsg
,
tmp
,
data
->
queue
.
next
,
queue
)
{
list_for_each_entry_safe
(
pmsg
,
tmp
,
data
->
queue
.
next
,
queue
)
{
pmsg
->
status
=
-
ENOMEM
;
pmsg
->
status
=
-
ENOMEM
;
...
@@ -622,8 +621,9 @@ static void pch_spi_set_tx(struct pch_spi_data *data, int *bpw)
...
@@ -622,8 +621,9 @@ static void pch_spi_set_tx(struct pch_spi_data *data, int *bpw)
if
(
n_writes
>
PCH_MAX_FIFO_DEPTH
)
if
(
n_writes
>
PCH_MAX_FIFO_DEPTH
)
n_writes
=
PCH_MAX_FIFO_DEPTH
;
n_writes
=
PCH_MAX_FIFO_DEPTH
;
dev_dbg
(
&
data
->
master
->
dev
,
"
\n
%s:Pulling down SSN low - writing "
dev_dbg
(
&
data
->
master
->
dev
,
"0x2 to SSNXCR
\n
"
,
__func__
);
"
\n
%s:Pulling down SSN low - writing 0x2 to SSNXCR
\n
"
,
__func__
);
pch_spi_writereg
(
data
->
master
,
PCH_SSNXCR
,
SSN_LOW
);
pch_spi_writereg
(
data
->
master
,
PCH_SSNXCR
,
SSN_LOW
);
for
(
j
=
0
;
j
<
n_writes
;
j
++
)
for
(
j
=
0
;
j
<
n_writes
;
j
++
)
...
@@ -915,7 +915,6 @@ static void pch_spi_release_dma(struct pch_spi_data *data)
...
@@ -915,7 +915,6 @@ static void pch_spi_release_dma(struct pch_spi_data *data)
dma_release_channel
(
dma
->
chan_rx
);
dma_release_channel
(
dma
->
chan_rx
);
dma
->
chan_rx
=
NULL
;
dma
->
chan_rx
=
NULL
;
}
}
return
;
}
}
static
void
pch_spi_handle_dma
(
struct
pch_spi_data
*
data
,
int
*
bpw
)
static
void
pch_spi_handle_dma
(
struct
pch_spi_data
*
data
,
int
*
bpw
)
...
@@ -1008,7 +1007,7 @@ static void pch_spi_handle_dma(struct pch_spi_data *data, int *bpw)
...
@@ -1008,7 +1007,7 @@ static void pch_spi_handle_dma(struct pch_spi_data *data, int *bpw)
spin_unlock_irqrestore
(
&
data
->
lock
,
flags
);
spin_unlock_irqrestore
(
&
data
->
lock
,
flags
);
/* RX */
/* RX */
dma
->
sg_rx_p
=
k
zalloc
(
sizeof
(
struct
scatterlist
)
*
num
,
GFP_ATOMIC
);
dma
->
sg_rx_p
=
k
calloc
(
num
,
sizeof
(
*
dma
->
sg_rx_p
)
,
GFP_ATOMIC
);
sg_init_table
(
dma
->
sg_rx_p
,
num
);
/* Initialize SG table */
sg_init_table
(
dma
->
sg_rx_p
,
num
);
/* Initialize SG table */
/* offset, length setting */
/* offset, length setting */
sg
=
dma
->
sg_rx_p
;
sg
=
dma
->
sg_rx_p
;
...
@@ -1068,7 +1067,7 @@ static void pch_spi_handle_dma(struct pch_spi_data *data, int *bpw)
...
@@ -1068,7 +1067,7 @@ static void pch_spi_handle_dma(struct pch_spi_data *data, int *bpw)
head
=
0
;
head
=
0
;
}
}
dma
->
sg_tx_p
=
k
zalloc
(
sizeof
(
struct
scatterlist
)
*
num
,
GFP_ATOMIC
);
dma
->
sg_tx_p
=
k
calloc
(
num
,
sizeof
(
*
dma
->
sg_tx_p
)
,
GFP_ATOMIC
);
sg_init_table
(
dma
->
sg_tx_p
,
num
);
/* Initialize SG table */
sg_init_table
(
dma
->
sg_tx_p
,
num
);
/* Initialize SG table */
/* offset, length setting */
/* offset, length setting */
sg
=
dma
->
sg_tx_p
;
sg
=
dma
->
sg_tx_p
;
...
@@ -1181,14 +1180,16 @@ static void pch_spi_process_messages(struct work_struct *pwork)
...
@@ -1181,14 +1180,16 @@ static void pch_spi_process_messages(struct work_struct *pwork)
data
->
cur_trans
=
data
->
cur_trans
=
list_entry
(
data
->
current_msg
->
transfers
.
next
,
list_entry
(
data
->
current_msg
->
transfers
.
next
,
struct
spi_transfer
,
transfer_list
);
struct
spi_transfer
,
transfer_list
);
dev_dbg
(
&
data
->
master
->
dev
,
"%s "
dev_dbg
(
&
data
->
master
->
dev
,
":Getting 1st transfer message
\n
"
,
__func__
);
"%s :Getting 1st transfer message
\n
"
,
__func__
);
}
else
{
}
else
{
data
->
cur_trans
=
data
->
cur_trans
=
list_entry
(
data
->
cur_trans
->
transfer_list
.
next
,
list_entry
(
data
->
cur_trans
->
transfer_list
.
next
,
struct
spi_transfer
,
transfer_list
);
struct
spi_transfer
,
transfer_list
);
dev_dbg
(
&
data
->
master
->
dev
,
"%s "
dev_dbg
(
&
data
->
master
->
dev
,
":Getting next transfer message
\n
"
,
__func__
);
"%s :Getting next transfer message
\n
"
,
__func__
);
}
}
spin_unlock
(
&
data
->
lock
);
spin_unlock
(
&
data
->
lock
);
...
@@ -1233,9 +1234,8 @@ static void pch_spi_process_messages(struct work_struct *pwork)
...
@@ -1233,9 +1234,8 @@ static void pch_spi_process_messages(struct work_struct *pwork)
/* check for delay */
/* check for delay */
if
(
data
->
cur_trans
->
delay_usecs
)
{
if
(
data
->
cur_trans
->
delay_usecs
)
{
dev_dbg
(
&
data
->
master
->
dev
,
"%s:"
dev_dbg
(
&
data
->
master
->
dev
,
"%s:delay in usec=%d
\n
"
,
"delay in usec=%d
\n
"
,
__func__
,
__func__
,
data
->
cur_trans
->
delay_usecs
);
data
->
cur_trans
->
delay_usecs
);
udelay
(
data
->
cur_trans
->
delay_usecs
);
udelay
(
data
->
cur_trans
->
delay_usecs
);
}
}
...
@@ -1292,7 +1292,6 @@ static void pch_free_dma_buf(struct pch_spi_board_data *board_dat,
...
@@ -1292,7 +1292,6 @@ static void pch_free_dma_buf(struct pch_spi_board_data *board_dat,
if
(
dma
->
rx_buf_dma
)
if
(
dma
->
rx_buf_dma
)
dma_free_coherent
(
&
board_dat
->
pdev
->
dev
,
PCH_BUF_SIZE
,
dma_free_coherent
(
&
board_dat
->
pdev
->
dev
,
PCH_BUF_SIZE
,
dma
->
rx_buf_virt
,
dma
->
rx_buf_dma
);
dma
->
rx_buf_virt
,
dma
->
rx_buf_dma
);
return
;
}
}
static
void
pch_alloc_dma_buf
(
struct
pch_spi_board_data
*
board_dat
,
static
void
pch_alloc_dma_buf
(
struct
pch_spi_board_data
*
board_dat
,
...
@@ -1541,11 +1540,11 @@ static int pch_spi_probe(struct pci_dev *pdev, const struct pci_device_id *id)
...
@@ -1541,11 +1540,11 @@ static int pch_spi_probe(struct pci_dev *pdev, const struct pci_device_id *id)
int
i
;
int
i
;
struct
pch_pd_dev_save
*
pd_dev_save
;
struct
pch_pd_dev_save
*
pd_dev_save
;
pd_dev_save
=
kzalloc
(
sizeof
(
struct
pch_
pd_dev_save
),
GFP_KERNEL
);
pd_dev_save
=
kzalloc
(
sizeof
(
*
pd_dev_save
),
GFP_KERNEL
);
if
(
!
pd_dev_save
)
if
(
!
pd_dev_save
)
return
-
ENOMEM
;
return
-
ENOMEM
;
board_dat
=
kzalloc
(
sizeof
(
struct
pch_spi_board_data
),
GFP_KERNEL
);
board_dat
=
kzalloc
(
sizeof
(
*
board_dat
),
GFP_KERNEL
);
if
(
!
board_dat
)
{
if
(
!
board_dat
)
{
retval
=
-
ENOMEM
;
retval
=
-
ENOMEM
;
goto
err_no_mem
;
goto
err_no_mem
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录