17 Oct, 2007

1 commit

  • * 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
     

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

3 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
     
  • Fix modpost segfault.

    Before:
    -------
    ynezz@ntbk:~/linux-2.6.git$ scripts/mod/modpost vmlinux ath_pci.o
    Segmentation fault

    After:
    ------
    ynezz@ntbk:~/linux-2.6.git$ scripts/mod/modpost vmlinux ath_pci.o
    FATAL: section header offset=815726848 in file 'ath_pci.o' is bigger then filesize=153968

    Sam: This seems to warn for a binutils issue. Anyway modpost should not
    segfault.

    Signed-off-by: Petr Stetiar
    Signed-off-by: Sam Ravnborg

    Petr Stetiar
     
  • The Elfnn_Section is not available on all platforms,
    noteworthy are cygwin.
    Use the safe replacement _Half.

    Signed-off-by: Sam Ravnborg

    Sam Ravnborg
     

12 Oct, 2007

1 commit

  • * 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (867 commits)
    [SKY2]: status polling loop (post merge)
    [NET]: Fix NAPI completion handling in some drivers.
    [TCP]: Limit processing lost_retrans loop to work-to-do cases
    [TCP]: Fix lost_retrans loop vs fastpath problems
    [TCP]: No need to re-count fackets_out/sacked_out at RTO
    [TCP]: Extract tcp_match_queue_to_sack from sacktag code
    [TCP]: Kill almost unused variable pcount from sacktag
    [TCP]: Fix mark_head_lost to ignore R-bit when trying to mark L
    [TCP]: Add bytes_acked (ABC) clearing to FRTO too
    [IPv6]: Update setsockopt(IPV6_MULTICAST_IF) to support RFC 3493, try2
    [NETFILTER]: x_tables: add missing ip6t_modulename aliases
    [NETFILTER]: nf_conntrack_tcp: fix connection reopening
    [QETH]: fix qeth_main.c
    [NETLINK]: fib_frontend build fixes
    [IPv6]: Export userland ND options through netlink (RDNSS support)
    [9P]: build fix with !CONFIG_SYSCTL
    [NET]: Fix dev_put() and dev_hold() comments
    [NET]: make netlink user -> kernel interface synchronious
    [NET]: unify netlink kernel socket recognition
    [NET]: cleanup 3rd argument in netlink_sendskb
    ...

    Fix up conflicts manually in Documentation/feature-removal-schedule.txt
    and my new least favourite crap, the "mod_devicetable" support in the
    files include/linux/mod_devicetable.h and scripts/mod/file2alias.c.

    (The latter files seem to be explicitly _designed_ to get conflicts when
    different subsystems work with them - that have an absolutely horrid
    lack of subsystem separation!)

    Signed-off-by: Linus Torvalds

    Linus Torvalds
     

11 Oct, 2007

2 commits

  • With the net namespaces many code leaved the __init section,
    thus making the kernel occupy more memory than it did before.
    Since we have a config option that prohibits the namespace
    creation, the functions that initialize/finalize some netns
    stuff are simply not needed and can be freed after the boot.

    Currently, this is almost not noticeable, since few calls
    are no longer in __init, but when the namespaces will be
    merged it will be possible to free more code. I propose to
    use the __net_init, __net_exit and __net_initdata "attributes"
    for functions/variables that are not used if the CONFIG_NET_NS
    is not set to save more space in memory.

    The exiting functions cannot just reside in the __exit section,
    as noticed by David, since the init section will have
    references on it and the compilation will fail due to modpost
    checks. These references can exist, since the init namespace
    never dies and the exit callbacks are never called. So I
    introduce the __exit_refok attribute just like it is already
    done with the __init_refok.

    Signed-off-by: Pavel Emelyanov
    Signed-off-by: David S. Miller

    Pavel Emelyanov
     
  • SSB is an SoC bus used in a number of embedded devices. The most
    well-known of these devices is probably the Linksys WRT54G, but there
    are others as well. The bus is also used internally on the BCM43xx
    and BCM44xx devices from Broadcom.

    This patch also includes support for SSB ID tables in modules, so
    that SSB drivers can be loaded automatically.

    Signed-off-by: Michael Buesch
    Signed-off-by: John W. Linville
    Signed-off-by: David S. Miller

    Michael Buesch
     

