12 Jun, 2008

1 commit

  • Kumar Gala wrote:
    We have a case in powerpc in which we want to link some library
    routines with all module objects. The routines are intended for
    handling out-of-line function call register save/restore so having
    them as EXPORT_SYMBOL() is counter productive (we do also need to
    link the same "library" code into the kernel).

    Without this patch a powerpc build would error out and fail
    to build modules with the added register save/restore module.

    There were two obvious solutions:
    1) To link the .o file before the modpost stage
    2) To ignore the symbols in modpost

    Option 1) was ruled out because we do not have any separate
    linking stage for single file modules.

    This patch implements option 2 - and do so only for powerpc.

    The symbols we ignore are all undefined symbols named:
    _restgpr_*, _savegpr_*, _rest32gpr_*, _save32gpr_*

    Signed-off-by: Sam Ravnborg
    Cc: Kumar Gala
    Cc: Paul Mackerras

    Sam Ravnborg
     

07 Jun, 2008

1 commit

  • This version is a bit of a whopper. This version brings a few new checks,
    improvements to a number of checks mostly through modifications to the
    way types are parsed, several fixes to quote/comment handling, as well as
    the usual slew of fixes for false positives.

    Of note:
    - return is not a function and is now reported,
    - preprocessor directive detection is loosened to match C99 standard,
    - we now intuit new type modifiers, and
    - comment handling is much improved

    Andy Whitcroft (18):
    Version: 0.19
    fix up a couple of missing newlines in reports
    colon to parenthesis spacing varies on asm
    values: #include is a preprocessor statement
    quotes: fix single character quotes at line end
    add typedef exception for the non-pointer "function types"
    kerneldoc parameters must be on one line, relax line length
    types: word boundary is not always required
    improved #define bracketing reports
    uninitialized_var is an annotation not a function name
    possible types: add possible modifier handling
    possible types: fastcall is a type modifier
    types: unsigned is not a modifier on all types
    static/external initialisation to zero should allow modifiers
    checkpatch: fix recognition of preprocessor directives -- part 2
    comments: fix inter-hunk comment tracking
    return is not a function
    do not report include/asm/foo.h use in include/linux/foo.h
    return is not a function -- tighten test

    [jengelh@computergmbh.de: fix recognition of preprocessor directives]
    Signed-off-by: Andy Whitcroft
    Cc: Jan Engelhardt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andy Whitcroft
     

03 Jun, 2008

1 commit


01 Jun, 2008

1 commit

  • When we introduced support for KBUILD_EXTRA_SYMBOLS
    we started to include the externam module's kbuild
    file when doing the final modpost step.

    As external modules often do:
    ccflags-y := -I$(src)

    We had problems because $(src) was unassinged and
    gcc then used the next parameter for -I resulting in
    strange build failures.

    Fix is to assign $(src) and $(obj) when building
    external modules.

    This fixes: http://bugzilla.kernel.org/show_bug.cgi?id=10798

    Signed-off-by: Sam Ravnborg
    Cc: Tvrtko
    Cc: Andrea Arcangeli
    Cc: "Rafael J. Wysocki"

    Sam Ravnborg
     

31 May, 2008

1 commit


26 May, 2008

1 commit

  • These magic greps and hacks in ver_linux to get the gcc version always break after some gcc releases.

    Since now gcc >4.3 allows compiling with '--with-pkgversion' ( which can be everything 'My Cool Gcc' or something )
    ver_linux will report random junk for these.

    Simply use 'gcc -dumpversion' to get the gcc version which should always work.

    Signed-off-by: Gabriel C
    Signed-off-by: Andrew Morton
    Signed-off-by: Sam Ravnborg

    Gabriel C
     

20 May, 2008

