[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <5663555.neFjt3nUNJ@wuerfel>
Date: Tue, 17 Nov 2015 11:19:51 +0100
From: Arnd Bergmann <arnd@...db.de>
To: Krzysztof Kozlowski <k.kozlowski@...sung.com>
Cc: Mark Brown <broonie@...nel.org>, alsa-devel@...a-project.org,
Liam Girdwood <lgirdwood@...il.com>,
Heiko Stuebner <heiko@...ech.de>,
Kukjin Kim <kgene@...nel.org>,
Sangbeom Kim <sbkim73@...sung.com>,
linux-samsung-soc@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org,
Vinod Koul <vinod.koul@...el.com>,
Ben Dooks <ben-linux@...ff.org>
Subject: Re: [PATCH 2/3] ASoC: s3c24xx-i2s: pass DMA channels as platform data
On Tuesday 17 November 2015 10:36:46 Krzysztof Kozlowski wrote:
> On 14.11.2015 02:23, Arnd Bergmann wrote:
> > This is a minor cleanup to make the s3c2412-i2s and s3c24xx-i2s
> > drivers independent of the mach/dma.h header file and to allow
> > removing the dependency on the specific dmaengine driver in the
> > next patch.
> >
> > As a side not, only the s3c24xx-i2s driver seems to still be
> > used, while the definition of the s3c2412-i2s platform device was
> > removed in commit 6d259a25b56d ("ARM: SAMSUNG: use static
> > declaration when it is not used in other files") after it had
> > never been referenced since its introduction in f0fba2ad1b6b
> > ("ASoC: multi-component - ASoC Multi-Component Support").
> >
> > Apparently it should have been used by mach-jive.c, but that
> > never happened. My patch at this point leaves the current state
> > unchanged, we can decide whether to fix or delete the jive
> > driver and s3c2412-i2s another time.
> >
> > Signed-off-by: Arnd Bergmann <arnd@...db.de>
> >
> > diff --git a/arch/arm/plat-samsung/devs.c b/arch/arm/plat-samsung/devs.c
> > index 3ce234f4c872..e5e91669dd2b 100644
> > --- a/arch/arm/plat-samsung/devs.c
> > +++ b/arch/arm/plat-samsung/devs.c
> > @@ -571,6 +571,11 @@ static struct resource s3c_iis_resource[] = {
> > [0] = DEFINE_RES_MEM(S3C24XX_PA_IIS, S3C24XX_SZ_IIS),
> > };
> >
> > +static struct s3c_audio_pdata s3c_iis_platdata = {
> > + .dma_playback = (void *)DMACH_I2S_OUT,
> > + .dma_capture = (void *)DMACH_I2S_IN,
>
> Why casting? Is it needed?
s3c64xx uses strings here, but s3c24xx uses integer indexes into an array.
I thought about changing the indexes to direct pointers to entries in
the array, but decided to leave that for another day.
> > @@ -454,6 +454,7 @@ static int s3c24xx_iis_dev_probe(struct platform_device *pdev)
> > {
> > int ret = 0;
> > struct resource *res;
> > + struct s3c_audio_pdata *pdata = dev_get_platdata(&pdev->dev);
>
> Maybe:
> if (!pdata) {
> pr_err("bla bla bla");
> return -EINVAL;
> }
Yes, that might be helpful in case there are any out of tree users, or
I missed one of the in-tree users.
Arnd
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists