tree 5191feb2dc9716e9cdc563fbea2cc7777997b13f
parent f2c1a053ceedec87aa355fafe60db1af27d7d830
author Paolo Bonzini <pbonzini@redhat.com> 1483370543 +0100
committer Jonathan Corbet <corbet@lwn.net> 1483567643 -0700

kernel-doc: cleanup parameter type in function-typed arguments

A prototype like

    /**
     * foo - sample definition
     * @bar: a parameter
     */
    int foo(int (*bar)(int x,
                       int y));

is currently producing

    .. c:function:: int foo (int (*bar) (int x,                    int y)

       sample definition

    **Parameters**

    ``int (*)(int x,                    int y) bar``
      a parameter

Collapse the spaces so that the output is nicer.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Acked-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
