From: Hui Wang <hui.wang@canonical.com>
To: alsa-devel@alsa-project.org, tiwai@suse.de, perex@perex.cz,
kai.vehmanen@linux.intel.com
Subject: [PATCH v9 0/1] audio jack software injection
Date: Wed, 27 Jan 2021 16:56:38 +0800 [thread overview]
Message-ID: <20210127085639.74954-1-hui.wang@canonical.com> (raw)
the changes in the v9:
- move the "Phantom" jack comparison into the snd_jack_debugfs_add_inject_node(),
then the comparison is only executed when SND_JACK_INJECTION_DEBUG is enabled.
the changes in the v8:
- change "for (i = 0; i < strlen(tname); i++)" to "for (i = 0; tname[i]; i++)"
- use CONFIG_SND_DEBUG to wrap some debugfs variable and struct members.
the changes in the v7:
- change the format of the last part in jack-injection.rst
- add dependence SND_DEBUG in the Kconfig
- create debugfs_mount_dir/sound and debugfs_mount_dir/sound/cardN only SND_DEBUG is enabled
- change simple_write_to_buffer(buf, count, ppos, from, count) to
simple_write_to_buffer(buf, sizeof(buf) - 1, ppos, from, count)
- rewrite the function parse_mask_bits() according to v6's comment
the changes in the v6:
- use the sizeof(buf) to replace the digits in the scnprintf
- squash the document patch into the 0001-xxx.patch.
the changes in the v5:
- add a Kconfig to enable/disable the jack injection feature
- replace all kzalloc with local char[] in the debugfs fops
- replace the chars of !isalnum() to '_' for the jack folder's name
- squash all .c files patches into one patch
- add a document to explain jack injection, for easier review, put
the document in a standalone patch. If needed, will squash this
patch to the previous one.
the changes in the v4:
- change the sound-core to sound and change the sound_core_debugfs_root
to sound_debugfs_root in the 0001-xxx.patch
- change kzalloc/kfree to kvzalloc/kvfree in the debugfs fops for
0001-xxx.patch and 0003-xxx.patch
- And if needed, I could squash 4 patches into 1 patch before merging.
the changes in the v3 (for easy to review, divide change into 4 patches):
- address the comment about the snd_jack_report() and _snd_jack_report(),
the v2 design is hard to understand and is hard to review, in the v3,
separate the jack_report to snd_jack_report() and snd_jack_inject_report(),
hw jack events call snd_jack_report() as before, if a jack contains multi
jack_kctl and the jack_kctl's sw_inject is enabled, the status and the
related input-dev's events will not be reproted. The injection events call
snd_jack_inject_report(). This change is squashed to 0001-xxx.patch, the
rest part of 0001-xxx.patch is same as v2.
- address the comment about folders'name in the 0002-xxx.patch, so far, drop
the '/', ',', '=' and ' ' from the folders' name.
- address the comment about adding more debugfs nodes in the 0003-xxx.patch,
it adds kctl_id, mask_bits, status and type.
- address the comment about save-n-restore jack's hw status in the
0004-xxx.patch, adding a hw_status_cache and save the last reported jack
hw event, once the sw_inject is disabled, will restore all jack_kctl's
state under the same snd_jack with hw_status_cache.
[snip]
the changes in the V2:
- using debugfs instead of sysfs
- using jack_ctrl to create a folder instead of snd_jack, since ASoC drivers
could create multi jack_ctrls within a snd_jack
- create a folder for each jack_ctrl instead for all jack_ctrls
[ snip ]
Hui Wang (1):
alsa: jack: implement software jack injection via debugfs
Documentation/sound/designs/index.rst | 1 +
.../sound/designs/jack-injection.rst | 166 ++++++++++
include/sound/core.h | 6 +
include/sound/jack.h | 1 +
sound/core/Kconfig | 9 +
sound/core/init.c | 16 +
sound/core/jack.c | 304 +++++++++++++++++-
sound/core/sound.c | 13 +
8 files changed, 512 insertions(+), 4 deletions(-)
create mode 100644 Documentation/sound/designs/jack-injection.rst
--
2.25.1
next reply other threads:[~2021-01-27 8:57 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-01-27 8:56 Hui Wang [this message]
2021-01-27 8:56 ` [PATCH v9 1/1] alsa: jack: implement software jack injection via debugfs Hui Wang
2021-02-02 9:39 ` Takashi Iwai
2021-02-02 8:27 ` [PATCH v9 0/1] audio jack software injection Hui Wang
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=20210127085639.74954-1-hui.wang@canonical.com \
--to=hui.wang@canonical.com \
--cc=alsa-devel@alsa-project.org \
--cc=kai.vehmanen@linux.intel.com \
--cc=perex@perex.cz \
--cc=tiwai@suse.de \
/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.