All of lore.kernel.org
 help / color / mirror / Atom feed
From: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
To: Vinod Koul <vinod.koul@linux.intel.com>
Cc: Magnus Damm <magnus.damm@gmail.com>,
	linux-sh@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 5/7 v2] dma: sh: use an integer slave ID to improve API compatibility
Date: Mon, 16 Jul 2012 06:37:28 +0000	[thread overview]
Message-ID: <Pine.LNX.4.64.1207160832540.12302@axis700.grange> (raw)
In-Reply-To: <1342418828.1726.37.camel@vkoul-udesk3>

On Mon, 16 Jul 2012, Vinod Koul wrote:

> On Thu, 2012-07-05 at 12:29 +0200, Guennadi Liakhovetski wrote:
> > diff --git a/include/linux/sh_dma.h b/include/linux/sh_dma.h
> > index a79f10a..4e83f3e 100644
> > --- a/include/linux/sh_dma.h
> > +++ b/include/linux/sh_dma.h
> > @@ -27,10 +27,10 @@ struct sh_dmae_slave {
> >   * a certain peripheral
> >   */
> >  struct sh_dmae_slave_config {
> > -       unsigned int                    slave_id;
> > -       dma_addr_t                      addr;
> > -       u32                             chcr;
> > -       char                            mid_rid;
> > +       int             slave_id;
> > +       dma_addr_t      addr;
> > +       u32             chcr;
> > +       char            mid_rid;
> >  }; 
> why would you want to keep your own slave_id and addr fields when they
> are already provided in struct dma_slave_config.

Modifying the driver's API would break all its clients.

> Also while at it, what
> would be the use of last tow fields, what do they describe?

They tell the driver how the channel has to be configured to support this 
specific client. They are values of two specific registers. In fact, CHCR 
means exactly that - CHannel Control Register.

> Would it be possible to get rid of this structure completely? At least
> first two fields should go away.

Migration has to be performed gradually. If this approach and patches are 
accepted, then all client drivers can be migrated, then thr legacy API can 
be dropped.

Thanks
Guennadi
---
Guennadi Liakhovetski, Ph.D.
Freelance Open-Source Software Developer
http://www.open-technology.de/

WARNING: multiple messages have this Message-ID (diff)
From: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
To: Vinod Koul <vinod.koul@linux.intel.com>
Cc: Magnus Damm <magnus.damm@gmail.com>,
	linux-sh@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 5/7 v2] dma: sh: use an integer slave ID to improve API compatibility
Date: Mon, 16 Jul 2012 08:37:28 +0200 (CEST)	[thread overview]
Message-ID: <Pine.LNX.4.64.1207160832540.12302@axis700.grange> (raw)
In-Reply-To: <1342418828.1726.37.camel@vkoul-udesk3>

On Mon, 16 Jul 2012, Vinod Koul wrote:

