Merge tag 'dmaengine-4.21-rc1' of git://git.infradead.org/users/vkoul/slave-dma
Pull dmaengine updates from Vinod Koul: "This includes a new driver, removes R-Mobile APE6 as it is no longer used, sprd cyclic dma support, last batch of dma_slave_config direction removal and random updates to bunch of drivers. Summary: - New driver for UniPhier MIO DMA controller - Remove R-Mobile APE6 support - Sprd driver updates and support for cyclic link-list - Remove dma_slave_config direction usage from rest of drivers - Minor updates to dmatest, dw-dmac, zynqmp and bcm dma drivers" * tag 'dmaengine-4.21-rc1' of git://git.infradead.org/users/vkoul/slave-dma: (48 commits) dmaengine: qcom_hidma: convert to DEFINE_SHOW_ATTRIBUTE dmaengine: pxa: remove DBGFS_FUNC_DECL() dmaengine: mic_x100_dma: convert to DEFINE_SHOW_ATTRIBUTE dmaengine: amba-pl08x: convert to DEFINE_SHOW_ATTRIBUTE dmaengine: Documentation: Add documentation for multi chan testing dmaengine: dmatest: Add transfer_size parameter dmaengine: dmatest: Add alignment parameter dmaengine: dmatest: Use fixed point div to calculate iops dmaengine: dmatest: Add support for multi channel testing dmaengine: rcar-dmac: Document R8A774C0 bindings dt-bindings: dmaengine: usb-dmac: Add binding for r8a774c0 dmaengine: zynqmp_dma: replace spin_lock_bh with spin_lock_irqsave dmaengine: sprd: Add me as one of the module authors dmaengine: sprd: Support DMA 2-stage transfer mode dmaengine: sprd: Support DMA link-list cyclic callback dmaengine: sprd: Set cur_desc as NULL when free or terminate one dma channel dmaengine: sprd: Fix the last link-list configuration dmaengine: sprd: Get transfer residue depending on the transfer direction dmaengine: sprd: Remove direction usage from struct dma_slave_config dmaengine: dmatest: fix a small memory leak in dmatest_func() ...
This commit is contained in:
@@ -189,7 +189,7 @@ static bool pxad_filter_fn(struct dma_chan *chan, void *param);
|
||||
#include <linux/uaccess.h>
|
||||
#include <linux/seq_file.h>
|
||||
|
||||
static int dbg_show_requester_chan(struct seq_file *s, void *p)
|
||||
static int requester_chan_show(struct seq_file *s, void *p)
|
||||
{
|
||||
struct pxad_phy *phy = s->private;
|
||||
int i;
|
||||
@@ -220,7 +220,7 @@ static int is_phys_valid(unsigned long addr)
|
||||
#define PXA_DCSR_STR(flag) (dcsr & PXA_DCSR_##flag ? #flag" " : "")
|
||||
#define PXA_DCMD_STR(flag) (dcmd & PXA_DCMD_##flag ? #flag" " : "")
|
||||
|
||||
static int dbg_show_descriptors(struct seq_file *s, void *p)
|
||||
static int descriptors_show(struct seq_file *s, void *p)
|
||||
{
|
||||
struct pxad_phy *phy = s->private;
|
||||
int i, max_show = 20, burst, width;
|
||||
@@ -263,7 +263,7 @@ static int dbg_show_descriptors(struct seq_file *s, void *p)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int dbg_show_chan_state(struct seq_file *s, void *p)
|
||||
static int chan_state_show(struct seq_file *s, void *p)
|
||||
{
|
||||
struct pxad_phy *phy = s->private;
|
||||
u32 dcsr, dcmd;
|
||||
@@ -306,7 +306,7 @@ static int dbg_show_chan_state(struct seq_file *s, void *p)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int dbg_show_state(struct seq_file *s, void *p)
|
||||
static int state_show(struct seq_file *s, void *p)
|
||||
{
|
||||
struct pxad_device *pdev = s->private;
|
||||
|
||||
@@ -317,22 +317,10 @@ static int dbg_show_state(struct seq_file *s, void *p)
|
||||
return 0;
|
||||
}
|
||||
|
||||
#define DBGFS_FUNC_DECL(name) \
|
||||
static int dbg_open_##name(struct inode *inode, struct file *file) \
|
||||
{ \
|
||||
return single_open(file, dbg_show_##name, inode->i_private); \
|
||||
} \
|
||||
static const struct file_operations dbg_fops_##name = { \
|
||||
.open = dbg_open_##name, \
|
||||
.llseek = seq_lseek, \
|
||||
.read = seq_read, \
|
||||
.release = single_release, \
|
||||
}
|
||||
|
||||
DBGFS_FUNC_DECL(state);
|
||||
DBGFS_FUNC_DECL(chan_state);
|
||||
DBGFS_FUNC_DECL(descriptors);
|
||||
DBGFS_FUNC_DECL(requester_chan);
|
||||
DEFINE_SHOW_ATTRIBUTE(state);
|
||||
DEFINE_SHOW_ATTRIBUTE(chan_state);
|
||||
DEFINE_SHOW_ATTRIBUTE(descriptors);
|
||||
DEFINE_SHOW_ATTRIBUTE(requester_chan);
|
||||
|
||||
static struct dentry *pxad_dbg_alloc_chan(struct pxad_device *pdev,
|
||||
int ch, struct dentry *chandir)
|
||||
@@ -348,13 +336,13 @@ static struct dentry *pxad_dbg_alloc_chan(struct pxad_device *pdev,
|
||||
|
||||
if (chan)
|
||||
chan_state = debugfs_create_file("state", 0400, chan, dt,
|
||||
&dbg_fops_chan_state);
|
||||
&chan_state_fops);
|
||||
if (chan_state)
|
||||
chan_descr = debugfs_create_file("descriptors", 0400, chan, dt,
|
||||
&dbg_fops_descriptors);
|
||||
&descriptors_fops);
|
||||
if (chan_descr)
|
||||
chan_reqs = debugfs_create_file("requesters", 0400, chan, dt,
|
||||
&dbg_fops_requester_chan);
|
||||
&requester_chan_fops);
|
||||
if (!chan_reqs)
|
||||
goto err_state;
|
||||
|
||||
@@ -375,7 +363,7 @@ static void pxad_init_debugfs(struct pxad_device *pdev)
|
||||
goto err_root;
|
||||
|
||||
pdev->dbgfs_state = debugfs_create_file("state", 0400, pdev->dbgfs_root,
|
||||
pdev, &dbg_fops_state);
|
||||
pdev, &state_fops);
|
||||
if (!pdev->dbgfs_state)
|
||||
goto err_state;
|
||||
|
||||
|
Reference in New Issue
Block a user