3 commits

  • 1) The field 'len' of the 'gstr' structure seems to track the size of the memory
    already allocated for the "growable string". So the value of this field should be
    the same as the 'malloc()' just above, shouldn't it ?

    Signed-off-by: Christophe Jaillet
    Signed-off-by: Sam Ravnborg

    Christophe Jaillet
     
  • 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
     
  • Andi Kleen
    reported that he saw a lot of symbols like this:

    0000000000000b24 N DW.aio.h.903a6d92.2
    0000000000000bce N DW.task_io_accounting.h.8d8de327.0
    0000000000000bec N DW.hrtimer.h.c23659c6.0

    in his System.map / kallsyms output.

    Simple solution is to skip all debugging
    symbols (they are marked 'N').

    Signed-off-by: Sam Ravnborg
    Cc: Paulo Marques

    Sam Ravnborg
     

11 May, 2008

1 commit

  • Disable modpost warnings for linkonce sections

    My build gives lots of warnings like

    WARNING: sound/core/snd.o (.gnu.linkonce.wi.mpspec_def.h.30779716): unexpected section name.
    The (.[number]+) following section name are ld generated and not expected.
    Did you forget to use "ax"/"aw" in a .S file?
    Note that for example contains
    section definitions for use in .S files.

    But for .linkonce. duplicated sections are actually ok and expected.
    So just disable the warning for this case.

    Signed-off-by: Andi Kleen
    Signed-off-by: Sam Ravnborg

    Andi Kleen
     

05 May, 2008

1 commit


04 May, 2008

1 commit

  • Not all device types need a wildcard at the end of their module
    aliases. In particular, for i2c module aliases, the trailing wildcard
    is not only unneeded, it could also cause the wrong driver to be
    loaded.

    As I2C devices have no IDs, i2c module aliases are simple, arbitrary
    device names. For example:

    $ /sbin/modinfo lm90
    filename: /lib/modules/2.6.25-git18/kernel/drivers/hwmon/lm90.ko
    author: Jean Delvare
    description: LM90/ADM1032 driver
    license: GPL
    vermagic: 2.6.25-git18 mod_unload
    depends: hwmon
    alias: i2c:lm90*
    alias: i2c:adm1032*
    alias: i2c:lm99*
    alias: i2c:lm86*
    alias: i2c:max6657*
    alias: i2c:adt7461*
    alias: i2c:max6680*
    $

    This would cause trouble if one I2C chip name matches the beginning of
    another I2C chip name and both chips are supported by different
    drivers. For example, an i2c device named lm9042 would cause the lm90
    driver to be loaded, while it doesn't support that device. This case
    has yet to be seen in practice, but still, I'd like to fix it now. The
    cleanest fix is to remove the trailing wildcard from i2c module aliases.

    Here's a patch doing this.

    Not all device type aliases need a trailing wildcard, in particular
    the i2c aliases don't. Don't add a wildcard by default in do_table(),
    instead let each device type handler add it if needed.

    I have tested types acpi, dmi, eisa, i2c, ide, ieee1394, input, pci,
    pcmcia, platform, pnp, scsi, serio, ssb and usb. Other types (ccw, of,
    vio, parisc, sdio and virtio) are untested.
    Signed-off-by: Jean Delvare
    Acked-by: Jochen Friedrich
    Signed-off-by: Sam Ravnborg

    Jean Delvare
     

02 May, 2008

1 commit


30 Apr, 2008

2 commits

  • Pointed out by Paulo:
    "When I wrote this initially, it was a mistake to add a Changelog in
    the first place, but I didn't know better at the time.

    If you're going to make changes to this file, please remove all the
    Changelog, instead of adding more entries to it. The 'Changelog'
    should be kept by the version control system, and not the source code
    itself."

    Cc: Paulo Marques
    Signed-off-by: Bryan Wu
    Acked-by: Paulo Marques
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Bryan Wu
     
  • Based on earlier work by Jon Smirl and Jochen Friedrich.

    This patch allows new-style i2c chip drivers to have alias names using
    the official kernel aliasing system and MODULE_DEVICE_TABLE(). At this
    point, the old i2c driver binding scheme (driver_name/type) is still
    supported.

    Signed-off-by: Jean Delvare
    Cc: Jochen Friedrich
    Cc: Jon Smirl
    Cc: Kay Sievers

    Jean Delvare
     

