linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] ARM:SAMSUNG: DMA Cleanup as per sparse
@ 2011-06-30 10:16 Sangwook Lee
  2011-06-30 10:37 ` Jassi Brar
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Sangwook Lee @ 2011-06-30 10:16 UTC (permalink / raw)
  To: linux-arm-kernel

Function declaration differs between file:s3c-pl330.c and file:dma.h
and SPARSE (Documentation/sparse.txt) gives error messages

Signed-off-by: Sangwook Lee <sangwook.lee@linaro.org>
---
 arch/arm/plat-samsung/include/plat/dma.h |   16 ++++++++--------
 1 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/arch/arm/plat-samsung/include/plat/dma.h b/arch/arm/plat-samsung/include/plat/dma.h
index 2e8f8c6..7365f46 100644
--- a/arch/arm/plat-samsung/include/plat/dma.h
+++ b/arch/arm/plat-samsung/include/plat/dma.h
@@ -62,7 +62,7 @@ typedef int  (*s3c2410_dma_opfn_t)(struct s3c2410_dma_chan *,
  * request a dma channel exclusivley
 */
 
-extern int s3c2410_dma_request(unsigned int channel,
+extern int s3c2410_dma_request(enum dma_ch id,
 			       struct s3c2410_dma_client *, void *dev);
 
 
@@ -71,14 +71,14 @@ extern int s3c2410_dma_request(unsigned int channel,
  * change the state of the dma channel
 */
 
-extern int s3c2410_dma_ctrl(unsigned int channel, enum s3c2410_chan_op op);
+extern int s3c2410_dma_ctrl(enum dma_ch id, enum s3c2410_chan_op op);
 
 /* s3c2410_dma_setflags
  *
  * set the channel's flags to a given state
 */
 
-extern int s3c2410_dma_setflags(unsigned int channel,
+extern int s3c2410_dma_setflags(enum dma_ch id,
 				unsigned int flags);
 
 /* s3c2410_dma_free
@@ -86,7 +86,7 @@ extern int s3c2410_dma_setflags(unsigned int channel,
  * free the dma channel (will also abort any outstanding operations)
 */
 
-extern int s3c2410_dma_free(unsigned int channel, struct s3c2410_dma_client *);
+extern int s3c2410_dma_free(enum dma_ch id, struct s3c2410_dma_client *);
 
 /* s3c2410_dma_enqueue
  *
@@ -95,7 +95,7 @@ extern int s3c2410_dma_free(unsigned int channel, struct s3c2410_dma_client *);
  * drained before the buffer is given to the DMA system.
 */
 
-extern int s3c2410_dma_enqueue(unsigned int channel, void *id,
+extern int s3c2410_dma_enqueue(enum dma_ch idx, void *id,
 			       dma_addr_t data, int size);
 
 /* s3c2410_dma_config
@@ -103,14 +103,14 @@ extern int s3c2410_dma_enqueue(unsigned int channel, void *id,
  * configure the dma channel
 */
 
-extern int s3c2410_dma_config(unsigned int channel, int xferunit);
+extern int s3c2410_dma_config(enum dma_ch id, int xferunit);
 
 /* s3c2410_dma_devconfig
  *
  * configure the device we're talking to
 */
 
-extern int s3c2410_dma_devconfig(unsigned int channel,
+extern int s3c2410_dma_devconfig(enum dma_ch id,
 		enum s3c2410_dmasrc source, unsigned long devaddr);
 
 /* s3c2410_dma_getposition
@@ -118,7 +118,7 @@ extern int s3c2410_dma_devconfig(unsigned int channel,
  * get the position that the dma transfer is currently at
 */
 
-extern int s3c2410_dma_getposition(unsigned int channel,
+extern int s3c2410_dma_getposition(enum dma_ch id,
 				   dma_addr_t *src, dma_addr_t *dest);
 
 extern int s3c2410_dma_set_opfn(unsigned int, s3c2410_dma_opfn_t rtn);
-- 
1.7.4.1

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH] ARM:SAMSUNG: DMA Cleanup as per sparse
  2011-06-30 10:16 [PATCH] ARM:SAMSUNG: DMA Cleanup as per sparse Sangwook Lee
@ 2011-06-30 10:37 ` Jassi Brar
  2011-07-04 12:31 ` Kukjin Kim
  2011-07-06  6:08 ` Kukjin Kim
  2 siblings, 0 replies; 6+ messages in thread
From: Jassi Brar @ 2011-06-30 10:37 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, Jun 30, 2011 at 3:46 PM, Sangwook Lee <sangwook.lee@linaro.org> wrote:
> Function declaration differs between file:s3c-pl330.c and file:dma.h
> and SPARSE (Documentation/sparse.txt) gives error messages
>
> Signed-off-by: Sangwook Lee <sangwook.lee@linaro.org>

