From: Igor Grinberg <grinberg@compulab.co.il>
To: Mike Dunn <mikedunn@newsguy.com>
Cc: Marek Vasut <marex@denx.de>,
alsa-devel@alsa-project.org, Eric Miao <eric.y.miao@gmail.com>,
Mark Brown <broonie@opensource.wolfsonmicro.com>,
Robert Jarzmik <robert.jarzmik@free.fr>,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH 3/4] ALSA: pxa27x: ac97 controller driver requests gpio
Date: Mon, 07 Jan 2013 11:36:16 +0200 [thread overview]
Message-ID: <50EA9710.3060107@compulab.co.il> (raw)
In-Reply-To: <1357499640-13871-4-git-send-email-mikedunn@newsguy.com>
On 01/06/13 21:13, Mike Dunn wrote:
> During initialization, the ac97 driver must obtain the gpio for the mfp that is
> used by the ac97 controller as the AC97_nRESET line, or else gpiolib will issue
> a warning and stack dump. Gpiolib may change this to a hard error soon. The
> line is used during an ac97 warm reset for working around a hardware bug in the
> controller.
>
> Tested on a palm treo 680 machine.
>
> Signed-off-by: Mike Dunn <mikedunn@newsguy.com>
> ---
> sound/arm/pxa2xx-ac97-lib.c | 10 +++++++++-
> 1 files changed, 9 insertions(+), 1 deletions(-)
>
> diff --git a/sound/arm/pxa2xx-ac97-lib.c b/sound/arm/pxa2xx-ac97-lib.c
> index 1ecd0a66..416d2e3 100644
> --- a/sound/arm/pxa2xx-ac97-lib.c
> +++ b/sound/arm/pxa2xx-ac97-lib.c
> @@ -18,6 +18,7 @@
> #include <linux/delay.h>
> #include <linux/module.h>
> #include <linux/io.h>
> +#include <linux/gpio.h>
>
> #include <sound/ac97_codec.h>
> #include <sound/pxa2xx-lib.h>
> @@ -344,7 +345,12 @@ int pxa2xx_ac97_hw_probe(struct platform_device *dev)
> }
>
> if (cpu_is_pxa27x()) {
> - /* Use GPIO 113 as AC97 Reset on Bulverde */
> + ret = gpio_request(reset_gpio, "pxa27x ac97 reset");
> + if (ret < 0) {
> + pr_err("%s: gpio_request() failed: %d\n",
> + __func__, ret);
> + goto err_conf;
> + }
I think if we are fine with the request in the driver,
then we should move the direction and value configuration also
to the driver, but let the pxa27x_assert_ac97reset() only switch
the AF.
> pxa27x_assert_ac97reset(reset_gpio, 0);
> ac97conf_clk = clk_get(&dev->dev, "AC97CONFCLK");
> if (IS_ERR(ac97conf_clk)) {
> @@ -388,6 +394,8 @@ EXPORT_SYMBOL_GPL(pxa2xx_ac97_hw_probe);
>
> void pxa2xx_ac97_hw_remove(struct platform_device *dev)
> {
> + if (cpu_is_pxa27x())
> + gpio_free(reset_gpio);
> GCR |= GCR_ACLINK_OFF;
> free_irq(IRQ_AC97, NULL);
> if (ac97conf_clk) {
--
Regards,
Igor.
WARNING: multiple messages have this Message-ID (diff)
From: grinberg@compulab.co.il (Igor Grinberg)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 3/4] ALSA: pxa27x: ac97 controller driver requests gpio
Date: Mon, 07 Jan 2013 11:36:16 +0200 [thread overview]
Message-ID: <50EA9710.3060107@compulab.co.il> (raw)
In-Reply-To: <1357499640-13871-4-git-send-email-mikedunn@newsguy.com>
On 01/06/13 21:13, Mike Dunn wrote:
> During initialization, the ac97 driver must obtain the gpio for the mfp that is
> used by the ac97 controller as the AC97_nRESET line, or else gpiolib will issue
> a warning and stack dump. Gpiolib may change this to a hard error soon. The
> line is used during an ac97 warm reset for working around a hardware bug in the
> controller.
>
> Tested on a palm treo 680 machine.
>
> Signed-off-by: Mike Dunn <mikedunn@newsguy.com>
> ---
> sound/arm/pxa2xx-ac97-lib.c | 10 +++++++++-
> 1 files changed, 9 insertions(+), 1 deletions(-)
>
> diff --git a/sound/arm/pxa2xx-ac97-lib.c b/sound/arm/pxa2xx-ac97-lib.c
> index 1ecd0a66..416d2e3 100644
> --- a/sound/arm/pxa2xx-ac97-lib.c
> +++ b/sound/arm/pxa2xx-ac97-lib.c
> @@ -18,6 +18,7 @@
> #include <linux/delay.h>
> #include <linux/module.h>
> #include <linux/io.h>
> +#include <linux/gpio.h>
>
> #include <sound/ac97_codec.h>
> #include <sound/pxa2xx-lib.h>
> @@ -344,7 +345,12 @@ int pxa2xx_ac97_hw_probe(struct platform_device *dev)
> }
>
> if (cpu_is_pxa27x()) {
> - /* Use GPIO 113 as AC97 Reset on Bulverde */
> + ret = gpio_request(reset_gpio, "pxa27x ac97 reset");
> + if (ret < 0) {
> + pr_err("%s: gpio_request() failed: %d\n",
> + __func__, ret);
> + goto err_conf;
> + }
I think if we are fine with the request in the driver,
then we should move the direction and value configuration also
to the driver, but let the pxa27x_assert_ac97reset() only switch
the AF.
> pxa27x_assert_ac97reset(reset_gpio, 0);
> ac97conf_clk = clk_get(&dev->dev, "AC97CONFCLK");
> if (IS_ERR(ac97conf_clk)) {
> @@ -388,6 +394,8 @@ EXPORT_SYMBOL_GPL(pxa2xx_ac97_hw_probe);
>
> void pxa2xx_ac97_hw_remove(struct platform_device *dev)
> {
> + if (cpu_is_pxa27x())
> + gpio_free(reset_gpio);
> GCR |= GCR_ACLINK_OFF;
> free_irq(IRQ_AC97, NULL);
> if (ac97conf_clk) {
--
Regards,
Igor.
next prev parent reply other threads:[~2013-01-07 9:36 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-01-06 19:13 [PATCH 0/4] ALSA: pxa27x: ac97 reset fixes Mike Dunn
2013-01-06 19:13 ` Mike Dunn
2013-01-06 19:13 ` [PATCH 1/4] ALSA: pxa2xx: fix ac97 cold reset Mike Dunn
2013-01-06 19:13 ` Mike Dunn
2013-01-07 9:16 ` Igor Grinberg
2013-01-07 9:16 ` Igor Grinberg
2013-01-07 13:36 ` Mike Dunn
2013-01-07 13:36 ` Mike Dunn
2013-01-07 13:57 ` Igor Grinberg
2013-01-07 13:57 ` Igor Grinberg
2013-01-07 14:19 ` Mike Dunn
2013-01-07 14:19 ` Mike Dunn
2013-01-07 15:28 ` Igor Grinberg
2013-01-07 15:28 ` Igor Grinberg
2013-01-06 19:13 ` [PATCH 2/4] ALSA: pxa27x: fix ac97 warm reset bug work-around code Mike Dunn
2013-01-06 19:13 ` Mike Dunn
2013-01-07 9:31 ` Igor Grinberg
2013-01-07 9:31 ` Igor Grinberg
2013-01-07 11:06 ` Russell King - ARM Linux
2013-01-07 11:06 ` Russell King - ARM Linux
2013-01-07 13:40 ` Mike Dunn
2013-01-07 13:40 ` Mike Dunn
2013-01-06 19:13 ` [PATCH 3/4] ALSA: pxa27x: ac97 controller driver requests gpio Mike Dunn
2013-01-06 19:13 ` Mike Dunn
2013-01-07 9:36 ` Igor Grinberg [this message]
2013-01-07 9:36 ` Igor Grinberg
2013-01-07 9:42 ` Igor Grinberg
2013-01-07 9:42 ` Igor Grinberg
2013-01-07 14:10 ` Mike Dunn
2013-01-07 14:10 ` Mike Dunn
2013-01-07 15:38 ` Igor Grinberg
2013-01-07 15:38 ` Igor Grinberg
2013-01-07 16:40 ` Mike Dunn
2013-01-07 16:40 ` Mike Dunn
2013-01-06 19:14 ` [PATCH 4/4] ALSA: pxa27x: rename pxa27x_assert_ac97() Mike Dunn
2013-01-06 19:14 ` Mike Dunn
2013-01-07 9:39 ` Igor Grinberg
2013-01-07 9:39 ` Igor Grinberg
2013-01-07 14:34 ` Mike Dunn
2013-01-07 14:34 ` Mike Dunn
2013-01-07 15:41 ` Igor Grinberg
2013-01-07 15:41 ` Igor Grinberg
2013-01-06 20:33 ` [PATCH 0/4] ALSA: pxa27x: ac97 reset fixes Robert Jarzmik
2013-01-06 20:33 ` Robert Jarzmik
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=50EA9710.3060107@compulab.co.il \
--to=grinberg@compulab.co.il \
--cc=alsa-devel@alsa-project.org \
--cc=broonie@opensource.wolfsonmicro.com \
--cc=eric.y.miao@gmail.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=marex@denx.de \
--cc=mikedunn@newsguy.com \
--cc=robert.jarzmik@free.fr \
/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.