29 Apr, 2008

7 commits

  • This version brings a few fixes for the extern checks, and a couple of
    new checks.

    Of note:
    - false is now recognised as a 0 assignment in static/external
    assignments,
    - printf format strings including %L are reported,
    - a number of fixes for the extern in .c file detector which had
    temporarily lost its ability to detect variables; undetected due to
    the loss of its test.

    Andy Whitcroft (8):
    Version: 0.18
    false should trip 0 assignment checks
    tests: reinstate missing tests
    tests: allow specification of the file extension for a test
    fix extern checks for variables
    check for and report %Lu, %Ld, and %Li
    ensure we only start a statement on lines with some content
    extern spacing

    Signed-off-by: Andy Whitcroft
    Cc: Ingo Molnar
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andy Whitcroft
     
  • This version brings improvements to external declaration detection, fixes to
    quote tracking, fixes to unary tracking, some clarification of wording, and
    the usual slew of fixes for false positives.

    Of note:
    - much better unary tracking across preprocessor directives
    - UTF8 checks highlight the character at fault
    - widening of mutex detection

    Andy Whitcroft (17):
    Version: 0.17
    values: __attribute__ carries through the previous type
    quotes: should only follow "positive" lines
    clarify the indent tabs over spaces wording
    loosen NR_CPUS check for array range initialisers
    detect external function declarations without an extern prefix
    function declaration arguments should be with the identifier
    DEFINE_MUTEX should report in line with struct mutex
    NR_CPUS is valid in preprocessor statements
    comment detection should not start on the @@ line
    types: add support for #undef
    tighten mutex/completion reports to usage
    allow export of function pointers
    values: preprocessor #define is out of line maintain values
    values: #define does not always have parentheses
    unary '*' may be const
    utf8 checks should report location of the invalid character

    Wolfram Sang (1):
    make checkpatch.pl really skip

    Signed-off-by: Andy Whitcroft
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andy Whitcroft
     
  • The new version of indent supports positioning labels in column 1
    using "-il0"

    http://www.nabble.com/Release-2.2.10-of-GNU-Indent-td15990700.html

    Add "-il0" if indent version >= 2.2.10

    Signed-off-by: Joe Perches
    Acked-by: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • As choice dependency are now fully checked, it's quite easy to add support
    for named choices. This lifts the restriction that a choice value can only
    appear once, although it still has to be within the same group,
    but multiple choices can be joined by giving them a name.
    While at it I cleaned up a little the choice type logic to simplify it a
    bit.

    Signed-off-by: Roman Zippel
    Signed-off-by: Sam Ravnborg

    Roman Zippel
     
  • Properly check the dependency of choices as a group.
    Also fix that sym_check_deps() correctly terminates the dependency loop
    error check (otherwise it would continue printing the dependency chain).

    Signed-off-by: Roman Zippel
    Signed-off-by: Sam Ravnborg

    Roman Zippel
     
  • On a Mac OS X machine the output of ls -l is different from a standard
    Linux machine. Use readlink instead of parsing a hardcoded field number
    from the ls output.

    Signed-off-by: Felix Fietkau
    Signed-off-by: Sam Ravnborg

    Felix Fietkau
     
  • Fix reversal of dlg.border.atr and dlg.dialog.atr for draw_box()
    Makes the inputbox look like expected

    Signed-off-by: Roel Kluin
    Signed-off-by: Sam Ravnborg

    Roel Kluin
     

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
     

27 Apr, 2008

2 commits


26 Apr, 2008