24 Sep, 2007

1 commit


01 Aug, 2007

1 commit

  • This is needed on MIPS where the same mechanism as get_user() is used to
    intercept bus error exceptions for some hardware probes. Without this
    patch modpost will throw spurious warnings:

    LD vmlinux
    SYSMAP System.map
    SYSMAP .tmp_System.map
    MODPOST vmlinux
    WARNING: arch/mips/sgi-ip22/built-in.o(__dbe_table+0x0): Section mismatch: reference to .init.text:

    Signed-off-by: Ralf Baechle
    Cc: Sam Ravnborg
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ralf Baechle
     

26 Jul, 2007

4 commits

  • The Xtensa architecture places literal pools in sections separate
    from the instructions. The corresponsing text sections, therefore,
    reference the .literal section, and we have to suppress those
    warnings.

    The naming convention defines the name for a literal
    section as .SECTION.literal, unless .SECTION is .text. In that case
    the name is only .literal. Using strncmp() instead of strcmp()
    to compare the from-section with .SECTION.init.refok in pattern 0
    should not cause any regressions for other architectures.

    We also need to suppress warnings for two informational
    sections (.xt.lit and .xt.prop) used by the Xtensa architecture.

    Signed-off-by: Chris Zankel
    Signed-off-by: Sam Ravnborg

    Sam Ravnborg
     
  • In the whitelist function of modpost now use the same
    check to identify init_section as in other places of modpost.
    This has the effect that we now recognize sections named
    .init.text.19 as init sections and we no longer warn
    when we see these.

    At the same time make surrounding code readable by dropping
    use of temporary flags.

    Signed-off-by: Sam Ravnborg

    Sam Ravnborg
     
  • This is a preparational patch that just move
    two functions and add one (for now unused) function.

    Signed-off-by: Sam Ravnborg

    Sam Ravnborg
     
  • We already check and warn about section mismatches from vmlinux
    (build as vmlinux.o) during first pass so skip the checks
    during the 2nd pass where we process modules.

    Signed-off-by: Sam Ravnborg

    Sam Ravnborg
     

24 Jul, 2007

1 commit

  • Modify modpost (file2alias.c) to add acpi*:XYZ0001: alias in modules.alias
    like:
    grep acpi /lib/modules/2.6.22-rc4-default/modules.alias
    alias acpi*:SNY5001:* sony_laptop
    alias acpi*:SNY6001:* sony_laptop
    for e.g. the sony_laptop module.
    This module matches against all ACPI devices with a HID or CID of SNY5001
    or SNY6001

    Export an uevent and modalias sysfs file containing the string:
    [MODALIAS=]acpi:PNP0C0C:
    additional CIDs are concatenated at the end.

    Signed-off-by: Thomas Renninger
    Signed-off-by: Kay Sievers
    Signed-off-by: Len Brown

    Thomas Renninger
     

20 Jul, 2007

1 commit


17 Jul, 2007

14 commits


12 Jun, 2007

