24 Dec, 2007

1 commit

  • Currently when using KCONFIG_ALLCONFIG with randconfig the choice options
    are clobbered. As recommended by Roman, this adds an is_new test to see
    whether to select a new option or obey the existing one.

    This is a resend of the earlier patch a couple of weeks ago, since there
    was no reply. Original thread is at http://lkml.org/lkml/2007/11/28/94

    Signed-off-by: Paul Mundt
    Cc: Roman Zippel
    Cc: Sam Ravnborg
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Paul Mundt
     

18 Dec, 2007

1 commit

  • bloat-o-meter assumes that a '.' anywhere in a symbol's name means that it
    is static and prepends 'static.' to the first part of the symbol name,
    discarding the portion of the name that follows the '.'. However, the
    names of function entry points begin with '.' in the ppc64 ABI. This
    causes all function text size changes to be accounted to a single 'static.'
    entry in the output when comparing ppc64 kernels.

    Change getsizes() to ignore the first character of the symbol name when
    searching for '.'.

    Signed-off-by: Nathan Lynch
    Cc: Matt Mackall
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Nathan Lynch
     

14 Dec, 2007

1 commit


09 Dec, 2007

1 commit

  • The check introduced in commit:
    4f1127e204377cbd2a56d112d323466f668e8334 "kbuild: fix
    infinite make recursion"

    caused certain external modules not to build and
    also caused 'make targz-pkg' to fail.
    This is a minimal fix so we revert to previous
    behaviour - but we do not overwrite the Makefile
    in the top-level directory.

    Signed-off-by: Sam Ravnborg
    Tested-by: Jay Cliburn
    Cc: Jay Cliburn

    Sam Ravnborg
     

30 Nov, 2007

1 commit

  • This version brings a new terse output mode as well as many improvements to
    the unary detection and bare type regcognition. It also brings the usual
    updates for false positives, though these seem to be slowing markedly
    now that the unary detector is no longer just putting its finger in the
    air and guessing. Of note:

    - new --terse mode producing a single line per report
    - loosening of the block brace checks
    - new checks for enum/union/struch brace placements
    - hugely expanded "bare type" detection
    - checks for inline usage
    - better handling of already open comment blocks
    - handle patches which introduce or remove lines without newlines

    Andy Whitcroft (19):
    Version: 0.12
    style fixes as spotted by checkpatch
    add a --terse options of a single line of output per report
    block brace checks should only apply for single line blocks
    all new bare type detector
    check spacing for open braces with enum, union and struct
    check for LINUX_VERSION_CODE
    macros definition bracketing checks need to ignore -ve context
    clean up the mail-back mode, -q et al
    expand possible type matching to declarations
    allow const and sparse annotations on possible types
    handle possible types as regular types everywhere
    prefer plain inline over __inline__ and __inline
    all new open comment detection
    fix up conditional extraction for if assignment checks
    add const to the possible type matcher
    unary checks: a for loop is a conditional too
    possible types: detect function pointer definitions
    handle missind newlines at end of file, report addition

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

    Andy Whitcroft
     

18 Nov, 2007

