[alsa-devel] [PATCH] ALSA: doc: Brush up the old writing-an-alsa-driver
Takashi Sakamoto
o-takashi at sakamocchi.jp
Thu Oct 18 02:50:53 CEST 2018
Hi,
On 2018/10/17 23:57, Takashi Iwai wrote:
> Slightly brushing up and throw the old dust away from my ancient
> writing-an-alsa-driver document. The contents aren't changed so much
> but the obsoleted parts are dropped.
>
> Also, remove the date and the version number. It's useless.
>
> Signed-off-by: Takashi Iwai <tiwai at suse.de>
> ---
>
> This is a patch included in my devres patchset. Since this is an
> independent fix for documentation, let's apply this at first.
>
> .../kernel-api/writing-an-alsa-driver.rst | 307 +++++++++---------
> 1 file changed, 149 insertions(+), 158 deletions(-)
>
> diff --git a/Documentation/sound/kernel-api/writing-an-alsa-driver.rst b/Documentation/sound/kernel-api/writing-an-alsa-driver.rst
> index a0b268466cb1..b60a26807420 100644
> --- a/Documentation/sound/kernel-api/writing-an-alsa-driver.rst
> +++ b/Documentation/sound/kernel-api/writing-an-alsa-driver.rst
> ...
> @@ -4117,21 +4124,17 @@ a question now: how to put my own driver into the ALSA driver tree? Here
>
> Suppose that you create a new PCI driver for the card “xyz”. The card
> module name would be snd-xyz. The new driver is usually put into the
> -alsa-driver tree, ``alsa-driver/pci`` directory in the case of PCI
> -cards. Then the driver is evaluated, audited and tested by developers
> -and users. After a certain time, the driver will go to the alsa-kernel
> -tree (to the corresponding directory, such as ``alsa-kernel/pci``) and
> -eventually will be integrated into the Linux 2.6 tree (the directory
> -would be ``linux/sound/pci``).
> +alsa-driver tree, ``sound/pci`` directory in the case of PCI
> +cards.
>
> In the following sections, the driver code is supposed to be put into
> -alsa-driver tree. The two cases are covered: a driver consisting of a
> +Linux kernel tree. The two cases are covered: a driver consisting of a
> single source file and one consisting of several source files.
>
> Driver with A Single Source File
> --------------------------------
>
> -1. Modify alsa-driver/pci/Makefile
> +1. Modify sound/pci/Makefile
>
> Suppose you have a file xyz.c. Add the following two lines
>
> @@ -4160,52 +4163,43 @@ Driver with A Single Source File
>
> For the details of Kconfig script, refer to the kbuild documentation.
>
> -3. Run cvscompile script to re-generate the configure script and build
> - the whole stuff again.
> -
> Drivers with Several Source Files
> ---------------------------------
>
> Suppose that the driver snd-xyz have several source files. They are
> -located in the new subdirectory, pci/xyz.
> +located in the new subdirectory, sound/pci/xyz.
>
> -1. Add a new directory (``xyz``) in ``alsa-driver/pci/Makefile`` as
> - below
> +1. Add a new directory (``sound/pci/xyz``) in ``sound/pci/Makefile``
> + as below
>
> ::
>
> - obj-$(CONFIG_SND) += xyz/
> + obj-$(CONFIG_SND) += sound/pci/xyz/
>
>
> -2. Under the directory ``xyz``, create a Makefile
> +2. Under the directory ``sound/pci/xyz``, create a Makefile
>
> ::
>
> - ifndef SND_TOPDIR
> - SND_TOPDIR=../..
> - endif
> -
> - include $(SND_TOPDIR)/toplevel.config
> - include $(SND_TOPDIR)/Makefile.conf
> -
> snd-xyz-objs := xyz.o abc.o def.o
> -
> obj-$(CONFIG_SND_XYZ) += snd-xyz.o
>
> - include $(SND_TOPDIR)/Rules.make
> -
> 3. Create the Kconfig entry
>
> This procedure is as same as in the last section.
>
> -4. Run cvscompile script to re-generate the configure script and build
> - the whole stuff again.
>
> Useful Functions
> ================
>
> :c:func:`snd_printk()` and friends
> ----------------------------------------
> +----------------------------------
> +
> +.. note:: This subsection describes a few helper functions for
> +decorating a bit more on the standard :c:func:`printk()` & co.
> +However, in general, the use of such helpers is no longer recommended.
> +If possible, try to stick with the standard functions like
> +:c:func:`dev_err()` or :c:func:`pr_err()`.
The 'note::' admonition directive requires indentation for its
section[1].
$ make SPHINXDIRS=sound htmldocs
...
writing-an-alsa-driver.rst:4199: WARNING: Explicit markup ends without a
blank line; unexpected unindent.
Please add 3 spaces to each line.
[1] http://docutils.sourceforge.net/docs/ref/rst/directives.html#admonitions
Regards
Takashi Sakamoto
More information about the Alsa-devel
mailing list