1 commit

  • There's a special .cranges section that is almost always generated,
    with data being moved to the appropriate section by the linker at a later
    stage.

    To give a bit of background, sh64 has both a native SHmedia instruction
    set (32-bit instructions) and SHcompact (which is compatability with
    normal SH -- 16-bit, a massively reduced register set, etc.). code ranges
    are emitted when we're using the 32-bit ABI, but not the 64-bit one.

    It is a special staging section used solely by binutils where code with
    different flags get placed (more specifically differing flags for input
    and output sections), before being lazily merged by the linker.

    The closest I've been able to find to documentation is:
    http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/ld/emultempl/sh64elf.em?rev=1.10&content-type=text/x-cvsweb-markup&cvsroot=src

    It's an array of 8-byte Elf32_CRange structure given in
    http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/bfd/elf32-sh64.h?rev=1.4&content-type=text/x-cvsweb-markup&cvsroot=src
    that describes for which ISA a range is used.

    Silence the warnings by allowing references from .init.text to .cranges.

    The following warnings are fixed:

    WARNING: init/built-in.o(.cranges+0x0): Section mismatch: reference to .init.text:
    WARNING: init/built-in.o(.cranges+0xa): Section mismatch: reference to .init.text:
    WARNING: init/built-in.o(.cranges+0x14): Section mismatch: reference to .init.text:
    WARNING: init/built-in.o(.cranges+0x1e): Section mismatch: reference to .init.text:
    WARNING: init/built-in.o(.cranges+0x28): Section mismatch: reference to .init.text:
    WARNING: init/built-in.o(.cranges+0x32): Section mismatch: reference to .init.text:
    WARNING: kernel/built-in.o(.cranges+0x50): Section mismatch: reference to .init.text:
    WARNING: kernel/built-in.o(.cranges+0x5a): Section mismatch: reference to .init.text:
    WARNING: kernel/built-in.o(.cranges+0x64): Section mismatch: reference to .init.text:
    WARNING: kernel/built-in.o(.cranges+0xfa): Section mismatch: reference to .init.text:
    WARNING: kernel/built-in.o(.cranges+0x104): Section mismatch: reference to .init.text:
    WARNING: kernel/built-in.o(.cranges+0x10e): Section mismatch: reference to .init.text:
    WARNING: kernel/built-in.o(.cranges+0x14a): Section mismatch: reference to .init.text:
    WARNING: kernel/built-in.o(.cranges+0x154): Section mismatch: reference to .init.text:
    WARNING: kernel/built-in.o(.cranges+0x15e): Section mismatch: reference to .init.text:
    WARNING: mm/built-in.o(.cranges+0x6e): Section mismatch: reference to .init.text:
    WARNING: mm/built-in.o(.cranges+0x78): Section mismatch: reference to .init.text:
    WARNING: mm/built-in.o(.cranges+0x82): Section mismatch: reference to .init.text:
    WARNING: mm/built-in.o(.cranges+0xaa): Section mismatch: reference to .init.text:
    WARNING: fs/built-in.o(.cranges+0x136): Section mismatch: reference to .init.text:
    WARNING: fs/built-in.o(.cranges+0x140): Section mismatch: reference to .init.text:
    WARNING: fs/built-in.o(.cranges+0x14a): Section mismatch: reference to .init.text:
    WARNING: fs/built-in.o(.cranges+0x168): Section mismatch: reference to .init.text:
    WARNING: fs/built-in.o(.cranges+0x1f4): Section mismatch: reference to .init.text:
    WARNING: fs/built-in.o(.cranges+0x1fe): Section mismatch: reference to .init.text:
    WARNING: net/built-in.o(.cranges+0x302): Section mismatch: reference to .init.text:
    WARNING: net/built-in.o(.cranges+0x30c): Section mismatch: reference to .init.text:
    WARNING: net/built-in.o(.cranges+0x316): Section mismatch: reference to .init.text:
    WARNING: net/built-in.o(.cranges+0x3a2): Section mismatch: reference to .init.text:
    WARNING: net/built-in.o(.cranges+0x3ac): Section mismatch: reference to .init.text:
    WARNING: net/built-in.o(.cranges+0x4ce): Section mismatch: reference to .init.text:
    WARNING: net/built-in.o(.cranges+0x4d8): Section mismatch: reference to .init.text:

    Signed-off-by: Paul Mundt
    Cc: Kaz Kojima
    Signed-off-by: Sam Ravnborg

    Sam Ravnborg
     

22 May, 2007

1 commit


19 May, 2007