> On Thu, 2012-07-05 at 12:29 +0200, Guennadi Liakhovetski wrote:
> > diff --git a/include/linux/sh_dma.h b/include/linux/sh_dma.h
> > index a79f10a..4e83f3e 100644
> > --- a/include/linux/sh_dma.h
> > +++ b/include/linux/sh_dma.h
> > @@ -27,10 +27,10 @@ struct sh_dmae_slave {
> >   * a certain peripheral
> >   */
> >  struct sh_dmae_slave_config {
> > -       unsigned int                    slave_id;
> > -       dma_addr_t                      addr;
> > -       u32                             chcr;
> > -       char                            mid_rid;
> > +       int             slave_id;
> > +       dma_addr_t      addr;
> > +       u32             chcr;
> > +       char            mid_rid;
> >  }; 
> why would you want to keep your own slave_id and addr fields when they
> are already provided in struct dma_slave_config.

Modifying the driver's API would break all its clients.

> Also while at it, what
> would be the use of last tow fields, what do they describe?

They tell the driver how the channel has to be configured to support this 
specific client. They are values of two specific registers. In fact, CHCR 
means exactly that - CHannel Control Register.

> Would it be possible to get rid of this structure completely? At least
> first two fields should go away.

Migration has to be performed gradually. If this approach and patches are 
accepted, then all client drivers can be migrated, then thr legacy API can 
be dropped.

Thanks
Guennadi
---
Guennadi Liakhovetski, Ph.D.
Freelance Open-Source Software Developer
http://www.open-technology.de/

  reply	other threads:[~2012-07-16  6:37 UTC|newest]

Thread overview: 58+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-07-05 10:29 [PATCH 0/7 v2] dma: sh: stop using .private Guennadi Liakhovetski
2012-07-05 10:29 ` Guennadi Liakhovetski
2012-07-05 10:29 ` [PATCH 1/7 v2] dmaengine: shdma: (cosmetic) simplify a static function Guennadi Liakhovetski
2012-07-05 10:29   ` Guennadi Liakhovetski
2012-07-05 10:29 ` [PATCH 2/7 v2] ASoC: siu: don't use DMA device for channel filtering Guennadi Liakhovetski
2012-07-05 10:29   ` Guennadi Liakhovetski
2012-07-05 12:08   ` Mark Brown
2012-07-05 12:08     ` Mark Brown
2012-07-05 13:54     ` Guennadi Liakhovetski
2012-07-05 13:54       ` Guennadi Liakhovetski
2012-07-05 14:00       ` Mark Brown
2012-07-05 14:00         ` Mark Brown
2012-07-05 14:08         ` Guennadi Liakhovetski
2012-07-05 14:08           ` Guennadi Liakhovetski
2012-07-05 10:29 ` [PATCH 3/7 v2] sh: remove unused DMA device pointer from SIU platform data Guennadi Liakhovetski
2012-07-05 10:29   ` Guennadi Liakhovetski
2012-07-05 10:29 ` [PATCH 4/7 v2] dmaengine: shdma: prepare to stop using struct dma_chan::private Guennadi Liakhovetski
2012-07-05 10:29   ` Guennadi Liakhovetski
2012-07-05 10:29 ` [PATCH 5/7 v2] dma: sh: use an integer slave ID to improve API compatibility Guennadi Liakhovetski
2012-07-05 10:29   ` Guennadi Liakhovetski
2012-07-16  6:07   ` Vinod Koul
2012-07-16  6:19     ` Vinod Koul
2012-07-16  6:37     ` Guennadi Liakhovetski [this message]
2012-07-16  6:37       ` Guennadi Liakhovetski
2012-07-16  6:53       ` Vinod Koul
2012-07-16  6:57         ` Vinod Koul
2012-07-16  7:13         ` Guennadi Liakhovetski
2012-07-16  7:13           ` Guennadi Liakhovetski
2012-07-16  8:28           ` Vinod Koul
2012-07-16  8:40             ` Vinod Koul
2012-07-16  8:47             ` Guennadi Liakhovetski
2012-07-16  8:47               ` Guennadi Liakhovetski
2012-07-16  9:37               ` Vinod Koul
2012-07-16  9:49                 ` Vinod Koul
2012-07-16 10:01                 ` Guennadi Liakhovetski
2012-07-16 10:01                   ` Guennadi Liakhovetski
2012-07-16 10:24                   ` Vinod Koul
2012-07-16 10:36                     ` Vinod Koul
2012-07-16 10:55                     ` Guennadi Liakhovetski
2012-07-16 10:55                       ` Guennadi Liakhovetski
2012-07-16 11:12                       ` Vinod Koul
2012-07-16 11:24                         ` Vinod Koul
2012-07-16 12:47                         ` Guennadi Liakhovetski
2012-07-16 12:47                           ` Guennadi Liakhovetski
2012-07-18  3:14                           ` Vinod Koul
2012-07-18  3:26                             ` Vinod Koul
2012-07-18  8:34                             ` Guennadi Liakhovetski
2012-07-18  8:34                               ` Guennadi Liakhovetski
2012-07-05 10:29 ` [PATCH 6/7 v2] dma: sh: provide a migration path for slave drivers to stop using .private Guennadi Liakhovetski
2012-07-05 10:29   ` Guennadi Liakhovetski
2012-07-16  6:19   ` Vinod Koul
2012-07-16  6:31     ` Vinod Koul
2012-07-16  6:31     ` Guennadi Liakhovetski
2012-07-16  6:31       ` Guennadi Liakhovetski
2012-07-05 10:29 ` [PATCH 7/7 v2] mmc: sh_mmcif: switch to the new DMA channel allocation and configuration Guennadi Liakhovetski
2012-07-05 10:29   ` Guennadi Liakhovetski
2012-07-20  6:00 ` [PATCH 0/7 v2] dma: sh: stop using .private Vinod Koul
2012-07-20  6:12   ` Vinod Koul

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=Pine.LNX.4.64.1207160832540.12302@axis700.grange \
    --to=g.liakhovetski@gmx.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-sh@vger.kernel.org \
    --cc=magnus.damm@gmail.com \
    --cc=vinod.koul@linux.intel.com \
    /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.