From: Paul Walmsley <paul@pwsan.com>
To: linux-omap@vger.kernel.org, linux-arm-kernel@lists.infradead.org
Subject: [PATCH v4 08/12] ARM: OMAP: DMA: use constant array maximum, drop some LCD DMA code
Date: Tue, 10 Apr 2012 18:35:52 -0600 [thread overview]
Message-ID: <20120411003548.27059.29101.stgit@dusk> (raw)
In-Reply-To: <20120411003454.27059.37500.stgit@dusk>
gcc can apparently handle stack-allocated arrays that use a dynamic
variable as the array maximum. Rather than using a mutable quantity,
simply use a constant maximum possible size. To me, code clarity is
improved; and it also avoids the following sparse warnings:
arch/arm/plat-omap/dma.c:886:40: error: bad constant expression
arch/arm/plat-omap/dma.c:892:17: error: cannot size expression
arch/arm/plat-omap/dma.c:970:40: error: bad constant expression
arch/arm/plat-omap/dma.c:972:17: error: cannot size expression
Also drop some dead code from the OMAP1 LCD DMA code:
arch/arm/mach-omap1/lcd_dma.c:80:6: warning: symbol 'omap_set_lcd_dma_src_port' was not declared. Should it be static?
Signed-off-by: Paul Walmsley <paul@pwsan.com>
---
arch/arm/mach-omap1/lcd_dma.c | 5 -----
arch/arm/plat-omap/dma.c | 13 +++++++++++--
2 files changed, 11 insertions(+), 7 deletions(-)
diff --git a/arch/arm/mach-omap1/lcd_dma.c b/arch/arm/mach-omap1/lcd_dma.c
index 86ace9a..9237576 100644
--- a/arch/arm/mach-omap1/lcd_dma.c
+++ b/arch/arm/mach-omap1/lcd_dma.c
@@ -77,11 +77,6 @@ void omap_set_lcd_dma_b1(unsigned long addr, u16 fb_xres, u16 fb_yres,
}
EXPORT_SYMBOL(omap_set_lcd_dma_b1);
-void omap_set_lcd_dma_src_port(int port)
-{
- lcd_dma.src_port = port;
-}
-
void omap_set_lcd_dma_ext_controller(int external)
{
lcd_dma.ext_ctrl = external;
diff --git a/arch/arm/plat-omap/dma.c b/arch/arm/plat-omap/dma.c
index ecdb3da..612227e 100644
--- a/arch/arm/plat-omap/dma.c
+++ b/arch/arm/plat-omap/dma.c
@@ -41,6 +41,15 @@
#include <plat/tc.h>
+/*
+ * MAX_LOGICAL_DMA_CH_COUNT: the maximum number of logical DMA
+ * channels that an instance of the SDMA IP block can support. Used
+ * to size arrays. (The actual maximum on a particular SoC may be less
+ * than this -- for example, OMAP1 SDMA instances only support 17 logical
+ * DMA channels.)
+ */
+#define MAX_LOGICAL_DMA_CH_COUNT 32
+
#undef DEBUG
#ifndef CONFIG_ARCH_OMAP1
@@ -883,7 +892,7 @@ void omap_start_dma(int lch)
if (!omap_dma_in_1510_mode() && dma_chan[lch].next_lch != -1) {
int next_lch, cur_lch;
- char dma_chan_link_map[dma_lch_count];
+ char dma_chan_link_map[MAX_LOGICAL_DMA_CH_COUNT];
dma_chan_link_map[lch] = 1;
/* Set the link register of the first channel */
@@ -967,7 +976,7 @@ void omap_stop_dma(int lch)
if (!omap_dma_in_1510_mode() && dma_chan[lch].next_lch != -1) {
int next_lch, cur_lch = lch;
- char dma_chan_link_map[dma_lch_count];
+ char dma_chan_link_map[MAX_LOGICAL_DMA_CH_COUNT];
memset(dma_chan_link_map, 0, sizeof(dma_chan_link_map));
do {
WARNING: multiple messages have this Message-ID (diff)
From: paul@pwsan.com (Paul Walmsley)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v4 08/12] ARM: OMAP: DMA: use constant array maximum, drop some LCD DMA code
Date: Tue, 10 Apr 2012 18:35:52 -0600 [thread overview]
Message-ID: <20120411003548.27059.29101.stgit@dusk> (raw)
In-Reply-To: <20120411003454.27059.37500.stgit@dusk>
gcc can apparently handle stack-allocated arrays that use a dynamic
variable as the array maximum. Rather than using a mutable quantity,
simply use a constant maximum possible size. To me, code clarity is
improved; and it also avoids the following sparse warnings:
arch/arm/plat-omap/dma.c:886:40: error: bad constant expression
arch/arm/plat-omap/dma.c:892:17: error: cannot size expression
arch/arm/plat-omap/dma.c:970:40: error: bad constant expression
arch/arm/plat-omap/dma.c:972:17: error: cannot size expression
Also drop some dead code from the OMAP1 LCD DMA code:
arch/arm/mach-omap1/lcd_dma.c:80:6: warning: symbol 'omap_set_lcd_dma_src_port' was not declared. Should it be static?
Signed-off-by: Paul Walmsley <paul@pwsan.com>
---
arch/arm/mach-omap1/lcd_dma.c | 5 -----
arch/arm/plat-omap/dma.c | 13 +++++++++++--
2 files changed, 11 insertions(+), 7 deletions(-)
diff --git a/arch/arm/mach-omap1/lcd_dma.c b/arch/arm/mach-omap1/lcd_dma.c
index 86ace9a..9237576 100644
--- a/arch/arm/mach-omap1/lcd_dma.c
+++ b/arch/arm/mach-omap1/lcd_dma.c
@@ -77,11 +77,6 @@ void omap_set_lcd_dma_b1(unsigned long addr, u16 fb_xres, u16 fb_yres,
}
EXPORT_SYMBOL(omap_set_lcd_dma_b1);
-void omap_set_lcd_dma_src_port(int port)
-{
- lcd_dma.src_port = port;
-}
-
void omap_set_lcd_dma_ext_controller(int external)
{
lcd_dma.ext_ctrl = external;
diff --git a/arch/arm/plat-omap/dma.c b/arch/arm/plat-omap/dma.c
index ecdb3da..612227e 100644
--- a/arch/arm/plat-omap/dma.c
+++ b/arch/arm/plat-omap/dma.c
@@ -41,6 +41,15 @@
#include <plat/tc.h>
+/*
+ * MAX_LOGICAL_DMA_CH_COUNT: the maximum number of logical DMA
+ * channels that an instance of the SDMA IP block can support. Used
+ * to size arrays. (The actual maximum on a particular SoC may be less
+ * than this -- for example, OMAP1 SDMA instances only support 17 logical
+ * DMA channels.)
+ */
+#define MAX_LOGICAL_DMA_CH_COUNT 32
+
#undef DEBUG
#ifndef CONFIG_ARCH_OMAP1
@@ -883,7 +892,7 @@ void omap_start_dma(int lch)
if (!omap_dma_in_1510_mode() && dma_chan[lch].next_lch != -1) {
int next_lch, cur_lch;
- char dma_chan_link_map[dma_lch_count];
+ char dma_chan_link_map[MAX_LOGICAL_DMA_CH_COUNT];
dma_chan_link_map[lch] = 1;
/* Set the link register of the first channel */
@@ -967,7 +976,7 @@ void omap_stop_dma(int lch)
if (!omap_dma_in_1510_mode() && dma_chan[lch].next_lch != -1) {
int next_lch, cur_lch = lch;
- char dma_chan_link_map[dma_lch_count];
+ char dma_chan_link_map[MAX_LOGICAL_DMA_CH_COUNT];
memset(dma_chan_link_map, 0, sizeof(dma_chan_link_map));
do {
next prev parent reply other threads:[~2012-04-11 0:38 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-04-11 0:35 [PATCH v4 00/12] ARM: OMAP: resolve some warnings Paul Walmsley
2012-04-11 0:35 ` Paul Walmsley
2012-04-11 0:35 ` [PATCH v4 01/12] ARM: OMAP2+: declare file-local functions as static Paul Walmsley
2012-04-11 0:35 ` Paul Walmsley
2012-04-11 8:43 ` Arnd Bergmann
2012-04-11 8:43 ` Arnd Bergmann
2012-04-11 18:16 ` Paul Walmsley
2012-04-11 18:16 ` Paul Walmsley
2012-04-11 0:35 ` [PATCH v4 02/12] ARM: OMAP: add includes for missing prototypes Paul Walmsley
2012-04-11 0:35 ` Paul Walmsley
2012-04-11 0:35 ` [PATCH v4 03/12] ARM: OMAP1: OCPI: move to mach-omap1/ Paul Walmsley
2012-04-11 0:35 ` Paul Walmsley
2012-04-11 0:35 ` [PATCH v4 04/12] ARM: OMAP1: OHCI: use platform_data fn ptr to enable OCPI bus Paul Walmsley
2012-04-11 0:35 ` Paul Walmsley
2012-04-11 7:49 ` Roland Stigge
2012-04-11 7:49 ` Roland Stigge
2012-04-11 18:19 ` Paul Walmsley
2012-04-11 18:19 ` Paul Walmsley
2012-04-11 18:26 ` Felipe Balbi
2012-04-11 18:26 ` Felipe Balbi
[not found] ` <20120411182634.GA9396-S8G//mZuvNWo5Im9Ml3/Zg@public.gmane.org>
2012-04-11 19:01 ` Paul Walmsley
2012-04-11 19:01 ` Paul Walmsley
2012-04-11 0:35 ` [PATCH v4 05/12] ARM: OMAP2+: GPMC: resolve type-conversion warning from sparse Paul Walmsley
2012-04-11 0:35 ` Paul Walmsley
2012-04-11 0:35 ` [PATCH v4 06/12] ARM: OMAP: fix 'using plain integer as NULL pointer' sparse warnings Paul Walmsley
2012-04-11 0:35 ` Paul Walmsley
2012-04-11 0:35 ` [PATCH v4 07/12] ARM: OMAP: OCM RAM: use memset_io() when clearing SRAM Paul Walmsley
2012-04-11 0:35 ` Paul Walmsley
2012-04-11 0:35 ` Paul Walmsley [this message]
2012-04-11 0:35 ` [PATCH v4 08/12] ARM: OMAP: DMA: use constant array maximum, drop some LCD DMA code Paul Walmsley
2012-04-11 0:35 ` [PATCH v4 09/12] ARM: OMAP: USB: remove unnecessary sideways include Paul Walmsley
2012-04-11 0:35 ` Paul Walmsley
2012-04-11 0:35 ` [PATCH v4 10/12] ARM: OMAP1: board files: deduplicate and clean some NAND-related code Paul Walmsley
2012-04-11 0:35 ` Paul Walmsley
2012-04-11 9:12 ` Arnd Bergmann
2012-04-11 9:12 ` Arnd Bergmann
2012-04-11 18:45 ` Paul Walmsley
2012-04-11 18:45 ` Paul Walmsley
2012-04-11 0:36 ` [PATCH v4 11/12] ARM: OMAP1: DMTIMER: fix broken timer clock source selection Paul Walmsley
2012-04-11 0:36 ` Paul Walmsley
2012-04-17 21:48 ` Tony Lindgren
2012-04-17 21:48 ` Tony Lindgren
2012-04-17 21:53 ` Paul Walmsley
2012-04-17 21:53 ` Paul Walmsley
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20120411003548.27059.29101.stgit@dusk \
--to=paul@pwsan.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-omap@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.