20 Jun, 2009

2 commits

  • Fix function actual parameter vs. kernel-doc description matching
    so that a warning is not printed when it should not be:

    Warning(include/linux/etherdevice.h:199): Excess function parameter 'addr' description in 'is_etherdev_addr'

    Signed-off-by: Randy Dunlap
    Signed-off-by: Sam Ravnborg

    Randy Dunlap
     
  • Teach kernel-doc to ignore kmemcheck_bitfield_{begin,end} sugar
    so that it won't generate warnings like this:

    Warning(include/net/sock.h:297): No description found for parameter 'kmemcheck_bitfield_begin(flags)'
    Warning(include/net/sock.h:297): No description found for parameter 'kmemcheck_bitfield_end(flags)'

    Signed-off-by: Randy Dunlap
    Signed-off-by: Sam Ravnborg

    Randy Dunlap
     

15 Jun, 2009

1 commit

  • * 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-next: (53 commits)
    .gitignore: ignore *.lzma files
    kbuild: add generic --set-str option to scripts/config
    kbuild: simplify argument loop in scripts/config
    kbuild: handle non-existing options in scripts/config
    kallsyms: generalize text region handling
    kallsyms: support kernel symbols in Blackfin on-chip memory
    documentation: make version fix
    kbuild: fix a compile warning
    gitignore: Add GNU GLOBAL files to top .gitignore
    kbuild: fix delay in setlocalversion on readonly source
    README: fix misleading pointer to the defconf directory
    vmlinux.lds.h update
    kernel-doc: cleanup perl script
    Improve vmlinux.lds.h support for arch specific linker scripts
    kbuild: fix headers_exports with boolean expression
    kbuild/headers_check: refine extern check
    kbuild: fix "Argument list too long" error for "make headers_check",
    ignore *.patch files
    Remove bashisms from scripts
    menu: fix embedded menu presentation
    ...

    Linus Torvalds
     

10 Jun, 2009

1 commit

  • Various cleanups of scripts/kernel-doc:
    - don't use **/ as an ending kernel-doc block since it's not preferred;
    - typos/spellos
    - add whitespace around ==, after comma, & around . operator;

    Signed-off-by: Randy Dunlap
    Signed-off-by: Sam Ravnborg

    Randy Dunlap
     

07 May, 2009

1 commit


03 May, 2009

