Skip to content

Commit

Permalink
dmaengine: Replace zero-length array with flexible-array
Browse files Browse the repository at this point in the history
There is a regular need in the kernel to provide a way to declare having a
dynamically sized set of trailing elements in a structure. Kernel code should
always use “flexible array members”[1] for these cases. The older style of
one-element or zero-length arrays should no longer be used[2].

[1] https://en.wikipedia.org/wiki/Flexible_array_member
[2] KSPP#21

Signed-off-by: Gustavo A. R. Silva <[email protected]>
  • Loading branch information
GustavoARSilva committed Jun 16, 2020
1 parent 06f3a5a commit 466f966
Show file tree
Hide file tree
Showing 7 changed files with 8 additions and 8 deletions.
2 changes: 1 addition & 1 deletion drivers/dma/milbeaut-hdmac.c
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ struct milbeaut_hdmac_device {
struct dma_device ddev;
struct clk *clk;
void __iomem *reg_base;
struct milbeaut_hdmac_chan channels[0];
struct milbeaut_hdmac_chan channels[];
};

static struct milbeaut_hdmac_chan *
Expand Down
2 changes: 1 addition & 1 deletion drivers/dma/milbeaut-xdmac.c
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ struct milbeaut_xdmac_chan {
struct milbeaut_xdmac_device {
struct dma_device ddev;
void __iomem *reg_base;
struct milbeaut_xdmac_chan channels[0];
struct milbeaut_xdmac_chan channels[];
};

static struct milbeaut_xdmac_chan *
Expand Down
2 changes: 1 addition & 1 deletion drivers/dma/moxart-dma.c
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ struct moxart_desc {
unsigned int dma_cycles;
struct virt_dma_desc vd;
uint8_t es;
struct moxart_sg sg[0];
struct moxart_sg sg[];
};

struct moxart_chan {
Expand Down
2 changes: 1 addition & 1 deletion drivers/dma/ti/edma.c
Original file line number Diff line number Diff line change
Expand Up @@ -211,7 +211,7 @@ struct edma_desc {
u32 residue;
u32 residue_stat;

struct edma_pset pset[0];
struct edma_pset pset[];
};

struct edma_cc;
Expand Down
2 changes: 1 addition & 1 deletion drivers/dma/ti/k3-udma.c
Original file line number Diff line number Diff line change
Expand Up @@ -170,7 +170,7 @@ struct udma_desc {
void *metadata; /* pointer to provided metadata buffer (EPIP, PSdata) */

unsigned int hwdesc_count;
struct udma_hwdesc hwdesc[0];
struct udma_hwdesc hwdesc[];
};

enum udma_chan_state {
Expand Down
2 changes: 1 addition & 1 deletion drivers/dma/timb_dma.c
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ struct timb_dma {
struct dma_device dma;
void __iomem *membase;
struct tasklet_struct tasklet;
struct timb_dma_chan channels[0];
struct timb_dma_chan channels[];
};

static struct device *chan2dev(struct dma_chan *chan)
Expand Down
4 changes: 2 additions & 2 deletions include/linux/dmaengine.h
Original file line number Diff line number Diff line change
Expand Up @@ -153,7 +153,7 @@ struct dma_interleaved_template {
bool dst_sgl;
size_t numf;
size_t frame_size;
struct data_chunk sgl[0];
struct data_chunk sgl[];
};

/**
Expand Down Expand Up @@ -535,7 +535,7 @@ struct dmaengine_unmap_data {
struct device *dev;
struct kref kref;
size_t len;
dma_addr_t addr[0];
dma_addr_t addr[];
};

struct dma_async_tx_descriptor;
Expand Down

0 comments on commit 466f966

Please sign in to comment.