Acked-by: Jassi Brar <jassisinghbrar@gmail.com>

> ---
> ?arch/arm/plat-samsung/include/plat/dma.h | ? 16 ++++++++--------
> ?1 files changed, 8 insertions(+), 8 deletions(-)
>
> diff --git a/arch/arm/plat-samsung/include/plat/dma.h b/arch/arm/plat-samsung/include/plat/dma.h
> index 2e8f8c6..7365f46 100644
> --- a/arch/arm/plat-samsung/include/plat/dma.h
> +++ b/arch/arm/plat-samsung/include/plat/dma.h
> @@ -62,7 +62,7 @@ typedef int ?(*s3c2410_dma_opfn_t)(struct s3c2410_dma_chan *,
> ?* request a dma channel exclusivley
> ?*/
>
> -extern int s3c2410_dma_request(unsigned int channel,
> +extern int s3c2410_dma_request(enum dma_ch id,
> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? struct s3c2410_dma_client *, void *dev);
>
>
> @@ -71,14 +71,14 @@ extern int s3c2410_dma_request(unsigned int channel,
> ?* change the state of the dma channel
> ?*/
>
> -extern int s3c2410_dma_ctrl(unsigned int channel, enum s3c2410_chan_op op);
> +extern int s3c2410_dma_ctrl(enum dma_ch id, enum s3c2410_chan_op op);
>
> ?/* s3c2410_dma_setflags
> ?*
> ?* set the channel's flags to a given state
> ?*/
>
> -extern int s3c2410_dma_setflags(unsigned int channel,
> +extern int s3c2410_dma_setflags(enum dma_ch id,
> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?unsigned int flags);
>
> ?/* s3c2410_dma_free
> @@ -86,7 +86,7 @@ extern int s3c2410_dma_setflags(unsigned int channel,
> ?* free the dma channel (will also abort any outstanding operations)
> ?*/
>
> -extern int s3c2410_dma_free(unsigned int channel, struct s3c2410_dma_client *);
> +extern int s3c2410_dma_free(enum dma_ch id, struct s3c2410_dma_client *);
>
> ?/* s3c2410_dma_enqueue
> ?*
> @@ -95,7 +95,7 @@ extern int s3c2410_dma_free(unsigned int channel, struct s3c2410_dma_client *);
> ?* drained before the buffer is given to the DMA system.
> ?*/
>
> -extern int s3c2410_dma_enqueue(unsigned int channel, void *id,
> +extern int s3c2410_dma_enqueue(enum dma_ch idx, void *id,
> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? dma_addr_t data, int size);
>
> ?/* s3c2410_dma_config
> @@ -103,14 +103,14 @@ extern int s3c2410_dma_enqueue(unsigned int channel, void *id,
> ?* configure the dma channel
> ?*/
>
> -extern int s3c2410_dma_config(unsigned int channel, int xferunit);
> +extern int s3c2410_dma_config(enum dma_ch id, int xferunit);
>
> ?/* s3c2410_dma_devconfig
> ?*
> ?* configure the device we're talking to
> ?*/
>
> -extern int s3c2410_dma_devconfig(unsigned int channel,
> +extern int s3c2410_dma_devconfig(enum dma_ch id,
> ? ? ? ? ? ? ? ?enum s3c2410_dmasrc source, unsigned long devaddr);
>
> ?/* s3c2410_dma_getposition
> @@ -118,7 +118,7 @@ extern int s3c2410_dma_devconfig(unsigned int channel,
> ?* get the position that the dma transfer is currently at
> ?*/
>
> -extern int s3c2410_dma_getposition(unsigned int channel,
> +extern int s3c2410_dma_getposition(enum dma_ch id,
> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? dma_addr_t *src, dma_addr_t *dest);
>
> ?extern int s3c2410_dma_set_opfn(unsigned int, s3c2410_dma_opfn_t rtn);
> --
> 1.7.4.1
>
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
>

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH] ARM:SAMSUNG: DMA Cleanup as per sparse
  2011-06-30 10:16 [PATCH] ARM:SAMSUNG: DMA Cleanup as per sparse Sangwook Lee
  2011-06-30 10:37 ` Jassi Brar
@ 2011-07-04 12:31 ` Kukjin Kim
  2011-07-06  6:08 ` Kukjin Kim
  2 siblings, 0 replies; 6+ messages in thread
From: Kukjin Kim @ 2011-07-04 12:31 UTC (permalink / raw)
  To: linux-arm-kernel

Sangwook Lee wrote:
> 
> Function declaration differs between file:s3c-pl330.c and file:dma.h
> and SPARSE (Documentation/sparse.txt) gives error messages
> 
> Signed-off-by: Sangwook Lee <sangwook.lee@linaro.org>
> ---
>  arch/arm/plat-samsung/include/plat/dma.h |   16 ++++++++--------
>  1 files changed, 8 insertions(+), 8 deletions(-)
> 
> diff --git a/arch/arm/plat-samsung/include/plat/dma.h b/arch/arm/plat-
> samsung/include/plat/dma.h
> index 2e8f8c6..7365f46 100644
> --- a/arch/arm/plat-samsung/include/plat/dma.h
> +++ b/arch/arm/plat-samsung/include/plat/dma.h
> @@ -62,7 +62,7 @@ typedef int  (*s3c2410_dma_opfn_t)(struct
> s3c2410_dma_chan *,
>   * request a dma channel exclusivley
>  */
> 
> -extern int s3c2410_dma_request(unsigned int channel,
> +extern int s3c2410_dma_request(enum dma_ch id,
>  			       struct s3c2410_dma_client *, void *dev);
> 
> 
> @@ -71,14 +71,14 @@ extern int s3c2410_dma_request(unsigned int channel,
>   * change the state of the dma channel
>  */
> 
> -extern int s3c2410_dma_ctrl(unsigned int channel, enum s3c2410_chan_op
op);
> +extern int s3c2410_dma_ctrl(enum dma_ch id, enum s3c2410_chan_op op);
> 
>  /* s3c2410_dma_setflags
>   *
>   * set the channel's flags to a given state
>  */
> 
> -extern int s3c2410_dma_setflags(unsigned int channel,
> +extern int s3c2410_dma_setflags(enum dma_ch id,
>  				unsigned int flags);
> 
>  /* s3c2410_dma_free
> @@ -86,7 +86,7 @@ extern int s3c2410_dma_setflags(unsigned int channel,
>   * free the dma channel (will also abort any outstanding operations)
>  */
> 
> -extern int s3c2410_dma_free(unsigned int channel, struct
s3c2410_dma_client *);
> +extern int s3c2410_dma_free(enum dma_ch id, struct s3c2410_dma_client *);
> 
>  /* s3c2410_dma_enqueue
>   *
> @@ -95,7 +95,7 @@ extern int s3c2410_dma_free(unsigned int channel, struct
> s3c2410_dma_client *);
>   * drained before the buffer is given to the DMA system.
>  */
> 
> -extern int s3c2410_dma_enqueue(unsigned int channel, void *id,
> +extern int s3c2410_dma_enqueue(enum dma_ch idx, void *id,
>  			       dma_addr_t data, int size);
> 
>  /* s3c2410_dma_config
> @@ -103,14 +103,14 @@ extern int s3c2410_dma_enqueue(unsigned int channel,
> void *id,
>   * configure the dma channel
>  */
> 
> -extern int s3c2410_dma_config(unsigned int channel, int xferunit);
> +extern int s3c2410_dma_config(enum dma_ch id, int xferunit);
> 
>  /* s3c2410_dma_devconfig
>   *
>   * configure the device we're talking to
>  */
> 
> -extern int s3c2410_dma_devconfig(unsigned int channel,
> +extern int s3c2410_dma_devconfig(enum dma_ch id,
>  		enum s3c2410_dmasrc source, unsigned long devaddr);
> 
>  /* s3c2410_dma_getposition
> @@ -118,7 +118,7 @@ extern int s3c2410_dma_devconfig(unsigned int channel,
>   * get the position that the dma transfer is currently at
>  */
> 
> -extern int s3c2410_dma_getposition(unsigned int channel,
> +extern int s3c2410_dma_getposition(enum dma_ch id,
>  				   dma_addr_t *src, dma_addr_t *dest);
> 
>  extern int s3c2410_dma_set_opfn(unsigned int, s3c2410_dma_opfn_t rtn);
> --
> 1.7.4.1

OK, will apply.
Thanks.

Best regards,
Kgene.
--
Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer,
SW Solution Development Team, Samsung Electronics Co., Ltd.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH] ARM:SAMSUNG: DMA Cleanup as per sparse
  2011-06-30 10:16 [PATCH] ARM:SAMSUNG: DMA Cleanup as per sparse Sangwook Lee
  2011-06-30 10:37 ` Jassi Brar
  2011-07-04 12:31 ` Kukjin Kim
@ 2011-07-06  6:08 ` Kukjin Kim
  2011-07-06  6:35   ` Jassi Brar
  2011-07-06  8:31   ` Sangwook Lee
  2 siblings, 2 replies; 6+ messages in thread
From: Kukjin Kim @ 2011-07-06  6:08 UTC (permalink / raw)
  To: linux-arm-kernel

Kukjin Kim wrote:
> 
> Sangwook Lee wrote:
> >
> > Function declaration differs between file:s3c-pl330.c and file:dma.h
> > and SPARSE (Documentation/sparse.txt) gives error messages
> >
> > Signed-off-by: Sangwook Lee <sangwook.lee@linaro.org>
> > ---
> >  arch/arm/plat-samsung/include/plat/dma.h |   16 ++++++++--------
> >  1 files changed, 8 insertions(+), 8 deletions(-)
> >
> > diff --git a/arch/arm/plat-samsung/include/plat/dma.h b/arch/arm/plat-
> > samsung/include/plat/dma.h
> > index 2e8f8c6..7365f46 100644
> > --- a/arch/arm/plat-samsung/include/plat/dma.h
> > +++ b/arch/arm/plat-samsung/include/plat/dma.h
> > @@ -62,7 +62,7 @@ typedef int  (*s3c2410_dma_opfn_t)(struct
> > s3c2410_dma_chan *,
> >   * request a dma channel exclusivley
> >  */
> >
> > -extern int s3c2410_dma_request(unsigned int channel,
> > +extern int s3c2410_dma_request(enum dma_ch id,
> >  			       struct s3c2410_dma_client *, void *dev);
> >
> >
> > @@ -71,14 +71,14 @@ extern int s3c2410_dma_request(unsigned int channel,
> >   * change the state of the dma channel
> >  */
> >
> > -extern int s3c2410_dma_ctrl(unsigned int channel, enum s3c2410_chan_op
op);
> > +extern int s3c2410_dma_ctrl(enum dma_ch id, enum s3c2410_chan_op op);
> >
> >  /* s3c2410_dma_setflags
> >   *
> >   * set the channel's flags to a given state
> >  */
> >
> > -extern int s3c2410_dma_setflags(unsigned int channel,
> > +extern int s3c2410_dma_setflags(enum dma_ch id,
> >  				unsigned int flags);
> >
> >  /* s3c2410_dma_free
> > @@ -86,7 +86,7 @@ extern int s3c2410_dma_setflags(unsigned int channel,
> >   * free the dma channel (will also abort any outstanding operations)
> >  */
> >
> > -extern int s3c2410_dma_free(unsigned int channel, struct
s3c2410_dma_client *);
> > +extern int s3c2410_dma_free(enum dma_ch id, struct s3c2410_dma_client
*);
> >
> >  /* s3c2410_dma_enqueue
> >   *
> > @@ -95,7 +95,7 @@ extern int s3c2410_dma_free(unsigned int channel,
struct
> > s3c2410_dma_client *);
> >   * drained before the buffer is given to the DMA system.
> >  */
> >
> > -extern int s3c2410_dma_enqueue(unsigned int channel, void *id,
> > +extern int s3c2410_dma_enqueue(enum dma_ch idx, void *id,
> >  			       dma_addr_t data, int size);
> >
> >  /* s3c2410_dma_config
> > @@ -103,14 +103,14 @@ extern int s3c2410_dma_enqueue(unsigned int
channel,
> > void *id,
> >   * configure the dma channel
> >  */
> >
> > -extern int s3c2410_dma_config(unsigned int channel, int xferunit);
> > +extern int s3c2410_dma_config(enum dma_ch id, int xferunit);
> >
> >  /* s3c2410_dma_devconfig
> >   *
> >   * configure the device we're talking to
> >  */
> >
> > -extern int s3c2410_dma_devconfig(unsigned int channel,
> > +extern int s3c2410_dma_devconfig(enum dma_ch id,
> >  		enum s3c2410_dmasrc source, unsigned long devaddr);
> >
> >  /* s3c2410_dma_getposition
> > @@ -118,7 +118,7 @@ extern int s3c2410_dma_devconfig(unsigned int
channel,
> >   * get the position that the dma transfer is currently at
> >  */
> >
> > -extern int s3c2410_dma_getposition(unsigned int channel,
> > +extern int s3c2410_dma_getposition(enum dma_ch id,
> >  				   dma_addr_t *src, dma_addr_t *dest);
> >
> >  extern int s3c2410_dma_set_opfn(unsigned int, s3c2410_dma_opfn_t rtn);
> > --

Hi Sangwook Lee,

I reverted this in my -fix tree just now because this makes following error
with s3c2410_defconfig.

arch/arm/plat-samsung/include/plat/dma.h:66: warning: 'enum dma_ch' declared
inside parameter list
arch/arm/plat-samsung/include/plat/dma.h:66: warning: its scope is only this
definition or declaration, which is probably not what you want
arch/arm/plat-samsung/include/plat/dma.h:74: warning: 'enum dma_ch' declared
inside parameter list
arch/arm/plat-samsung/include/plat/dma.h:82: warning: 'enum dma_ch' declared
inside parameter list
arch/arm/plat-samsung/include/plat/dma.h:89: warning: 'enum dma_ch' declared
inside parameter list
arch/arm/plat-samsung/include/plat/dma.h:99: warning: 'enum dma_ch' declared
inside parameter list
arch/arm/plat-samsung/include/plat/dma.h:106: warning: 'enum dma_ch'
declared inside parameter list
arch/arm/plat-samsung/include/plat/dma.h:114: warning: 'enum dma_ch'
declared inside parameter list
arch/arm/plat-samsung/include/plat/dma.h:122: warning: 'enum dma_ch'
declared inside parameter list
drivers/mmc/host/s3cmci.c: In function 'finalize_request':
drivers/mmc/host/s3cmci.c:889: error: type of formal parameter 1 is
incomplete
drivers/mmc/host/s3cmci.c: In function 's3cmci_dma_setup':
drivers/mmc/host/s3cmci.c:927: error: type of formal parameter 1 is
incomplete
drivers/mmc/host/s3cmci.c:930: error: type of formal parameter 1 is
incomplete
drivers/mmc/host/s3cmci.c:933: error: type of formal parameter 1 is
incomplete
drivers/mmc/host/s3cmci.c: In function 's3cmci_prepare_dma':
drivers/mmc/host/s3cmci.c:1091: error: type of formal parameter 1 is
incomplete
drivers/mmc/host/s3cmci.c:1111: error: type of formal parameter 1 is
incomplete
drivers/mmc/host/s3cmci.c:1114: error: type of formal parameter 1 is
incomplete
drivers/mmc/host/s3cmci.c:1119: error: type of formal parameter 1 is
incomplete
drivers/mmc/host/s3cmci.c: In function 's3cmci_probe':
drivers/mmc/host/s3cmci.c:1692: error: type of formal parameter 1 is
incomplete
drivers/mmc/host/s3cmci.c:1778: error: type of formal parameter 1 is
incomplete
drivers/mmc/host/s3cmci.c: In function 's3cmci_remove':
drivers/mmc/host/s3cmci.c:1840: error: type of formal parameter 1 is
incomplete

Thanks.

Best regards,
Kgene.
--
Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer,
SW Solution Development Team, Samsung Electronics Co., Ltd.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH] ARM:SAMSUNG: DMA Cleanup as per sparse
  2011-07-06  6:08 ` Kukjin Kim
@ 2011-07-06  6:35   ` Jassi Brar
  2011-07-06  8:31   ` Sangwook Lee
  1 sibling, 0 replies; 6+ messages in thread
From: Jassi Brar @ 2011-07-06  6:35 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, Jul 6, 2011 at 11:38 AM, Kukjin Kim <kgene.kim@samsung.com> wrote:
> Kukjin Kim wrote:
>>
>> Sangwook Lee wrote:
>> >
>> > Function declaration differs between file:s3c-pl330.c and file:dma.h
>> > and SPARSE (Documentation/sparse.txt) gives error messages
>> >
>> > Signed-off-by: Sangwook Lee <sangwook.lee@linaro.org>
>> > ---
>> > ?arch/arm/plat-samsung/include/plat/dma.h | ? 16 ++++++++--------
>> > ?1 files changed, 8 insertions(+), 8 deletions(-)
>> >
>> > diff --git a/arch/arm/plat-samsung/include/plat/dma.h b/arch/arm/plat-
>> > samsung/include/plat/dma.h
>> > index 2e8f8c6..7365f46 100644
>> > --- a/arch/arm/plat-samsung/include/plat/dma.h
>> > +++ b/arch/arm/plat-samsung/include/plat/dma.h
>> > @@ -62,7 +62,7 @@ typedef int ?(*s3c2410_dma_opfn_t)(struct
>> > s3c2410_dma_chan *,
>> > ? * request a dma channel exclusivley
>> > ?*/
>> >
>> > -extern int s3c2410_dma_request(unsigned int channel,
>> > +extern int s3c2410_dma_request(enum dma_ch id,
>> > ? ? ? ? ? ? ? ? ? ? ? ? ? ?struct s3c2410_dma_client *, void *dev);
>> >
>> >
>> > @@ -71,14 +71,14 @@ extern int s3c2410_dma_request(unsigned int channel,
>> > ? * change the state of the dma channel
>> > ?*/
>> >
>> > -extern int s3c2410_dma_ctrl(unsigned int channel, enum s3c2410_chan_op
> op);
>> > +extern int s3c2410_dma_ctrl(enum dma_ch id, enum s3c2410_chan_op op);
>> >
>> > ?/* s3c2410_dma_setflags
>> > ? *
>> > ? * set the channel's flags to a given state
>> > ?*/
>> >
>> > -extern int s3c2410_dma_setflags(unsigned int channel,
>> > +extern int s3c2410_dma_setflags(enum dma_ch id,
>> > ? ? ? ? ? ? ? ? ? ? ? ? ? ? unsigned int flags);
>> >
>> > ?/* s3c2410_dma_free
>> > @@ -86,7 +86,7 @@ extern int s3c2410_dma_setflags(unsigned int channel,
>> > ? * free the dma channel (will also abort any outstanding operations)
>> > ?*/
>> >
>> > -extern int s3c2410_dma_free(unsigned int channel, struct
> s3c2410_dma_client *);
>> > +extern int s3c2410_dma_free(enum dma_ch id, struct s3c2410_dma_client
> *);
>> >
>> > ?/* s3c2410_dma_enqueue
>> > ? *
>> > @@ -95,7 +95,7 @@ extern int s3c2410_dma_free(unsigned int channel,
> struct
>> > s3c2410_dma_client *);
>> > ? * drained before the buffer is given to the DMA system.
>> > ?*/
>> >
>> > -extern int s3c2410_dma_enqueue(unsigned int channel, void *id,
>> > +extern int s3c2410_dma_enqueue(enum dma_ch idx, void *id,
>> > ? ? ? ? ? ? ? ? ? ? ? ? ? ?dma_addr_t data, int size);
>> >
>> > ?/* s3c2410_dma_config
>> > @@ -103,14 +103,14 @@ extern int s3c2410_dma_enqueue(unsigned int
> channel,
>> > void *id,
>> > ? * configure the dma channel
>> > ?*/
>> >
>> > -extern int s3c2410_dma_config(unsigned int channel, int xferunit);
>> > +extern int s3c2410_dma_config(enum dma_ch id, int xferunit);
>> >
>> > ?/* s3c2410_dma_devconfig
>> > ? *
>> > ? * configure the device we're talking to
>> > ?*/
>> >
>> > -extern int s3c2410_dma_devconfig(unsigned int channel,
>> > +extern int s3c2410_dma_devconfig(enum dma_ch id,
>> > ? ? ? ? ? ? enum s3c2410_dmasrc source, unsigned long devaddr);
>> >
>> > ?/* s3c2410_dma_getposition
>> > @@ -118,7 +118,7 @@ extern int s3c2410_dma_devconfig(unsigned int
> channel,
>> > ? * get the position that the dma transfer is currently at
>> > ?*/
>> >
>> > -extern int s3c2410_dma_getposition(unsigned int channel,
>> > +extern int s3c2410_dma_getposition(enum dma_ch id,
>> > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?dma_addr_t *src, dma_addr_t *dest);
>> >
>> > ?extern int s3c2410_dma_set_opfn(unsigned int, s3c2410_dma_opfn_t rtn);
>> > --
>
> Hi Sangwook Lee,
>
> I reverted this in my -fix tree just now because this makes following error
> with s3c2410_defconfig.

Sangwook's patch does the right thing.
IMO another patch to fix the following issues is needed.

>
> arch/arm/plat-samsung/include/plat/dma.h:66: warning: 'enum dma_ch' declared
> inside parameter list
> arch/arm/plat-samsung/include/plat/dma.h:66: warning: its scope is only this
> definition or declaration, which is probably not what you want
> arch/arm/plat-samsung/include/plat/dma.h:74: warning: 'enum dma_ch' declared
> inside parameter list
> arch/arm/plat-samsung/include/plat/dma.h:82: warning: 'enum dma_ch' declared
> inside parameter list
> arch/arm/plat-samsung/include/plat/dma.h:89: warning: 'enum dma_ch' declared
> inside parameter list
> arch/arm/plat-samsung/include/plat/dma.h:99: warning: 'enum dma_ch' declared
> inside parameter list
> arch/arm/plat-samsung/include/plat/dma.h:106: warning: 'enum dma_ch'
> declared inside parameter list
> arch/arm/plat-samsung/include/plat/dma.h:114: warning: 'enum dma_ch'
> declared inside parameter list
> arch/arm/plat-samsung/include/plat/dma.h:122: warning: 'enum dma_ch'
> declared inside parameter list
> drivers/mmc/host/s3cmci.c: In function 'finalize_request':
> drivers/mmc/host/s3cmci.c:889: error: type of formal parameter 1 is
> incomplete
> drivers/mmc/host/s3cmci.c: In function 's3cmci_dma_setup':
> drivers/mmc/host/s3cmci.c:927: error: type of formal parameter 1 is
> incomplete
> drivers/mmc/host/s3cmci.c:930: error: type of formal parameter 1 is
> incomplete
> drivers/mmc/host/s3cmci.c:933: error: type of formal parameter 1 is
> incomplete
> drivers/mmc/host/s3cmci.c: In function 's3cmci_prepare_dma':
> drivers/mmc/host/s3cmci.c:1091: error: type of formal parameter 1 is
> incomplete
> drivers/mmc/host/s3cmci.c:1111: error: type of formal parameter 1 is
> incomplete
> drivers/mmc/host/s3cmci.c:1114: error: type of formal parameter 1 is
> incomplete
> drivers/mmc/host/s3cmci.c:1119: error: type of formal parameter 1 is
> incomplete
> drivers/mmc/host/s3cmci.c: In function 's3cmci_probe':
> drivers/mmc/host/s3cmci.c:1692: error: type of formal parameter 1 is
> incomplete
> drivers/mmc/host/s3cmci.c:1778: error: type of formal parameter 1 is
> incomplete
> drivers/mmc/host/s3cmci.c: In function 's3cmci_remove':
> drivers/mmc/host/s3cmci.c:1840: error: type of formal parameter 1 is
> incomplete
>
> Thanks.
>
> Best regards,
> Kgene.
> --
> Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer,
> SW Solution Development Team, Samsung Electronics Co., Ltd.
>
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
>

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH] ARM:SAMSUNG: DMA Cleanup as per sparse
  2011-07-06  6:08 ` Kukjin Kim
  2011-07-06  6:35   ` Jassi Brar
@ 2011-07-06  8:31   ` Sangwook Lee
  1 sibling, 0 replies; 6+ messages in thread
From: Sangwook Lee @ 2011-07-06  8:31 UTC (permalink / raw)
  To: linux-arm-kernel

I can reproduce this errors and let me see how to fix those.


On 6 July 2011 07:08, Kukjin Kim <kgene.kim@samsung.com> wrote:
> Kukjin Kim wrote:
>>
>> Sangwook Lee wrote:
>> >
>> > Function declaration differs between file:s3c-pl330.c and file:dma.h
>> > and SPARSE (Documentation/sparse.txt) gives error messages
>> >
>> > Signed-off-by: Sangwook Lee <sangwook.lee@linaro.org>
>> > ---
>> > ?arch/arm/plat-samsung/include/plat/dma.h | ? 16 ++++++++--------
>> > ?1 files changed, 8 insertions(+), 8 deletions(-)
>> >
>> > diff --git a/arch/arm/plat-samsung/include/plat/dma.h b/arch/arm/plat-
>> > samsung/include/plat/dma.h
>> > index 2e8f8c6..7365f46 100644
>> > --- a/arch/arm/plat-samsung/include/plat/dma.h
>> > +++ b/arch/arm/plat-samsung/include/plat/dma.h
>> > @@ -62,7 +62,7 @@ typedef int ?(*s3c2410_dma_opfn_t)(struct
>> > s3c2410_dma_chan *,
>> > ? * request a dma channel exclusivley
>> > ?*/
>> >
>> > -extern int s3c2410_dma_request(unsigned int channel,
>> > +extern int s3c2410_dma_request(enum dma_ch id,
>> > ? ? ? ? ? ? ? ? ? ? ? ? ? ?struct s3c2410_dma_client *, void *dev);
>> >
>> >
>> > @@ -71,14 +71,14 @@ extern int s3c2410_dma_request(unsigned int channel,
>> > ? * change the state of the dma channel
>> > ?*/
>> >
>> > -extern int s3c2410_dma_ctrl(unsigned int channel, enum s3c2410_chan_op
> op);
>> > +extern int s3c2410_dma_ctrl(enum dma_ch id, enum s3c2410_chan_op op);
>> >
>> > ?/* s3c2410_dma_setflags
>> > ? *
>> > ? * set the channel's flags to a given state
>> > ?*/
>> >
>> > -extern int s3c2410_dma_setflags(unsigned int channel,
>> > +extern int s3c2410_dma_setflags(enum dma_ch id,
>> > ? ? ? ? ? ? ? ? ? ? ? ? ? ? unsigned int flags);
>> >
>> > ?/* s3c2410_dma_free
>> > @@ -86,7 +86,7 @@ extern int s3c2410_dma_setflags(unsigned int channel,
>> > ? * free the dma channel (will also abort any outstanding operations)
>> > ?*/
>> >
>> > -extern int s3c2410_dma_free(unsigned int channel, struct
> s3c2410_dma_client *);
>> > +extern int s3c2410_dma_free(enum dma_ch id, struct s3c2410_dma_client
> *);
>> >
>> > ?/* s3c2410_dma_enqueue
>> > ? *
>> > @@ -95,7 +95,7 @@ extern int s3c2410_dma_free(unsigned int channel,
> struct
>> > s3c2410_dma_client *);
>> > ? * drained before the buffer is given to the DMA system.
>> > ?*/
>> >
>> > -extern int s3c2410_dma_enqueue(unsigned int channel, void *id,
>> > +extern int s3c2410_dma_enqueue(enum dma_ch idx, void *id,
>> > ? ? ? ? ? ? ? ? ? ? ? ? ? ?dma_addr_t data, int size);
>> >
>> > ?/* s3c2410_dma_config
>> > @@ -103,14 +103,14 @@ extern int s3c2410_dma_enqueue(unsigned int
> channel,
>> > void *id,
>> > ? * configure the dma channel
>> > ?*/
>> >
>> > -extern int s3c2410_dma_config(unsigned int channel, int xferunit);
>> > +extern int s3c2410_dma_config(enum dma_ch id, int xferunit);
>> >
>> > ?/* s3c2410_dma_devconfig
>> > ? *
>> > ? * configure the device we're talking to
>> > ?*/
>> >
>> > -extern int s3c2410_dma_devconfig(unsigned int channel,
>> > +extern int s3c2410_dma_devconfig(enum dma_ch id,
>> > ? ? ? ? ? ? enum s3c2410_dmasrc source, unsigned long devaddr);
>> >
>> > ?/* s3c2410_dma_getposition
>> > @@ -118,7 +118,7 @@ extern int s3c2410_dma_devconfig(unsigned int
> channel,
>> > ? * get the position that the dma transfer is currently at
>> > ?*/
>> >
>> > -extern int s3c2410_dma_getposition(unsigned int channel,
>> > +extern int s3c2410_dma_getposition(enum dma_ch id,
>> > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?dma_addr_t *src, dma_addr_t *dest);
>> >
>> > ?extern int s3c2410_dma_set_opfn(unsigned int, s3c2410_dma_opfn_t rtn);
>> > --
>
> Hi Sangwook Lee,
>
> I reverted this in my -fix tree just now because this makes following error
> with s3c2410_defconfig.
>
> arch/arm/plat-samsung/include/plat/dma.h:66: warning: 'enum dma_ch' declared
> inside parameter list
> arch/arm/plat-samsung/include/plat/dma.h:66: warning: its scope is only this
> definition or declaration, which is probably not what you want
> arch/arm/plat-samsung/include/plat/dma.h:74: warning: 'enum dma_ch' declared
> inside parameter list
> arch/arm/plat-samsung/include/plat/dma.h:82: warning: 'enum dma_ch' declared
> inside parameter list
> arch/arm/plat-samsung/include/plat/dma.h:89: warning: 'enum dma_ch' declared
> inside parameter list
> arch/arm/plat-samsung/include/plat/dma.h:99: warning: 'enum dma_ch' declared
> inside parameter list
> arch/arm/plat-samsung/include/plat/dma.h:106: warning: 'enum dma_ch'
> declared inside parameter list
> arch/arm/plat-samsung/include/plat/dma.h:114: warning: 'enum dma_ch'
> declared inside parameter list
> arch/arm/plat-samsung/include/plat/dma.h:122: warning: 'enum dma_ch'
> declared inside parameter list
> drivers/mmc/host/s3cmci.c: In function 'finalize_request':
> drivers/mmc/host/s3cmci.c:889: error: type of formal parameter 1 is
> incomplete
> drivers/mmc/host/s3cmci.c: In function 's3cmci_dma_setup':
> drivers/mmc/host/s3cmci.c:927: error: type of formal parameter 1 is
> incomplete
> drivers/mmc/host/s3cmci.c:930: error: type of formal parameter 1 is
> incomplete
> drivers/mmc/host/s3cmci.c:933: error: type of formal parameter 1 is
> incomplete
> drivers/mmc/host/s3cmci.c: In function 's3cmci_prepare_dma':
> drivers/mmc/host/s3cmci.c:1091: error: type of formal parameter 1 is
> incomplete
> drivers/mmc/host/s3cmci.c:1111: error: type of formal parameter 1 is
> incomplete
> drivers/mmc/host/s3cmci.c:1114: error: type of formal parameter 1 is
> incomplete
> drivers/mmc/host/s3cmci.c:1119: error: type of formal parameter 1 is
> incomplete
> drivers/mmc/host/s3cmci.c: In function 's3cmci_probe':
> drivers/mmc/host/s3cmci.c:1692: error: type of formal parameter 1 is
> incomplete
> drivers/mmc/host/s3cmci.c:1778: error: type of formal parameter 1 is
> incomplete
> drivers/mmc/host/s3cmci.c: In function 's3cmci_remove':
> drivers/mmc/host/s3cmci.c:1840: error: type of formal parameter 1 is
> incomplete
>
> Thanks.
>
> Best regards,
> Kgene.
> --
> Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer,
> SW Solution Development Team, Samsung Electronics Co., Ltd.
>
>

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2011-07-06  8:31 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-06-30 10:16 [PATCH] ARM:SAMSUNG: DMA Cleanup as per sparse Sangwook Lee
2011-06-30 10:37 ` Jassi Brar
2011-07-04 12:31 ` Kukjin Kim
2011-07-06  6:08 ` Kukjin Kim
2011-07-06  6:35   ` Jassi Brar
2011-07-06  8:31   ` Sangwook Lee

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).