1 commit

  • Simplify "make ARCH=x86" and fix kconfig so we again can set 64BIT in
    all.config.

    For a fix the diffstat is nice:
    6 files changed, 3 insertions(+), 36 deletions(-)

    The patch reverts these commits:
    - 0f855aa64b3f63d35a891510cf7db932a435c116 ("kconfig: add helper to set
    config symbol from environment variable")
    - 2a113281f5cd2febbab21a93c8943f8d3eece4d3 ("kconfig: use $K64BIT to
    set 64BIT with all*config targets")

    Roman Zippel pointed out that kconfig supported string compares so
    the additional complexity introduced by the above two patches were
    not needed.

    With this patch we have following behaviour:

    # make {allno,allyes,allmod,rand}config [ARCH=...]
    option \ host arch | 32bit | 64bit
    =====================================================
    ./. | 32bit | 64bit
    ARCH=x86 | 32bit | 32bit
    ARCH=i386 | 32bit | 32bit
    ARCH=x86_64 | 64bit | 64bit

    The general rule are that ARCH= and native architecture takes
    precedence over the configuration.

    So make ARCH=i386 [whatever] will always build a 32-bit kernel
    no matter what the configuration says. The configuration will
    be updated to 32-bit if it was configured to 64-bit and the
    other way around.

    This behaviour is consistent with previous behaviour so no
    suprises here.

    make ARCH=x86 will per default result in a 32-bit kernel but as
    the only ARCH= value x86 allow the user to select between 32-bit
    and 64-bit using menuconfig.

    Signed-off-by: Sam Ravnborg
    Cc: Roman Zippel
    Cc: Andreas Herrmann
    Cc: Thomas Gleixner
    Cc: Ingo Molnar
    Cc: "H. Peter Anvin"
    Signed-off-by: Linus Torvalds

    Sam Ravnborg
     

13 Nov, 2007

4 commits

  • After unification of the Kconfig files and
    introducing K64BIT support in kconfig
    it required only trivial changes to enable
    "make ARCH=x86".

    With this patch you can build for x86_64 in several ways:
    1) make ARCH=x86_64
    2) make ARCH=x86 K64BIT=y
    3) make ARCH=x86 menuconfig
    => select 64-bit

    Likewise for i386 with the addition that
    i386 is default is you say ARCH=x86.

    Signed-off-by: Sam Ravnborg
    Cc: Thomas Gleixner
    Cc: Ingo Molnar
    Cc: "H. Peter Anvin"

    Sam Ravnborg
     
  • The variable K64BIT can now be used to select the
    value of CONFIG_64BIT.

    This is for example useful for powerpc to generate
    allmodconfig for both bit sizes - like this:
    make ARCH=powerpc K64BIT=y
    make ARCH=powerpc K64BIT=n

    To use this the Kconfig file must use "64BIT" as the
    config value to select between 32 and 64 bit.

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

    Sam Ravnborg
     
  • Add conf_set_env_sym() that can set an already defined symbol
    based on the value of an environment variable.

    Unknown symbols are silently ignored.
    A warning is printed if the value of the environment variable
    is unexpected.

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

    Sam Ravnborg
     
  • This patch introduce no functional changes.

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

    Sam Ravnborg
     

26 Oct, 2007

3 commits


23 Oct, 2007

1 commit


21 Oct, 2007

3 commits

  • * 'master' of hera.kernel.org:/pub/scm/linux/kernel/git/kyle/parisc-2.6: (29 commits)
    [PARISC] fix uninitialized variable warning in asm/rtc.h
    [PARISC] Port checkstack.pl to parisc
    [PARISC] Make palo target work when $obj != $src
    [PARISC] Zap unused variable warnings in pci.c
    [PARISC] Fix tests in palo target
    [PARISC] Fix palo target
    [PARISC] Restore palo target
    [PARISC] Attempt to clean up parisc/Makefile
    [PARISC] Fix infinite loop in /proc/iomem
    [PARISC] Quiet sysfs_create_link __must_check warnings in pdc_stable
    [PARISC] Squelch pci_enable_device __must_check warning in superio
    [PARISC] Kill off broken irqstack code
    [PARISC] Remove hardcoded uses of PAGE_SIZE
    [PARISC] Clean up pointless ASM_PAGE_SIZE_DIV use
    [PARISC] Kill off the last vestiges of ASM_PAGE_SIZE
    [PARISC] Kill off ASM_PAGE_SIZE use
    [PARISC] Beautify parisc vmlinux.lds.S
    [PARISC] Clean up a resource_size_t warning in sba_iommu
    [PARISC] Kill incorrect cast warning in unwinder
    [PARISC] Kill zone_to_nid printk warning
    ...

    Fixed trivial conflict in include/asm-parisc/tlbflush.h manually

    Linus Torvalds
     
  • Signed-off-by: Kyle McMartin

    Kyle McMartin
     
  • Put kernel version info on title bar in xconfig (qconf) instead of
    defaulting to "qconf".

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

    Randy Dunlap
     

20 Oct, 2007