1 commit

  • scripts/kernel-doc can (incorrectly) delete struct members that are
    surrounded by /* ... */ /* ... */ if there is a /*
    private: */ comment in there somewhere also.

    Fix that by making the "/* private:" only allow whitespace between /* and
    "private:", not anything/everything in the world.

    This fixes some erroneous kernel-doc warnings that popped up while
    processing include/linux/usb/composite.h.

    Signed-off-by: Randy Dunlap
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     

01 May, 2009

1 commit

  • Add support to kernel-doc for tracepoint comments above TRACE_EVENT()
    macro definitions. Paves the way for tracepoint docbook.

    [ Impact: extend DocBook infrastructure ]

    Signed-off-by: Jason Baron
    Acked-by: Randy Dunlap
    Cc: akpm@linux-foundation.org
    Cc: rostedt@goodmis.org
    Cc: fweisbec@gmail.com
    Cc: mathieu.desnoyers@polymtl.ca
    Cc: wcohen@redhat.com
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Jason Baron
     

12 Feb, 2009

1 commit

  • Fix kernel-doc processing of SYSCALL wrappers.

    The SYSCALL wrapper patches played havoc with kernel-doc for
    syscalls. Syscalls that were scanned for DocBook processing
    reported warnings like this one, for sys_tgkill:

    Warning(kernel/signal.c:2285): No description found for parameter 'tgkill'
    Warning(kernel/signal.c:2285): No description found for parameter 'pid_t'
    Warning(kernel/signal.c:2285): No description found for parameter 'int'

    because the macro parameters all "look like" function parameters,
    although they are not:

    /**
    * sys_tgkill - send signal to one specific thread
    * @tgid: the thread group ID of the thread
    * @pid: the PID of the thread
    * @sig: signal to be sent
    *
    * This syscall also checks the @tgid and returns -ESRCH even if the PID
    * exists but it's not belonging to the target process anymore. This
    * method solves the problem of threads exiting and PIDs getting reused.
    */
    SYSCALL_DEFINE3(tgkill, pid_t, tgid, pid_t, pid, int, sig)
    {
    ...

    This patch special-cases the handling SYSCALL_DEFINE* function
    prototypes by expanding them to
    long sys_foobar(type1 arg1, type1 arg2, ...)

    Signed-off-by: Randy Dunlap
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     

20 Dec, 2008

1 commit

  • Add functionality to check for function parameters or structure (or
    union/typedef/enum) field members that are described in kernel-doc but
    are not part of the expected (declared) parameters or structure.
    These generate warnings that are called "Excess" descriptions.

    Signed-off-by: Randy Dunlap
    Signed-off-by: Sam Ravnborg

    Randy Dunlap
     

02 Dec, 2008

1 commit

  • The method for listing varargs in kernel-doc notation is:
    * @...: these arguments are printed by the @fmt argument

    but scripts/kernel-doc is confused: it always lists varargs as:
    ... variable arguments
    and ignores the @...: line's description, but then prints that
    line after the list of function parameters as though it's
    not part of the function parameters.

    This patch makes kernel-doc print the supplied @... description if it is
    present; otherwise a boilerplate "variable arguments" is printed.

    Signed-off-by: Randy Dunlap
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     

27 Oct, 2008

1 commit


23 Sep, 2008

1 commit

  • Struct members may be marked as private by using
    /* private: */
    before them, as noted in Documentation/kernel-doc-nano-HOWTO.txt

    Fix kernel-doc to handle structs whose members are all private;
    otherwise invalid XML is generated:

    xmlto: input does not validate (status 3)
    linux-2.6.27-rc6-git4/Documentation/DocBook/debugobjects.xml:146: element variablelist: validity error : Element variablelist content does not follow the DTD, expecting ((title , titleabbrev?)? , varlistentry+), got ()
    Document linux-2.6.27-rc6-git4/Documentation/DocBook/debugobjects.xml does not validate
    make[1]: *** [Documentation/DocBook/debugobjects.html] Error 3

    Signed-off-by: Randy Dunlap
    Reported-by: Roland McGrath
    Cc: Roland McGrath
    Cc: Christoph Hellwig
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     

06 Aug, 2008

1 commit

  • Fix handling of nested structs or unions. The regex to strip (eliminate)
    nested structs or unions was limited to only 0 or 1 matches. This can
    cause an uneven number of left/right braces to be stripped, which causes
    this:

    Warning(linux-2.6.27-rc1-git2//include/net/mac80211.h:336): No description found for parameter '}'

    Signed-off-by: Randy Dunlap
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     

26 Jul, 2008

1 commit

  • Handle __init in functions with kernel-doc notation by stripping the
    __init away from the output doc. This is already being done for
    "__devinit". This patch fixes these kernel-doc error/aborts:

    Error(linux-next-20080619//drivers/usb/gadget/config.c:132): cannot understand prototype: 'struct usb_descriptor_header **__init usb_copy_descriptors(struct usb_descriptor_header **src) '
    Error(linux-next-20080619//drivers/usb/gadget/config.c:182): cannot understand prototype: 'struct usb_endpoint_descriptor *__init usb_find_endpoint( struct usb_descriptor_header **src, struct usb_descriptor_header **copy, struct usb_endpoint_descriptor *match ) '

    Signed-off-by: Randy Dunlap
    Cc: David Brownell
    Signed-off-by: Sam Ravnborg

    Randy Dunlap
     

20 May, 2008

1 commit

  • Allow for unnamed bit-fields and skip them instead of printing an
    erroneous warning message for them, such as:

    Warning(include/asm-s390/cio.h:103): No description found for parameter 'u32'

    which contains:

    struct tm_scsw {
    u32 :1;

    Signed-off-by: Randy Dunlap
    Signed-off-by: Sam Ravnborg

    Randy Dunlap
     

28 Apr, 2008

2 commits

  • Print a warning when a kernel-doc comment block ends with text on the same
    line as the ending comment characters, e.g.:

    * this text is lost. */

    Signed-off-by: Randy Dunlap
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • I saw this problem recently. With this kernel-doc:

    * Note: some important info
    *
    * Note: other important info

    kernel-doc uses the "section name" (preceding the ':', like "Note") as a hash
    key for storing the descriptive text ("blah important info"). It is (was)
    possible to have duplicate (colliding) section names, without any kind of
    warning or error.

    kernel-doc happily used the latter descriptive text for all instances of
    printing the descriptive text and the former important info
    was lost.

    One way to "fix" this is to modify the kernel-doc comments, e.g.:

    * Note1: foo bar
    *
    * Note.2: blah zay

    For now, kernel-doc will signal an error when it sees colliding section names
    like this.

    Signed-off-by: Randy Dunlap
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     

14 Mar, 2008

1 commit

  • Honor the environment variable "KBUILD_VERBOSE=1" (as set by make V=1) to
    enable verbose mode in scripts/kernel-doc. Useful for getting more info and
    warnings from kernel-doc.

    Signed-off-by: Randy Dunlap
    Cc: Sam Ravnborg
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     

24 Feb, 2008

1 commit

  • When running "make htmldocs" I'm seeing some non-fatal perl errors caused
    by trying to parse the callback function definitions in blk-core.c.

    The errors are "Use of uninitialized value in concatenation (.)..."
    in combination with:
    Warning(linux-2.6.25-rc2/block/blk-core.c:1877): No description found for parameter ''

    The function pointers are defined without a * i.e.
    int (drv_callback)(struct request *)

    The compiler is happy with them, but kernel-doc isn't.

    This patch teaches create_parameterlist in kernel-doc to parse this type of
    function pointer definition, but is it the right way to fix the problem ?
    The problem only seems to occur in blk-core.c.

    However with the patch applied, kernel-doc finds the correct parameter
    description for the callback in blk_end_request_callback, which is doesn't
    normally.

    I thought it would be a bit odd to change to code to use the more normal
    form of function pointers just to get the documentation to work, so I fixed
    kernel-doc instead - even though this is teaching it to understand code
    that might go away (The comment for blk_end_request_callback says that it
    should not be used and will removed at some point).

    Signed-off-by: Richard Kennedy
    Signed-off-by: Randy Dunlap
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Richard Kennedy
     

15 Feb, 2008

1 commit

  • fastcall is gone from the tree, no need to adjust the function prototypes
    anymore for this.

    Signed-off-by: Harvey Harrison
    Acked-by: Randy Dunlap
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Harvey Harrison
     

08 Feb, 2008

3 commits

  • Make kernel-doc warn when a function/struct/union/typedef does not contain
    a properly formatted short description, such as:
    * scsi_devinfo: set up the dynamic device list
    or
    * scsi_devinfo -

    This warning is only generated when verbose (-v) mode is used.

    Also explain the -v command line option in the -h output.

    Signed-off-by: Randy Dunlap
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • Prevent duplicate output of a Description: section when there is a "blank"
    ("*") line between the initial function name/description line and the
    "Description:" header.

    Test case: drivers/scsi/scsi_devinfo.c::scsi_init_devinfo().

    Rob Landley hit this while he was producing SCSI kernel-doc.

    Signed-off-by: Randy Dunlap
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • Fix kernel-doc function prototype parsing which was exposed by vunmap() by
    allowing more than one '*' before the function name.

    Error(linux-2.6.24-mm1//mm/vmalloc.c:438): cannot understand prototype: 'struct page **vunmap(const void *addr) '

    Signed-off-by: Randy Dunlap
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     

29 Jan, 2008

4 commits

  • This flag is necessary for the next patch for docproc to output
    only the functions and not DOC: sections when a function list
    is requested.

    Signed-off-by: Johannes Berg
    Signed-off-by: Randy Dunlap
    Signed-off-by: Sam Ravnborg

    Johannes Berg
     
  • Currently, DOC: sections are always output even if only a single
    function is requested, fix this and also make it possible to just
    output a single DOC: section by giving its title as the function
    name to output.

    Also fixes docbook XML well-formedness for sections with examples.

    Signed-off-by: Johannes Berg
    Signed-off-by: Randy Dunlap
    Signed-off-by: Sam Ravnborg

    Johannes Berg
     
  • The kernel-doc script triggers a perl warning when invoked
    without KERNELVERSION in the environment, rather make it use
    the string "unknown kernel version" instead.

    Signed-off-by: Johannes Berg
    Signed-off-by: Randy Dunlap
    Signed-off-by: Sam Ravnborg

    Johannes Berg
     
  • After Randy's patch fixing the HTML output in DOC: sections
    (6b5b55f6c404fa730a09a8254eb19f5a038afcc2) the same bug remained in XML
    mode, this fixes it.

    Signed-off-by: Johannes Berg
    Signed-off-by: Randy Dunlap
    Signed-off-by: Sam Ravnborg

    Johannes Berg
     

17 Oct, 2007

1 commit

  • Johannes Berg reports (Thanks!) that &struct names are not highlighted in
    html output format when they are inside a DOC: block.

    DOC: blocks were not escaped thru xml_escape() like other kernel-doc
    comments were. Fixed that.

    However, that left a problem with

    ($blankline_html) being processed
    thru xml_escape(), converting it to <p>, which isn't good for the
    generated html output (the

    should remain unchanged), so this patch also
    introduces the notion of "local" kernel-doc meta-characters
    ('\\\\mnemonic:'), which are converted to html just before writing the
    stream to its output file.

    Please report any problems that you (anyone) see in "highlighting" in any
    output mode (text, man, html, xml).

    Also update copyright to include me.

    Signed-off-by: Randy Dunlap
    Cc: Johannes Berg
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     

20 Jul, 2007

3 commits

  • If a parameter description begins with a '.', this indicates a "request"
    for "man" mode output (*roff), so it needs special handling.

    Problem case is in include/asm-i386/atomic.h for function
    atomic_add_unless():
    * @u: ...unless v is equal to u.
    This parameter description is currently not printed in man mode output.

    [akpm@linux-foundation.org: cleanup]
    Signed-off-by: Randy Dunlap
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • Strip C99-style comments from the input stream.
    /*...*/ comments are already stripped.
    C99 comments confuse the kernel-doc script.

    Also update some comments.

    Signed-off-by: Randy Dunlap
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • Fix kernel-doc warning:
    Warning(linux-2.6.22-rc2-git2/include/linux/skbuff.h:316): No description found for parameter '}'

    which is caused by nested anonymous structs/unions ending with:
    };
    };

    Signed-off-by: Randy Dunlap
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     

10 May, 2007

1 commit


09 May, 2007

4 commits

  • This patch shuts warnings of the sort:

    make -C /mnt/samsung_200/sam/kernel/trees/21-rc6/build \
    KBUILD_SRC=/mnt/samsung_200/sam/kernel/trees/21-rc6 \
    KBUILD_EXTMOD="" -f /mnt/samsung_200/sam/kernel/trees/21-rc6/Makefile mandocs
    make -f /mnt/samsung_200/sam/kernel/trees/21-rc6/scripts/Makefile.build obj=scripts/basic
    make -f /mnt/samsung_200/sam/kernel/trees/21-rc6/scripts/Makefile.build obj=Documentation/DocBook mandocs
    SRCTREE=/mnt/samsung_200/sam/kernel/trees/21-rc6/ /mnt/samsung_200/sam/kernel/trees/21-rc6/build/scripts/basic/docproc doc /mnt/samsung_200/sam/kernel/trees/21-rc6/Documentation/DocBook/wanbook.tmpl >Documentation/DocBook/wanbook.xml
    if grep -q refentry Documentation/DocBook/wanbook.xml; then xmlto man -m /mnt/samsung_200/sam/kernel/trees/21-rc6/Documentation/DocBook/stylesheet.xsl -o Documentation/DocBook/man Documentation/DocBook/wanbook.xml ; gzip -f Documentation/DocBook/man/*.9; fi
    Note: meta version: No productnumber or alternative sppp_close
    Note: meta version: No refmiscinfo@class=version sppp_close
    Note: Writing sppp_close.9
    Note: meta version: No productnumber or alternative sppp_open
    Note: meta version: No refmiscinfo@class=version sppp_open

    by adding a RefMiscInfo xml tag in the form of the current kernel version
    to the function, struct and enum definitions in files included by
    kernel-doc when building 'mandocs'. However, the version string appears
    truncated on the manpage due to some constraints in the xml DTD for the man
    header, I believe, for the troff output is truncated too.

    Signed-off-by: Borislav Petkov
    Cc: "Randy.Dunlap"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Borislav Petkov
     
  • Johannes Berg reported that struct names are not highlighted
    (bold, italic, etc.) in html kernel-doc output. (Also not in
    text-mode output, but I don't see that changing.)

    This patch adds the following:
    - highlight struct names in html output mode
    - highlight environment var. names in html output mode
    - indent struct fields in the original struct layout

    Signed-off-by: Randy Dunlap
    Cc: Johannes Berg
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • In a different approach here's a patch that handles the special case of
    composite arithmetic expressions in array size initializers. With it,
    prior to pushing the split strings on the @first_arg array, I split the
    keywords before the array name as before and then keep the array name along
    with the subscript expression as a single whole element which gets pushed
    last. In this manner, kernel-doc produces correct output without removing
    whitespaces which makes the array subscripts unreadable in the docs.

    Signed-off-by: Borislav Petkov
    Signed-off-by: Randy Dunlap
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Borislav Petkov
     
  • Whitespace cleanup only: convert some series of spaces to tabs.

    Signed-off-by: Randy Dunlap
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     

02 Mar, 2007

1 commit

  • Allow space(s) between "__attribute__" and "((blah))" so that
    kernel-doc does not complain like:

    Warning(/tester/linsrc/linux-2.6.20-git15//kernel/timer.c:939): No description found for parameter 'read_persistent_clock(void'

    Signed-off-by: Randy Dunlap
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     

21 Feb, 2007

1 commit


12 Feb, 2007

2 commits

  • Teach kernel-doc to handle functions that look like the new
    pcim_iomap_table(). Fixes this fatal error in scripts/kernel-doc:

    DOCPROC Documentation/DocBook/kernel-api.xml
    Error(/tester/linsrc/linux-2.6.20-git6//drivers/pci/pci.c:1351): cannot understand prototype: 'void __iomem * const * pcim_iomap_table(struct pci_dev *pdev) '
    make[1]: *** [Documentation/DocBook/kernel-api.xml] Error 1
    make: *** [htmldocs] Error 2

    Signed-off-by: Randy Dunlap
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • - in man and text mode output, if the function return type is empty (like it
    is for macros), don't print the return type and a following space; this
    fixes an output malalignment;

    - in the function short description, strip leading, trailing, and multiple
    embedded spaces (to one space); this makes function name/description output
    spacing consistent;

    - fix a comment typo;

    Signed-off-by: Randy Dunlap
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap