[alsa-devel] Jack insertion
naveen krishna ch
naveenkrishna.ch at gmail.com
Tue Nov 18 14:37:41 CET 2008
On Tue, Nov 18, 2008 at 4:33 PM, Mark Brown <broonie at sirena.org.uk> wrote:
> On Tue, Nov 18, 2008 at 12:16:18PM +0530, naveen krishna ch wrote:
>
> > Now my issue is is there any work regarding the Headset JACK
> > insertion/detection.
>
> > Earlier there was a proposal for a jack insertion layer.
>
> > Can anyone suggest me in this regard.
>
> The generic ALSA part of the API has been merged already - see
> include/sound/jack.h.
>
> For ASoC drivers you need to implement the actual detection in your
> machine driver. Normally this would just hook into a GPIO. You can
> then update the DAPM widget for the jack to mark it as in use or not in
> use (some existing drivers do this) and also hook into the generic
> userspace API (that's not been implemented by anyone yet). Plan is to
> get something more generic into 2.6.30.
Thanks for your early reply. I am a new to this SOC i started developing
the driver taking the Gumsitcs OVERO + TWL4030 ASOC codec driver as
reference.
But, i see the jack layer uses the structure
struct snd_device {
struct list_head list; /* list of registered devices */
struct snd_card *card; /* card which holds this device */
snd_device_state_t state; /* state of the device */
snd_device_type_t type; /* device type */
void *device_data; /* device structure */
struct snd_device_ops *ops; /* operations */
};
The latest ALSA SOC drivers ( In my case my driver ) uses
struct snd_soc_device {
struct device *dev;
struct snd_soc_machine *machine;
struct snd_soc_platform *platform;
struct snd_soc_codec *codec;
struct snd_soc_codec_device *codec_dev;
struct delayed_work delayed_work;
struct work_struct deferred_resume_work;
void *codec_data;
};
in this case what shall i do to make use of the jack abstraction layer.
If cant use the jack abstraction layer, can any one suggest me the other way
out
--
Thanks,
(: Naveen Krishna Ch :)
More information about the Alsa-devel
mailing list