4 commits

  • This reverts commit a5bf3d891a6a0fb5aa122792d965e3774108b923.

    David Brownell notes that this causes a regression visible in the
    drivers/usb/gadget Kconfig file:

    "That Kconfig hasn't changed (other than adding new drivers), and it's
    worked that way for several years now ... so the issue seems to be
    changes in menuconfig/kconfig/etc semantics.

    The issue is that when USB_GADGET=m, it's no longer possible to
    configure peripheral controller drivers as modules ... the
    controller drivers can now only be configured for static linkage.

    It should be making a choice of one of the controller drivers which
    could work on the target system, and allow that driver to be linked
    either as a module (ok iff USB_GADGET=m) or statically."

    Reverting this commit resolves the problem, and also fixes a second
    problem that David noticed: various dependent options couldn't be enabled.

    Tested-and-reported-by: David Brownell
    Cc: Randy Dunlap
    Cc: Jan Beulich ,
    Cc: Andrew Morton ,
    Cc: Sam Ravnborg ,
    Cc: Roman Zippel
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild:
    kbuild: fix first module build
    kconfig: update kconfig-language text
    kbuild: introduce cc-cross-prefix
    kbuild: disable depmod in cross-compile kernel build
    kbuild: make deb-pkg - add 'Provides:' line
    kconfig: comment typo in scripts/kconfig/Makefile.
    kbuild: stop docproc segfaulting when SRCTREE isn't set.
    kbuild: modpost problem when symbols move from one module to another
    kbuild: cscope - filter out .tmp_* in find_sources
    kbuild: mailing list has moved
    kbuild: check asm symlink when building a kernel

    Linus Torvalds
     
  • cc-cross-prefix is useful for the architecture that like
    to provide a default CROSS_COMPILE value,
    but may have several to select between.

    Sample usage:

    ifneq ($(SUBARCH),$(ARCH))
    ifeq ($(CROSS_COMPILE),)
    CROSS_COMPILE := $(call cc-cross-prefix, m68k-linux-gnu- m68k-linux-)
    endif
    endif

    Actual usage by the different archs will taken care of later.

    Signed-off-by: Sam Ravnborg

    Sam Ravnborg
     
  • Trivial change in a comment.

    Signed-off-by: Joern Engel
    Signed-off-by: Andre Haupt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joern Engel
     

19 Oct, 2007

1 commit

  • This version brings a more cautious checkpatch.pl by default. The more
    subjective checks are only applied with the --strict option. It also
    brings the usual slew of corrections for false positives. Of note:

    - new tree detection, the source tree will be found via the executable
    - a major revamp of the unary detection to make it more parser like
    - a new summary at the bottom of the report
    - --strict option for subjective checks
    - --file to enable checking on complete files
    - support for use in emacs "compile" window

    Andy Whitcroft (27):
    Version: 0.11
    fix up cat_vet for the case where there are no control characters
    any cast to a pointer introduces a type
    cpp unary operator detection needs to float
    attributes are also valid in type definitions
    sizeof may be a bareword and makes its argument unary
    unary checks for #ifdef et al need to find end of line
    add new --file mode to handle raw source files
    add --strict/--subjective which enables the subjective tests
    add some additional standard type suffixes
    cpp #elif is also a unary prefix
    case is not a function name
    widen asm volatile exceptions
    __kprobes is a type attribute
    typeof is a unary operator
    function open parenthesis checks should check all occurances
    expand sizeof() binary exceptions
    linux/irq.h should not be recommended
    work harder to find the kernel root and add --root=
    fix --emacs mode line numbers and string concatenation warnings
    add a summary to the bottom of the main report
    loosen assignment in if checks
    update operator spacing to maintain tabs in output
    revamp unary detection
    corruption/line wrapped patches need only reporting once
    revamp s/u/be/le 8/16/32/64 bit types
    handle missing ,1 in uni-diff header

    Mike D. Day (2):
    Adds support to checkpatch.pl for running in the emacs compile window.
    checkpatch: Fix line number reporting

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

    Andy Whitcroft
     

18 Oct, 2007

4 commits

  • http://bugzilla.kernel.org/show_bug.cgi?id=8941

    Current Debian's kernel-modules depend on matching linux-image-$version, though
    Linux's make deb-pkg build a .deb that 'Provides: kernel-image-$version' only.
    The following patch adds the Debian-compliant 'Provides', leaving the default
    one; hopely this will make way all happy.

    Signed-off-by: paolo
    Signed-off-by: Sam Ravnborg

    bugme-daemon@bugzilla.kernel.org
     
  • Typo in comment in scripts/kconfig/Makefile.

    Signed-off-by: Rob Landley
    Signed-off-by: Sam Ravnborg

    Rob Landley
     
  • Prevent docproc from segfaulting when SRCTREE isn't set.

    Signed-off-by: Rob Landley
    Acked-by: Randy Dunlap
    Signed-off-by: Sam Ravnborg

    Rob Landley
     
  • When part of build an external module tree, modpost first reads in the
    kernel's and then the external tree's Module.symvers files. From these files
    it establishes a symbol => module mapping. When it later reads in each module
    built and processes the symbols it finds, it discovers the symbol=>module
    mapping from Module.symvers and leaves it as it is.

    The problem comes with a module has been re-named or a symbol has moved from
    one module to another, since the Module.symvers file was generated. modpost
    does not update the symbol=>module mapping when it finds the new location of
    the symbol when scanning the newly built modules. This results in the module
    containing incorrect dependency information and the new Module.symvers file
    written by modpost will also contain the incorrect mappings, perpetuating the
    problem to the next build, and so on.

    When building the out of kernel development tree for kernel subsystem, like
    v4l-dvb or ALSA, deleting the external Module.symvers file before building
    (which the kernel build system doesn't do and shouldn't be necessary anyway),
    won't fix the problem. modpost still reads the kernel's Module.symvers, and
    since we a building a kernel subsystem, it will define the same symbols as the
    external modules.

    Signed-off-by: Trent Piepho
    Signed-off-by: Sam Ravnborg

    Trent Piepho
     