8 commits

  • modpost had two cases hardcoded for mm/
    Shift over to __init_refok and kill the
    hardcoded function names in modpost.

    This has the drawback that the functions
    will always be kept no matter configuration.
    With previous code the function were placed in
    init section if configuration allowed it.

    Signed-off-by: Sam Ravnborg

    Sam Ravnborg
     
  • Kill a special case in modpost by introducing the
    __init_refok marker.

    Signed-off-by: Sam Ravnborg

    Sam Ravnborg
     
  • Throughout the kernel there are a few legitimite references
    to init or exit sections. Most of these are covered by the
    patterns included in modpost but a few nees special attention.
    To avoid hardcoding a lot of function names in modpost introduce
    a marker so relevant function/data can be marked.
    When modpost see a reference to a init/exit function from
    a function/data marked no warning will be issued.

    Idea from: Andrew Morton

    Signed-off-by: Sam Ravnborg
    Cc: Andrew Morton

    Sam Ravnborg
     
  • This patch fixes the following class of "Section mismatch" warnings when
    building powerpc platforms.

    WARNING: arch/powerpc/kernel/built-in.o - Section mismatch: reference to .init.data:.got2 from prom_entry (offset 0x0)
    WARNING: arch/powerpc/platforms/built-in.o - Section mismatch: reference to .init.text:mpc8313_rdb_probe from .machine.desc after 'mach_mpc8313_rdb' (at offset 0x4)
    ....

    Signed-off-by: Li Yang
    Signed-off-by: Sam Ravnborg

    Li Yang
     
  • On i386, ARM and MIPS, warn_sec_mismatch() sometimes fails to show
    usefull symbol name. This is because empty 'refsym' due to 0 r_addend
    value. This patch is to adjust r_addend value, consulting with
    apply_relocate() routine in kernel code.

    Without this patch:
    MODPOST vmlinux
    WARNING: init/built-in.o - Section mismatch: reference to .init.text: from .text between 'rest_init' (at offset 0xf4) and 'try_name'
    WARNING: mm/built-in.o - Section mismatch: reference to .init.text: from .text between 'kmem_cache_create' (at offset 0x18a39) and 'cache_reap'
    WARNING: mm/built-in.o - Section mismatch: reference to .init.text: from .text between 'kmem_cache_create' (at offset 0x18a6b) and 'cache_reap'

    With this patch:
    MODPOST vmlinux
    WARNING: mm/built-in.o - Section mismatch: reference to .init.text:set_up_list3s from .text between 'kmem_cache_create' (at offset 0x18a39) and 'cache_reap'
    WARNING: mm/built-in.o - Section mismatch: reference to .init.text:set_up_list3s from .text between 'kmem_cache_create' (at offset 0x18a6b) and 'cache_reap'

    Now modpost can detect "kernel_init" name (and whitelist it) and show
    "set_up_list3s" name.

    Signed-off-by: Atsushi Nemoto
    Signed-off-by: Sam Ravnborg

    Atsushi Nemoto
     
  • Change modpost section mismatch warnings to be less confusing;
    model them on the binutils linker warnings which we all know how
    to interpret.

    Also, fix the wrong ordering of arguments for the final case -
    fromsec and refsymname were reversed.

    Signed-off-by: Russell King
    Acked-by: Acked-by: David S. Miller
    Signed-off-by: Sam Ravnborg

    Russell King
     
  • POSIX says limits.h defines PATH_MAX so we should include it (which fixes
    compiling on some systems like OS X).

    Signed-off-by: Mike Frysinger
    Signed-off-by: Sam Ravnborg

    Mike Frysinger
     
  • Since the devices may have multiple (or none) compatible properties,
    the uevent generated internally by the kernel may have multiple
    "C..." entries. So the MODALIAS stored in the module must have
    wilcard before and after the compatible entry.
    Also, if the 'compatible' field is not used for matching, there
    will be no 'C' and that must handled as well.

    The previous code handled all those case incorrectly and it
    "mostly" worked ... but not always.

    Signed-off-by: Sylvain Munaut
    Signed-off-by: Paul Mackerras
    Signed-off-by: Sam Ravnborg

    Sylvain Munaut