ASoC: jack: export gpio detect
PATCH 1/1 ASoC: jack: export gpio detect
From: Christopher Freeman <[email protected]>
Export the gpio detect function so machine drivers may call it. Interrupts for the jack may be disabled during sleep, so this allows a machine driver to have the jack status updated during resume.
--- include/sound/soc.h | 1 + sound/soc/soc-jack.c | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-)
include/sound/soc.h +1 -0
@@ -442,6 +442,7 @@ int snd_soc_jack_add_gpios(struct snd_soc_jack *jack, int count, struct snd_soc_jack_gpio *gpios);void snd_soc_jack_free_gpios (struct snd_soc_jack *jack,int count,struct snd_soc_jack_gpio *gpios); +void snd_soc_jack_gpio_detect (struct snd_soc_jack_gpio *gpio);#endif /* codec register bit access */
sound/soc/soc-jack.c +2 -1
@@ -231,7 +231,7 @@ EXPORT_SYMBOL_GPL(snd_soc_jack_notifier_unregister);#ifdef CONFIG_GPIOLIB /* gpio detect */ -static void snd_soc_jack_gpio_detect (struct snd_soc_jack_gpio *gpio) +void snd_soc_jack_gpio_detect (struct snd_soc_jack_gpio *gpio) {struct snd_soc_jack *jack = gpio->jack;int enable;
@@ -251,6 +251,7 @@ static void snd_soc_jack_gpio_detect(struct snd_soc_jack_gpio *gpio)snd_soc_jack_report (jack, report, gpio->report); } +EXPORT_SYMBOL_GPL (snd_soc_jack_gpio_detect);/* irq handler for gpio pin */ static irqreturn_t gpio_handler (int irq,void *data)
Signature · 9 lines
1.8.3.2 ----------------------------------------------------------------------------------- This email message is for the sole use of the intended recipient(s) and may contain confidential information. Any unauthorized review, use, disclosure or distribution is prohibited. If you are not the intended recipient, please contact the sender by reply email and destroy all copies of the original message. -----------------------------------------------------------------------------------
Mark Brown
maintainerQuoted 6 lines · On Thu, Apr 03, 2014 at 03:03:55PM -0700, [email protected] wrote:
From: Christopher Freeman <[email protected]>
Export the gpio detect function so machine drivers may call it. Interrupts for the jack may be disabled during sleep, so this allows a machine driver to have the jack status updated during resume.
It seems better to have explicit callbacks for this doesn't it, ideally ones that get triggered by the core without the machine driver having to do anything? This is a common need so having to open code it would be a bit depressing.
Quoted 10 lines · Mark Brown
* PGP Signed by an unknown key
Quoted 6 lines · On Thu, Apr 03, 2014 at 03:03:55PM -0700, [email protected] wrote:
From: Christopher Freeman <[email protected]>
Export the gpio detect function so machine drivers may call it. Interrupts for the jack may be disabled during sleep, so this allows a machine driver to have the jack status updated during resume.
Quoted 4 lines
It seems better to have explicit callbacks for this doesn't it, ideally ones that get triggered by the core without the machine driver having to do anything? This is a common need so having to open code it would be a bit depressing.
Mark, do you have a suggestion on how to plumb this up? The way I see it, the machine drivers own the context for the gpios and soc-jack acts as a helper library. I don't see a way to do this from the core.
Quoted 3 lines
* Unknown Key
*0x7EA229BD
-----------------------------------------------------------------------------------
This email message is for the sole use of the intended recipient(s) and may contain confidential information. Any unauthorized review, use, disclosure or distribution is prohibited. If you are not the intended recipient, please contact the sender by reply email and destroy all copies of the original message.
-----------------------------------------------------------------------------------
Quoted 14 lines · Christopher Freeman
Quoted 10 lines · Mark Brown
* PGP Signed by an unknown key
Quoted 6 lines · On Thu, Apr 03, 2014 at 03:03:55PM -0700, [email protected] wrote:
From: Christopher Freeman <[email protected]>
Export the gpio detect function so machine drivers may call it. Interrupts for the jack may be disabled during sleep, so this allows a machine driver to have the jack status updated during resume.
Quoted 9 lines
Quoted 4 lines
It seems better to have explicit callbacks for this doesn't it, ideally ones that get triggered by the core without the machine driver having to do anything? This is a common need so having to open code it would be a bit depressing.
Mark, do you have a suggestion on how to plumb this up? The way I see it, the machine drivers own the context for the gpios and soc-jack acts as a helper library. I don't see a way to do this from the core.
Any thoughts? One idea would be to change things such that jacks are registered with the core and the core is then allowed access to the gpio detect functionŠ This would make things common, but we're still opening up a function in the jack code. I don't see another way. (using the existing interface, we could free and add gpios on suspend/resumeŠ :-P)
Quoted 20 lines
Quoted 4 lines
* Unknown Key
*0x7EA229BD--------------------------------------------------------------------------
---------
This email message is for the sole use of the intended recipient(s) and may contain
confidential information. Any unauthorized review, use, disclosure or distribution
is prohibited. If you are not the intended recipient, please contact the sender by
reply email and destroy all copies of the original message.
--------------------------------------------------------------------------
---------
_______________________________________________
Alsa-devel mailing list
[email protected]
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
Mark Brown
maintainerQuoted 11 lines · Christopher Freeman
Quoted 3 lines · Christopher Freeman
Mark, do you have a suggestion on how to plumb this up? The way I see it, the machine drivers own the context for the gpios and soc-jack acts as a helper library. I don't see a way to do this from the core.
Any thoughts? One idea would be to change things such that jacks are registered with the core and the core is then allowed access to the gpio detect functionŠ This would make things common, but we're still opening up a function in the jack code. I don't see another way. (using the existing interface, we could free and add gpios on suspend/resumeŠ :-P)
Please allow a reasonable time for replies, especially during the merge window.
Mark Brown
maintainerQuoted 10 lines · Christopher Freeman
Quoted 4 lines · Mark Brown
It seems better to have explicit callbacks for this doesn't it, ideally ones that get triggered by the core without the machine driver having to do anything? This is a common need so having to open code it would be a bit depressing.
Mark, do you have a suggestion on how to plumb this up? The way I see it, the machine drivers own the context for the gpios and soc-jack acts as a helper library. I don't see a way to do this from the core.
Both the ALSA core and ASoC know that the jacks exist and at least ASoC already gets callbacks from the machine drivers during suspend (usually just through providing default PM operations for them). We'd need to add code to actually keep track of them but if that's done then the core can walk the list of jacks at resume time and give them a callback.