6 commits

  • * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (120 commits)
    usb: don't update devnum for wusb devices
    wusb: make ep0_reinit available for modules
    wusb: devices dont use a set address
    wusb: teach choose_address() about wireless devices
    wusb: add link wusb-usb device
    wusb: add authenticathed bit to usb_dev
    USB: remove unnecessary type casting of urb->context
    usb serial: more fixes and groundwork for tty changes
    USB: replace remaining __FUNCTION__ occurrences
    USB: usbfs: export the URB_NO_INTERRUPT flag to userspace
    USB: fix compile problems in ehci-hcd
    USB: ehci: qh_completions cleanup and bugfix
    USB: cdc-acm: signedness fix
    USB: add documentation about callbacks
    USB: don't explicitly reenable root-hub status interrupts
    USB: OHCI: turn off RD when remote wakeup is disabled
    USB: HCDs use the do_remote_wakeup flag
    USB: g_file_storage: ignore bulk-out data after invalid CBW
    USB: serial: remove endpoints setting checks from core and header
    USB: serial: remove unneeded number endpoints settings
    ...

    Linus Torvalds
     
  • Massimo Maiurana reported:
    In the latest kernel "make update-po-config" fails because it tries
    to open arch/Kconfig/Kconfig, since the ls command doesn't
    distinguish between files and directories.

    Cc: Massimo Maiurana
    Signed-off-by: Sam Ravnborg

    Sam Ravnborg
     
  • This patch adds a new (Kbuild) Makefile variable KBUILD_EXTRA_SYMBOLS.
    The space separated list of file names assigned to KBUILD_EXTRA_SYMBOLS
    is used when calling scripts/mod/modpost during stage 2 of the Kbuild
    process for non-kernel-tree modules.

    Signed-off-by: Richard Hacker
    Signed-off-by: Sam Ravnborg

    Richard Hacker
     
  • This patch adds a new command line option -E to modpost, expecting a symbol
    file as an argument which is read prior to symbol processing. -E can be
    supplied multiple times for as many files as is needed.

    When building kernel modules that depend on other modules not in the main
    kernel tree, modpost complains about undefined symbols:
    # make -C /path/to/linux/kernel M=/path/to/my/module
    ...
    Building modules, stage 2.
    ....
    WARNING: "rt_copy_buf" [/home/rich/osc_etl_rtw/osc_kmod.ko] undefined!
    ...etc

    This situation occurs when modpost processes the new module's symbols. When
    it finds symbols not exported by the mainline kernel, it issues this warning.

    The patch adds a new command line option -e to modpost which expects a symbol
    file as an argument. The symbols listed in this file are added to modpost's
    symbol tables during startup. -e can be supplied as often as required.

    This patch works together with the second patch. It introduces a new make
    variable, KBUILD_EXTRA_SYMBOLS, which is used when calling modpost.

    Signed-off-by: Richard Hacker
    Signed-off-by: Sam Ravnborg

    Richard Hacker
     
  • Signed-off-by: Robert P. J. Day
    Signed-off-by: Sam Ravnborg

    Robert P. J. Day
     
  • Adrian Bunk suggested a build time check for
    missing MODULE_LICENSE annotation in modules.
    The build time check is fatal as we really
    want this fixed for all modules.
    In-tree modules should all have been fixed up by now.

    Signed-off-by: Sam Ravnborg
    Cc: Adrian Bunk

    Sam Ravnborg
     

25 Apr, 2008

1 commit


20 Apr, 2008

