From mboxrd@z Thu Jan 1 00:00:00 1970 From: Liam Girdwood Subject: Re: [PATCH 2/2] ASoC: Add SPI support for WM8741 Date: Tue, 9 Aug 2011 13:28:58 +0100 Message-ID: <4E41280A.7030800@ti.com> References: <1312361229-30722-1-git-send-email-broonie@opensource.wolfsonmicro.com> <1312361229-30722-2-git-send-email-broonie@opensource.wolfsonmicro.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from arroyo.ext.ti.com (arroyo.ext.ti.com [192.94.94.40]) by alsa0.perex.cz (Postfix) with ESMTP id F29491038F1 for ; Tue, 9 Aug 2011 14:29:00 +0200 (CEST) In-Reply-To: <1312361229-30722-2-git-send-email-broonie@opensource.wolfsonmicro.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: alsa-devel-bounces@alsa-project.org Errors-To: alsa-devel-bounces@alsa-project.org To: Mark Brown Cc: "alsa-devel@alsa-project.org" , "patches@opensource.wolfsonmicro.com" List-Id: alsa-devel@alsa-project.org On 03/08/11 09:47, Mark Brown wrote: > Signed-off-by: Mark Brown > --- Could not see 1/2 but 2/2 Acked-by: Liam Girdwood > sound/soc/codecs/wm8741.c | 48 +++++++++++++++++++++++++++++++++++++++++++++ > 1 files changed, 48 insertions(+), 0 deletions(-) > > diff --git a/sound/soc/codecs/wm8741.c b/sound/soc/codecs/wm8741.c > index d4bfffd..c1b6e91 100644 > --- a/sound/soc/codecs/wm8741.c > +++ b/sound/soc/codecs/wm8741.c > @@ -17,6 +17,7 @@ > #include > #include > #include > +#include > #include > #include > #include > @@ -549,6 +550,43 @@ static struct i2c_driver wm8741_i2c_driver = { > }; > #endif > > +#if defined(CONFIG_SPI_MASTER) > +static int __devinit wm8741_spi_probe(struct spi_device *spi) > +{ > + struct wm8741_priv *wm8741; > + int ret; > + > + wm8741 = kzalloc(sizeof(struct wm8741_priv), GFP_KERNEL); > + if (wm8741 == NULL) > + return -ENOMEM; > + > + wm8741->control_type = SND_SOC_SPI; > + spi_set_drvdata(spi, wm8741); > + > + ret = snd_soc_register_codec(&spi->dev, > + &soc_codec_dev_wm8741, &wm8741_dai, 1); > + if (ret < 0) > + kfree(wm8741); > + return ret; > +} > + > +static int __devexit wm8741_spi_remove(struct spi_device *spi) > +{ > + snd_soc_unregister_codec(&spi->dev); > + kfree(spi_get_drvdata(spi)); > + return 0; > +} > + > +static struct spi_driver wm8741_spi_driver = { > + .driver = { > + .name = "wm8741", > + .owner = THIS_MODULE, > + }, > + .probe = wm8741_spi_probe, > + .remove = __devexit_p(wm8741_spi_remove), > +}; > +#endif /* CONFIG_SPI_MASTER */ > + > static int __init wm8741_modinit(void) > { > int ret = 0; > @@ -558,6 +596,13 @@ static int __init wm8741_modinit(void) > if (ret != 0) > pr_err("Failed to register WM8741 I2C driver: %d\n", ret); > #endif > +#if defined(CONFIG_SPI_MASTER) > + ret = spi_register_driver(&wm8741_spi_driver); > + if (ret != 0) { > + printk(KERN_ERR "Failed to register wm8741 SPI driver: %d\n", > + ret); > + } > +#endif > > return ret; > } > @@ -565,6 +610,9 @@ module_init(wm8741_modinit); > > static void __exit wm8741_exit(void) > { > +#if defined(CONFIG_SPI_MASTER) > + spi_unregister_driver(&wm8741_spi_driver); > +#endif > #if defined(CONFIG_I2C) || defined(CONFIG_I2C_MODULE) > i2c_del_driver(&wm8741_i2c_driver); > #endif