16 Oct, 2008

1 commit


15 Oct, 2008

30 commits

  • Manual fixup of conflicts on:

    arch/powerpc/include/asm/dcr-regs.h
    drivers/net/ibm_newemac/core.h

    Benjamin Herrenschmidt
     
  • Recently, indirect_pci was changed to test if the bus number requested
    is the one hanging straight off the PHB, then it substitutes the bus
    number with another one contained in a new "self_busno" field of the
    pci_controller structure.

    However, this breaks CHRP which didn't initialize this new field, and
    which relies on having the right bus number passed to the hardware.

    This fixes it by initializing this variable properly for all CHRP bridges

    Signed-off-by: Benjamin Herrenschmidt

    Benjamin Herrenschmidt
     
  • The detection of the IBM "Python" PCI host bridge on IBM CHRP
    machines such as old RS6000 was broken when we changed
    of_device_is_compatible() from strncasecmp to strcasecmp (dropped
    the "n" variant) due to the way IBM encodes the chip version.

    We fix that by instead doing a match on the model property like
    we do for others bridges in that file. It should be good enough
    for those machines. If yours is still broken, let me know.

    Signed-off-by: Benjamin Herrenschmidt

    Benjamin Herrenschmidt
     
  • prom_init was changed to take a new argument, the address
    where the kernel is loaded, which is now used to copy the
    SMP spin loop down before use.

    However, only head_64.S was adapted to pass this new value,
    not head_32.S, thus breaking SMP boot on 32-bit SMP CHRP
    machines.

    Signed-off-by: Benjamin Herrenschmidt

    Benjamin Herrenschmidt
     
  • The new merged DMA code will try to access isa_bridge_pcidev when
    trying to DMA to/from legacy devices. This is however only defined
    on 64-bit. Fixes this for now by adding the variable, even if it
    stays NULL. In the long run, we'll make isa-bridge.c common to
    32 and 64-bit.

    Signed-off-by: Benjamin Herrenschmidt

    Benjamin Herrenschmidt
     
  • When the powerpc PCI layer is not configured to re-assign everything,
    it currently fails to detect that a PCI to PCI bridge has been left
    unassigned by the firmware and tries to allocate resource for the
    default window values in the bridge (0...X) (with the notable exception
    of a hack we have in there that detects some Apple firmware unassigned
    bridge resources).

    This results in resource allocation failures, which are generally
    fixed up later on but it causes scary warnings in the logs and we
    have seen the fixup code fall over in some circumstances (a different
    issue to fix as well).

    This code improves that by providing a more complete & useful function
    to intuit that a bridge was left unassigned by the firmware, and thus
    force a full re-allocation by the PCI code without trying to allocate
    the existing useless resources first.

    The algorithm we use basically considers unassigned a window that
    starts at 0 (PCI address) if the corresponding address space enable
    bit is not set. In addition, for memory space, it considers such a
    resource unassigned also if the host bridge isn't configured to
    forward cycles to address 0 (ie, the resource basically overlaps
    main memory).

    This fixes a range of problems with things like Bare-Metal support
    on pSeries machines, or attempt to use partial firmware PCI setup.

    Signed-off-by: Benjamin Herrenschmidt

    Benjamin Herrenschmidt
     
  • commit 611e097d7707741a336a0677d9d69bec40f29f3d
    Author: Christian Borntraeger
    hvc_console: rework setup to replace irq functions with callbacks
    introduced a spinlock recursion problem. The notifier_del is
    called with a lock held, and in turns calls free_irq which then
    complains when manipulating procfs. This fixes it by moving the
    call to the notifier to outside of the locked section.

    Signed-off-by: Christian Borntraeger
    Signed-off-by: Benjamin Herrenschmidt

    Christian Borntraeger
     
  • * 'for-2.6.28' of git://linux-nfs.org/~bfields/linux: (59 commits)
    svcrdma: Fix IRD/ORD polarity
    svcrdma: Update svc_rdma_send_error to use DMA LKEY
    svcrdma: Modify the RPC reply path to use FRMR when available
    svcrdma: Modify the RPC recv path to use FRMR when available
    svcrdma: Add support to svc_rdma_send to handle chained WR
    svcrdma: Modify post recv path to use local dma key
    svcrdma: Add a service to register a Fast Reg MR with the device
    svcrdma: Query device for Fast Reg support during connection setup
    svcrdma: Add FRMR get/put services
    NLM: Remove unused argument from svc_addsock() function
    NLM: Remove "proto" argument from lockd_up()
    NLM: Always start both UDP and TCP listeners
    lockd: Remove unused fields in the nlm_reboot structure
    lockd: Add helper to sanity check incoming NOTIFY requests
    lockd: change nlmclnt_grant() to take a "struct sockaddr *"
    lockd: Adjust nlmsvc_lookup_host() to accomodate AF_INET6 addresses
    lockd: Adjust nlmclnt_lookup_host() signature to accomodate non-AF_INET
    lockd: Support non-AF_INET addresses in nlm_lookup_host()
    NLM: Convert nlm_lookup_host() to use a single argument
    svcrdma: Add Fast Reg MR Data Types
    ...

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/voltage-2.6: (26 commits)
    mfd: Fix warning in WM8350
    mfd: Add placeholders for WM8350 client devices
    da903x: add regulator support for DA9030/DA9034
    mfd: Add WM8350 subdevice registration helper
    regulator: Add WM8350 regulator support
    mfd: Add WM8350 interrupt support
    mfd: Add initialisation callback for WM8350
    mfd: Add GPIO pin configuration support for WM8350
    mfd: Add I2C control support for WM8350
    mfd: Core support for the WM8350 AudioPlus PMIC
    mfd: Add WM8350 watchdog register definitions
    mfd: Add WM8350 RTC register definitions
    mfd: Add WM8350 comparator register definitions
    mfd: Add WM8350 PMU register definitions
    mfd: Add WM8350 PMIC register definitions
    mfd: Add WM8350 GPIO register definitions
    mfd: Add WM8350 audio register definitions
    regulator: Export regulator name via sysfs
    regulator: Add WM8400 regulator support
    mfd: Core support for the WM8400 AudioPlus HiFi CODEC and PMU
    ...

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arjan/linux-2.6-fastboot:
    raid, fastboot: hide RAID autodetect option if MD is compiled as a module
    raid: make RAID autodetect default a KConfig option
    warning: fix init do_mounts_md c
    fastboot: make the RAID autostart code print a message just before waiting
    fastboot: make the raid autodetect code wait for all devices to init
    fastboot: Fix bootgraph.pl initcall name regexp
    fastboot: fix issues and improve output of bootgraph.pl
    Add a script to visualize the kernel boot process / time

    Linus Torvalds
     
  • This reverts commit c9e587abfdec2c2aaa55fab83bcb4972e2f84f9b, and the
    subsequent commits that fixed it up:

    - afa9b649 "fbcon: prevent cursor disappearance after switching to 512
    character font"

    - d850a2fa "vt/fbcon: fix background color on line feed"

    - 7fe3915a "vt/fbcon: update scrl_erase_char after 256/512-glyph font
    switch"

    by request of Alan Cox. Quoth Alan:
    "Unfortunately it's wrong and its been causing breakages because
    various apps like ncurses expect our previous (and correct)
    behaviour."

    Alexander sent out a similar patch.

    Requested-by: Alan Cox
    Tested-by: Jan Engelhardt
    Cc: Alexander V. Lukyanov
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:
    qlge: Fix page size ifdef test.
    net: Rationalise email address: Network Specific Parts
    dsa: fix compile bug on s390
    netns: mib6 section fixlet
    enic: Fix Kconfig headline description
    de2104x: wrong MAC address fix
    s390: claw compile fixlet
    net: export genphy_restart_aneg
    cxgb3: extend copyrights to 2008
    cxgb3: update driver version
    net/phy: add missing kernel-doc
    pktgen: fix skb leak in case of failure
    mISDN/dsp_cmx.c: fix size checks
    misdn: use nonseekable_open()
    net: fix driver build errors due to missing net/ip6_checksum.h include

    Linus Torvalds
     
  • Error handling code following a kmalloc should free the allocated data.

    The semantic match that finds the problem is as follows:
    (http://www.emn.fr/x-info/coccinelle/)

    //
    @r exists@
    local idexpression x;
    statement S;
    expression E;
    identifier f,l;
    position p1,p2;
    expression *ptr != NULL;
    @@

    (
    if ((x@p1 = \(kmalloc\|kzalloc\|kcalloc\)(...)) == NULL) S
    |
    x@p1 = \(kmalloc\|kzalloc\|kcalloc\)(...);
    ..
    if (x == NULL) S
    )
    }
    x->f = E
    ..>
    (
    return \(0\|\|ptr\);
    |
    return@p2 ...;
    )

    @script:python@
    p1 << r.p1;
    p2 << r.p2;
    @@

    print "* file: %s kmalloc %s return %s" % (p1[0].file,p1[0].line,p2[0].line)
    //

    Signed-off-by: Julia Lawall
    Signed-off-by: Geert Uytterhoeven
    Signed-off-by: Linus Torvalds

    Julia Lawall
     
  • For some m68k configs, I get:

    | net/rfkill/rfkill-input.c: In function 'rfkill_start':
    | net/rfkill/rfkill-input.c:208: error: dereferencing pointer to incomplete type

    As the incomplete type is `struct task_struct', including fixes
    it.

    Signed-off-by: Geert Uytterhoeven
    Signed-off-by: Linus Torvalds

    Geert Uytterhoeven
     
  • ERROR: "nvram_read_byte" [drivers/scsi/atari_scsi.ko] undefined!
    ERROR: "nvram_check_checksum" [drivers/scsi/atari_scsi.ko] undefined!

    Signed-off-by: Geert Uytterhoeven
    Signed-off-by: Linus Torvalds

    Geert Uytterhoeven
     
  • If CONFIG_PROC_FS is not set, I get:

    | arch/m68k/kernel/ints.c:433: error: redefinition of 'init_irq_proc'
    | include/linux/interrupt.h:438: error: previous definition of 'init_irq_proc' was here

    This was introduced by commit 6168a702ab0be181e5e57a0b2d0e7376f7a47f0b
    ("Declare init_irq_proc before we use it."), which replaced the #ifdef
    protection of the init_irq_proc() call by a static inline dummy if
    CONFIG_PROC_FS is not set.

    Make init_irq_proc() depend on CONFIG_PROC_FS to fix this.

    Signed-off-by: Geert Uytterhoeven
    Signed-off-by: Linus Torvalds

    Geert Uytterhoeven
     
  • This patch removes the no longer used m68k PCI code.

    Signed-off-by: Adrian Bunk
    Signed-off-by: Geert Uytterhoeven
    Signed-off-by: Linus Torvalds

    Adrian Bunk
     
  • This patch removes the Hades support that was marked as BROKEN 5 years ago.

    Signed-off-by: Adrian Bunk
    Signed-off-by: Geert Uytterhoeven
    Signed-off-by: Linus Torvalds

    Adrian Bunk
     
  • Kill compiler warnings related to printf() formats in the input drivers for
    various HP9000 machines, which are shared between PA-RISC (suseconds_t is int)
    and m68k (suseconds_t is long). As both are 32-bit, it's safe to cast to int.

    Signed-off-by: Geert Uytterhoeven
    Acked-by: Helge Deller
    Signed-off-by: Linus Torvalds

    Geert Uytterhoeven
     
  • Several multi-bus subsystems:

    | include/linux/ssb/ssb.h: In function 'ssb_dma_mapping_error':
    | include/linux/ssb/ssb.h:430: error: implicit declaration of function 'pci_dma_mapping_error'
    | include/linux/ssb/ssb.h: In function 'ssb_dma_map_single':
    | include/linux/ssb/ssb.h:444: error: implicit declaration of function 'pci_map_single'
    | include/linux/ssb/ssb.h: In function 'ssb_dma_unmap_single':
    | include/linux/ssb/ssb.h:458: error: implicit declaration of function 'pci_unmap_single'
    | include/linux/ssb/ssb.h: In function 'ssb_dma_sync_single_for_cpu':
    | include/linux/ssb/ssb.h:475: error: implicit declaration of function 'pci_dma_sync_single_for_cpu'
    | include/linux/ssb/ssb.h: In function 'ssb_dma_sync_single_for_device':
    | include/linux/ssb/ssb.h:493: error: implicit declaration of function 'pci_dma_sync_single_for_device'

    or legacy drivers:

    | drivers/net/hp100.c: In function 'pdl_map_data':
    | drivers/net/hp100.c:291: error: implicit declaration of function 'pci_map_single'
    | drivers/net/hp100.c: In function 'hp100_probe1':
    | drivers/net/hp100.c:707: error: implicit declaration of function 'pci_alloc_consistent'
    | drivers/net/hp100.c:782: error: implicit declaration of function 'pci_free_consistent'
    | drivers/net/hp100.c: In function 'hp100_clean_txring':
    | drivers/net/hp100.c:1614: error: implicit declaration of function 'pci_unmap_single'

    and

    | drivers/scsi/aic7xxx_old.c: In function 'aic7xxx_allocate_scb':
    | drivers/scsi/aic7xxx_old.c:2573: error: implicit declaration of function 'pci_alloc_consistent'
    | drivers/scsi/aic7xxx_old.c: In function 'aic7xxx_done':
    | drivers/scsi/aic7xxx_old.c:2697: error: implicit declaration of function 'pci_unmap_single'
    | drivers/scsi/aic7xxx_old.c: In function 'aic7xxx_handle_seqint':
    | drivers/scsi/aic7xxx_old.c:4275: error: implicit declaration of function 'pci_map_single'
    | drivers/scsi/aic7xxx_old.c: In function 'aic7xxx_free':
    | drivers/scsi/aic7xxx_old.c:8460: error: implicit declaration of function 'pci_free_consistent'

    rely on PCI DMA operations to be always available.

    Add #include to to make them happy.

    Signed-off-by: Geert Uytterhoeven
    Signed-off-by: Linus Torvalds

    Geert Uytterhoeven
     
  • | include/linux/ssb/ssb.h: In function 'ssb_dma_sync_single_range_for_cpu':
    | include/linux/ssb/ssb.h:517: error: implicit declaration of function 'dma_sync_single_range_for_cpu'
    | include/linux/ssb/ssb.h: In function 'ssb_dma_sync_single_range_for_device':
    | include/linux/ssb/ssb.h:538: error: implicit declaration of function 'dma_sync_single_range_for_device'

    Add the missing dma_sync_single_range_for_{cpu,device}(), and remove the
    `inline' for the non-static function dma_sync_single_for_device().

    Signed-off-by: Geert Uytterhoeven
    Signed-off-by: Linus Torvalds

    Geert Uytterhoeven
     
  • The nvram and rtc-cmos drivers use the spinlock rtc_lock to protect against
    concurrent accesses to the CMOS memory. As m68k doesn't support SMP or preempt
    yet, the spinlock calls tend to get optimized away, but not for all
    configurations, causing in some rare cases:

    | ERROR: "rtc_lock" [drivers/rtc/rtc-cmos.ko] undefined!
    | ERROR: "rtc_lock" [drivers/char/nvram.ko] undefined!

    Add the spinlock to the Atari core code to avoid this.

    Signed-off-by: Geert Uytterhoeven
    Acked-by: Michael Schmitz
    Signed-off-by: Linus Torvalds

    Geert Uytterhoeven
     
  • If CONFIG_VT=n, I get:

    | arch/m68k/atari/built-in.o: In function `atari_kbd_translate':
    | arch/m68k/atari/atakeyb.c:640: undefined reference to `shift_state'

    Just remove atari_kbd_translate(), as it's unused.

    Signed-off-by: Geert Uytterhoeven
    Acked-by: Michael Schmitz
    Signed-off-by: Linus Torvalds

    Geert Uytterhoeven
     
  • | ERROR: "key_maps" [drivers/input/keyboard/amikbd.ko] undefined!

    Export key_maps in the Amiga core code, as its defined in an autogenerated
    file (drivers/char/defkeymap.c)

    Signed-off-by: Geert Uytterhoeven
    Signed-off-by: Linus Torvalds

    Geert Uytterhoeven
     
  • Currently Sun 3 support is the first platform option, as the Sun 3 MMU is
    incompatible with standard Motorola MMUs. However, this means that
    `allmodconfig' enables support for Sun 3, and thus disables support for all
    other platforms.

    Reverse the logic and move Sun 3 last, so `allmodconfig' enables all
    platforms except for Sun 3, increasing compile-coverage.

    Signed-off-by: Geert Uytterhoeven
    Signed-off-by: Linus Torvalds

    Geert Uytterhoeven
     
  • Add .note.gnu.build-id to init data so it's discarded at boot.

    [Andreas Schwab] Use NOTES macro

    Signed-off-by: Roman Zippel
    Signed-off-by: Geert Uytterhoeven
    Signed-off-by: Linus Torvalds

    Roman Zippel
     
  • Put .bss at the end of the data section

    Signed-off-by: Roman Zippel
    Signed-off-by: Geert Uytterhoeven
    Signed-off-by: Linus Torvalds

    Roman Zippel
     
  • This changes the oops and backtrace code to use the new `%pS' printk()
    extension to print out symbols rather than manually calling print_symbol.

    Signed-off-by: Geert Uytterhoeven
    Signed-off-by: Linus Torvalds

    Geert Uytterhoeven
     
  • This patch changes m68k to use the new bcd2bin/bin2bcd functions instead
    of the obsolete BCD_TO_BIN/BIN_TO_BCD/BCD2BIN/BIN2BCD macros.

    It also remove local bcd2bin/bin2bcd implementations
    in favor of the global ones.

    Signed-off-by: Adrian Bunk
    Signed-off-by: Geert Uytterhoeven
    Signed-off-by: Linus Torvalds

    Adrian Bunk
     
  • Splitting the 8250 code back up to avoid a clash with the NR_IRQS removal
    patch introduced a last minute bug. Put back the additional needed lines
    for the old lock init

    Signed-off-by: Alan Cox
    [ Ingo also reports that this can cause a spontaneous reboot crash with
    certain configs, and sends in an identical patch ]
    Tested-by: Kamalesh Babulal
    Signed-off-by: Linus Torvalds

    Alan Cox
     

14 Oct, 2008

9 commits

  • This ASIC does support all page sizes. For 4k and 8k page size the TX
    control block needs an external scatter gather list. For page sizes
    larger than 8k the max frags is satisfied by the original TX control
    block.

    Signed-off-by: Ron Mercer
    Signed-off-by: David S. Miller

    Ron Mercer
     
  • Clean up the various different email addresses of mine listed in the code
    to a single current and valid address. As Dave says his network merges
    for 2.6.28 are now done this seems a good point to send them in where
    they won't risk disrupting real changes.

    Signed-off-by: Alan Cox
    Signed-off-by: David S. Miller

    Alan Cox
     
  • git commit 45cec1bac0719c904bb5f4405c2937f7e715888c
    "dsa: Need to select PHYLIB." causes this build bug on s390:

    drivers/built-in.o: In function `phy_stop_interrupts':
    /home/heicarst/linux-2.6/drivers/net/phy/phy.c:631: undefined reference to `free_irq'
    /home/heicarst/linux-2.6/drivers/net/phy/phy.c:646: undefined reference to `enable_irq'
    drivers/built-in.o: In function `phy_start_interrupts':
    /home/heicarst/linux-2.6/drivers/net/phy/phy.c:601: undefined reference to `request_irq'
    drivers/built-in.o: In function `phy_interrupt':
    /home/heicarst/linux-2.6/drivers/net/phy/phy.c:528: undefined reference to `disable_irq_nosync'
    drivers/built-in.o: In function `phy_change':
    /home/heicarst/linux-2.6/drivers/net/phy/phy.c:674: undefined reference to `enable_irq'
    /home/heicarst/linux-2.6/drivers/net/phy/phy.c:692: undefined reference to `disable_irq'

    PHYLIB has alread a depend on !S390, however select PHYLIB at DSA overrides
    that unfortunately. So add a depend on !S390 to DSA as well.

    Signed-off-by: Heiko Carstens
    Signed-off-by: David S. Miller

    Heiko Carstens
     
  • LD net/ipv6/ipv6.o
    WARNING: net/ipv6/ipv6.o(.text+0xd8): Section mismatch in reference from the function inet6_net_init() to the function .init.text:ipv6_init_mibs()

    Signed-off-by: Alexey Dobriyan
    Signed-off-by: David S. Miller

    Alexey Dobriyan
     
  • I don't think the enic driver has anything to do with Mark Everett
    (http://en.wikipedia.org/wiki/A_Man_Called_E). Fix the Kconfig
    description.

    Signed-off-by: Roland Dreier
    Signed-off-by: David S. Miller

    Roland Dreier
     
  • The de2104x returns sometimes a wrong MAC address. The wrong one is
    like the original one, but it comes with an one byte shift. I found
    this bug on an older alpha ev5 cpu. More details are available in Gentoo
    bugreport #240718.

    It seems the hardware is sometimes a little bit too slow for an
    immediate access. This patch solves the problem by introducing a small
    udelay.

    Signed-off-by: Martin Langer
    Signed-off-by: David S. Miller

    Martin Langer
     
  • Signed-off-by: Alexey Dobriyan
    Signed-off-by: David S. Miller

    Alexey Dobriyan
     
  • This patch fixes the following build error caused by
    commit ed94493fb38a665cebcf750dfabe8a6dd13e136f
    (mv643xx_eth: convert to phylib):

    ...
    Building modules, stage 2.
    MODPOST 1280 modules
    ERROR: "genphy_restart_aneg" [drivers/net/mv643xx_eth.ko] undefined!
    ...
    make[2]: *** [__modpost] Error 1

    Signed-off-by: Adrian Bunk
    Signed-off-by: David S. Miller

    Adrian Bunk
     
  • Update copyright banner to 2008.

    Signed-off-by: Divy Le Ray
    Signed-off-by: David S. Miller

    Divy Le Ray