17 Oct, 2007

4 commits

  • 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
     
  • This version brings a number of new checks, and a number of bug
    fixes. Of note:

    - better categorisation and space checks for dual use unary/binary
    operators
    - warn on deprecated use of {SPIN,RW}_LOCK_UNLOCKED
    - check if/for/while with trailing ';' for hanging statements
    - detect DOS line endings
    - detect redundant casts for kalloc()

    Andy Whitcroft (18):
    Version: 0.10
    asmlinkage is also a storage type
    pull out inline specifiers
    allow only some operators before a unary operator
    parenthesised values may span line ends
    add additional attribute matching
    handle sparse annotations within pointer type space checks
    support alternative function definition syntax for typedefs
    check if/for/while with trailing ';' for hanging statements
    fix output format for case checks
    deprecate SPIN_LOCK_UNLOCKED and RW_LOCK_UNLOCKED
    allow complex macros with bracketing braces
    detect and report DOS line endings
    fastcall is a valid function attribute
    bracket spacing is ok for 'for'
    categorise operators into unary/binary/definitions
    add heuristic to pick up on unannotated types
    remove spurious warnings from cat_vet

    Dave Jones (1):
    Make checkpatch warn about pointless casting of kalloc returns.

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

    Andy Whitcroft
     
  • Simply fill out the bits in checkstack.pl for Blackfin. I thought I already
    sent this, but I don't see it in -mm anywhere ...

    Signed-off-by: Mike Frysinger
    Cc: Bryan Wu
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mike Frysinger
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild: (40 commits)
    kbuild: introduce ccflags-y, asflags-y and ldflags-y
    kbuild: enable 'make CPPFLAGS=...' to add additional options to CPP
    kbuild: enable use of AFLAGS and CFLAGS on commandline
    kbuild: enable 'make AFLAGS=...' to add additional options to AS
    kbuild: fix AFLAGS use in h8300 and m68knommu
    kbuild: check for wrong use of CFLAGS
    kbuild: enable 'make CFLAGS=...' to add additional options to CC
    kbuild: fix up CFLAGS usage
    kbuild: make modpost detect unterminated device id lists
    kbuild: call export_report from the Makefile
    kbuild: move Kai Germaschewski to CREDITS
    kconfig/menuconfig: distinguish between selected-by-another options and comments
    kconfig: tristate choices with mixed tristate and boolean values
    include/linux/Kbuild: remove duplicate entries
    kbuild: kill backward compatibility checks
    kbuild: kill EXTRA_ARFLAGS
    kbuild: fix documentation in makefiles.txt
    kbuild: call make once for all targets when O=.. is used
    kbuild: pass -g to assembler under CONFIG_DEBUG_INFO
    kbuild: update _shipped files for kconfig syntax cleanup
    ...

    Fix up conflicts in arch/um/sys-{x86_64,i386}/Makefile manually.

    Linus Torvalds
     

16 Oct, 2007

3 commits

  • Introduce ccflags-y, asflags-y and ldflags-y so we soon can
    deprecate use of EXTRA_CFLAGS, EXTRA_AFLAGS and EXTRA_LDFLAGS.
    This patch does not touch any in-tree users - thats next round.
    Lets get this committed first and then fix the users of the
    soon to be deprecated variants next.

    The rationale behind this change is to introduce support for
    makefile fragments like:

    ccflags-$(CONFIG_WHATEVER_DEBUG) := -DDEBUG

    As a replacement for the uglier:
    ifeq ($(CONFIG_WHATEVER_DEBUG),y)
    EXTRA_CFLAGS := -DDEBUG
    endif

    Signed-off-by: Sam Ravnborg

    Sam Ravnborg
     
  • The variable CPPFLAGS is a wellknown variable and the usage by
    kbuild may result in unexpected behaviour.

    This patch replace use of CPPFLAGS with KBUILD_CPPFLAGS all over the
    tree and enabling one to use:
    make CPPFLAGS=...
    to specify additional CPP commandline options.

    Patch was tested on following architectures:
    alpha, arm, i386, x86_64, mips, sparc, sparc64, ia64, m68k, s390

    Signed-off-by: Sam Ravnborg

    Sam Ravnborg
     
  • The variable AFLAGS is a wellknown variable and the usage by
    kbuild may result in unexpected behaviour.
    On top of that several people over time has asked for a way to
    pass in additional flags to gcc.

    This patch replace use of AFLAGS with KBUILD_AFLAGS all over
    the tree.

    Patch was tested on following architectures:
    alpha, arm, i386, x86_64, mips, sparc, sparc64, ia64, m68k, s390

    Signed-off-by: Sam Ravnborg

    Sam Ravnborg
     