1 commit

  • The current PNP combined card + devices module aliase can
    never ever match anything, because these values are not available
    all at the same time to request a module.

    Instead of adding the combined alias, we add the device id's
    all as individual aliases. Device id's are exported by the PNP
    bus and can now properly used to request the loading of a
    matching module.

    The module snd-sbawe currently exports aliases, which can never
    match anything:
    alias: pnp:cCTLXXXXdCTL0045dCTL0022*
    alias: pnp:cCTLXXXXdCTL0044dCTL0023*
    alias: pnp:cCTLXXXXdCTL0042dCTL0022*
    alias: pnp:cCTLXXXXdCTL0041dCTL0021*
    alias: pnp:cCTLXXXXdCTL0031dCTL0021*
    alias: pnp:cCTL00eddCTL0041dCTL0070*
    alias: pnp:cCTL00e9dCTL0045dCTL0022*
    alias: pnp:cCTL00e4dCTL0045dCTL0022*
    alias: pnp:cCTL00c7dCTL0045dCTL0022*
    alias: pnp:cCTL00c5dCTL0045dCTL0022*
    alias: pnp:cCTL00c3dCTL0045dCTL0022*
    alias: pnp:cCTL00c1dCTL0042dCTL0022*
    alias: pnp:cCTL00b2dCTL0044dCTL0023*
    alias: pnp:cCTL009edCTL0044dCTL0023*
    alias: pnp:cCTL009ddCTL0042dCTL0022*
    alias: pnp:cCTL009fdCTL0041dCTL0021*
    alias: pnp:cCTL009cdCTL0041dCTL0021*
    alias: pnp:cCTL009adCTL0041dCTL0021*
    alias: pnp:cCTL0054dCTL0031dCTL0021*
    alias: pnp:cCTL0048dCTL0031dCTL0021*
    alias: pnp:cCTL0047dCTL0031dCTL0021*
    alias: pnp:cCTL0046dCTL0031dCTL0021*
    alias: pnp:cCTL0045dCTL0031dCTL0021*
    alias: pnp:cCTL0044dCTL0031dCTL0021*
    alias: pnp:cCTL0043dCTL0031dCTL0021*
    alias: pnp:cCTL0042dCTL0031dCTL0021*
    alias: pnp:cCTL0039dCTL0031dCTL0021*
    alias: pnp:cCTL0035dCTL0031dCTL0021*

    With this patch it exports only the device id's, as properly
    matchable aliases:
    alias: pnp:dCTL0070*
    alias: pnp:dCTL0045*
    alias: pnp:dCTL0023*
    alias: pnp:dCTL0044*
    alias: pnp:dCTL0022*
    alias: pnp:dCTL0042*
    alias: pnp:dCTL0041*
    alias: pnp:dCTL0021*
    alias: pnp:dCTL0031*

    Now, the exported value of the PNP bus can be used to autoload
    a matching module:
    $ modprobe --first-time -n -v pnp:dCTL0045
    insmod /lib/modules/2.6.24-rc6-g5b825ed2-dirty/kernel/sound/core/snd-rawmidi.ko
    insmod /lib/modules/2.6.24-rc6-g5b825ed2-dirty/kernel/sound/drivers/mpu401/snd-mpu401-uart.ko
    insmod /lib/modules/2.6.24-rc6-g5b825ed2-dirty/kernel/sound/core/snd-hwdep.ko
    insmod /lib/modules/2.6.24-rc6-g5b825ed2-dirty/kernel/sound/isa/sb/snd-sb-common.ko
    insmod /lib/modules/2.6.24-rc6-g5b825ed2-dirty/kernel/sound/isa/sb/snd-sb16-csp.ko
    insmod /lib/modules/2.6.24-rc6-g5b825ed2-dirty/kernel/sound/isa/sb/snd-sb16-dsp.ko
    insmod /lib/modules/2.6.24-rc6-g5b825ed2-dirty/kernel/sound/drivers/opl3/snd-opl3-lib.ko
    insmod /lib/modules/2.6.24-rc6-g5b825ed2-dirty/kernel/sound/isa/sb/snd-sbawe.ko

    $ grep CTL0045 /sys/bus/pnp/devices/*/id
    /sys/bus/pnp/devices/01:01.00/id:CTL0045

    Signed-off-by: Kay Sievers
    Signed-off-by: Greg Kroah-Hartman

    Kay Sievers
     

29 Mar, 2008

1 commit

  • This version brings proper quote tracking across lines, and brings the
    handling of comments into the same mechanism ensuring nesting is correctly
    handled. It brings the usual flurry of fixes for false positives. It also
    brings a number of new checks. The most contentious change will likely be
    the checks for NR_CPUS as this throws some new warnings in kernel/sched.c.

    Of note:
    - all new quote tracking across lines
    - all new comment tracking
    - new more direct, less ambigious wording for some warnings
    - recommends mutexes and completions over semaphores
    - recommends strict_strto* over simple_strto*
    - report on direct use of NR_CPUS

    Andy Whitcroft (22):
    Version: 0.16
    string quote tracking should cross line boundaries
    check spacing round -> correctly across newlines
    checks for linux/ against asm/ include files should be warnings
    standardise on 'required' and 'prohibited'
    take the first end of condition when parsing statements
    values: cope with unbalanced brackets
    preprocessor #elif is not a function
    preprocessor #if should not trigger trailing statement checks
    test: allow us to limit output to a single error
    recommend real mutexes over semaphores
    asm checks should mirror those for __asm__
    warn on semaphores being used in place of completions
    trailing ; on control structure should ignore do {} while ();
    recommend strict_strtoX over simple_strtoX
    redo comment handling as a quote type
    use of NR_CPUS is normally wrong
    consistant spacing should only be about spaces
    if brace check suppression should only apply to the top-levels
    use tr/// to align spacing for operators
    move to using four parameter form of substr
    check and report modifications to include/asm

    Signed-off-by: Andy Whitcroft
    Cc: Ingo Molnar
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andy Whitcroft
     

24 Mar, 2008

1 commit

  • The module alias support in the kernel have a consistency
    check where it is checked that the size of a structure
    in the kernel and on the build host are the same.
    For cross builds this check does not make sense so detect
    when we do cross builds and silently skip the check in these
    situations.
    This fixes a build bug for a wireless driver when cross building
    for arm.

    Acked-by: Michael Buesch
    Tested-by: Gordon Farquharson
    Signed-off-by: Sam Ravnborg
    Cc: stable@kernel.org

    Sam Ravnborg
     

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
     

05 Mar, 2008

1 commit

  • This version brings a number of minor fixes updating the type detector and
    the unary tracker. It also brings a few small fixes for false positives.
    It also reverts the --file warning. Of note:

    - limit CVS checks to added lines
    - improved type detections
    - fixes to the unary tracker

    Andy Whitcroft (13):
    Version: 0.15
    EXPORT_SYMBOL checks need to accept array variables
    export checks must match DECLARE_foo and LIST_HEAD
    possible types: cleanup debugging missing line
    values: track values through preprocessor conditional paths
    typeof is actually a type
    possible types: detect definitions which cross lines
    values: include line numbers on value debug information
    values: ensure we find correctly record pending brackets
    values: simplify the brace history stack
    CVS keyword checks should only apply to added lines
    loosen spacing for comments
    allow braces for single statement blocks with multiline conditionals

    Harvey Harrison (1):
    checkpatch: remove fastcall

    Ingo Molnar (1):
    checkpatch.pl: revert wrong --file message

    Uwe Kleine-Koenig (1):
    fix typo "goot" -> "good"

    Signed-off-by: Andy Whitcroft
    Cc: Randy Dunlap
    Cc: Joel Schopp
    Cc: Ingo Molnar
    Cc: Andi Kleen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andy Whitcroft
     

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
     

20 Feb, 2008

1 commit

  • XXXINIT_TO_INIT and XXXEXIT_TO_EXIT warnings use the reversed symbol name order
    in the suggestion, e.g.:

    WARNING: vmlinux.o(.meminit.text+0x36c): Section mismatch in reference from the function free_area_init_core() to the function .init.text:setup_usemap()
    The function __meminit free_area_init_core() references
    a function __init setup_usemap().
    If free_area_init_core is only used by setup_usemap then
    annotate free_area_init_core with a matching annotation.

    Signed-off-by: Geert Uytterhoeven
    Signed-off-by: Sam Ravnborg

    Geert Uytterhoeven