15 Oct, 2007

2 commits

  • External modules have in a few cases modifed gcc option
    by modifying CFLAGS. This has never been documented and
    was a bad practice.
    With the check to use KBUILD_CFLAGS it will no longer work
    so we better error out and tell what was wrong as a service
    to the external module users.

    This check can be overruled if
    KBUILD_NOPEDANTIC is set to something.
    Addid this possibility may allow older external
    module to build without any code modifications but potentially
    only loosing some un-important gcc options.

    Signed-off-by: Sam Ravnborg

    Sam Ravnborg
     
  • The variable CFLAGS is a wellknown variable and the usage by
    kbuild may result in unexpected behaviour.
    On top of that several people over time has asked for a way to
    pass in additional flags to gcc.

    This patch replace use of CFLAGS with KBUILD_CFLAGS all over the
    tree and enabling one to use:
    make CFLAGS=...
    to specify additional gcc commandline options.

    One usecase is when trying to find gcc bugs but other
    use cases has been requested too.

    Patch was tested on following architectures:
    alpha, arm, i386, x86_64, mips, sparc, sparc64, ia64, m68k

    Test was simple to do a defconfig build, apply the patch and check
    that nothing got rebuild.

    Signed-off-by: Sam Ravnborg

    Sam Ravnborg
     

14 Oct, 2007

1 commit

  • I2C devices do not have any form of ID as PCI or USB devices have.
    No driver uses "MODULE_DEVICE_TABLE(i2c, ...)" because it doesn't
    make sense. So we can get rid of struct i2c_device_id and the
    associated support code.

    Signed-off-by: Jean Delvare
    Cc: Greg KH

    Jean Delvare
     

13 Oct, 2007

4 commits

  • Cause modpost to fail if any device id lists are incorrectly terminated,
    after reporting the offender.
    Improved reporting by akpm

    Signed-off-by: Kees Cook
    Cc: Greg KH
    Cc: Alexey Dobriyan
    Cc: Jeff Garzik
    Cc: Ben Collins
    Cc: Michael Wu
    Cc: Rusty Russell
    Signed-off-by: Andrew Morton
    Signed-off-by: Sam Ravnborg

    Kees Cook
     
  • menuconfig currently represents options implied by another option ('select'
    directive in Kconfig) by prefixing them with '---'. Unfortunately the same
    notation is used for comments. If the implied option is module capable,
    user can still switch between Y and M, all without any feedback until she
    visits option's help. (try saying M to MAC80211 and then toggling
    CFG80211)

    This patch changes notation of selected-by-another items by introducing 2
    new representations for implied options: {*} or {M} for options selected by
    another modularized one, thus builtin or module capable, -*- or -M- for
    options that cannot be at the moment changed by user.

    The idea is to represent actual capability of the option by braces (dashes)
    around and to always report actual state by * or M inside.

    Signed-off-by: Matej Laitl
    Acked-by: Randy Dunlap
    Cc: Roman Zippel
    Signed-off-by: Andrew Morton
    Signed-off-by: Sam Ravnborg

    Matej Laitl
     
  • Change kconfig behavior so that mixing bool and tristate config settings in
    a choice is possible and has the desired effect of offering just the
    tristate options individually if the choice gets set to M, and a normal
    boolean selection if the choice gets set to Y.

    Signed-off-by: Jan Beulich
    Cc: Roman Zippel
    Signed-off-by: Andrew Morton
    Signed-off-by: Sam Ravnborg

    Jan Beulich
     
  • These checks has been present for several kernel releases (> 5).
    So lets just get rid of them.
    With this we no longer check for use of:
    EXTRA_TARGETS, O_TARGET, L_TARGET, list-multi, export-objs

    There were three remaining in-tree users of O_TARGET in some
    unmaintained sh64 code - mail sent to the maintainer + list.

    Signed-off-by: Sam Ravnborg

    Sam Ravnborg