15 Oct, 2008

33 commits

  • * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2: (56 commits)
    ocfs2: Make cached block reads the common case.
    ocfs2: Kill the last naked wait_on_buffer() for cached reads.
    ocfs2: Move ocfs2_bread() into dir.c
    ocfs2: Simplify ocfs2_read_block()
    ocfs2: Require an inode for ocfs2_read_block(s)().
    ocfs2: Separate out sync reads from ocfs2_read_blocks()
    ocfs2: Refactor xattr list and remove ocfs2_xattr_handler().
    ocfs2: Calculate EA hash only by its suffix.
    ocfs2: Move trusted and user attribute support into xattr.c
    ocfs2: Uninline ocfs2_xattr_name_hash()
    ocfs2: Don't check for NULL before brelse()
    ocfs2: use smaller counters in ocfs2_remove_xattr_clusters_from_cache
    ocfs2: Documentation update for user_xattr / nouser_xattr mount options
    ocfs2: make la_debug_mutex static
    ocfs2: Remove pointless !!
    ocfs2: Add empty bucket support in xattr.
    ocfs2/xattr.c: Fix a bug when inserting xattr.
    ocfs2: Add xattr mount option in ocfs2_show_options()
    ocfs2: Switch over to JBD2.
    ocfs2: Add the 'inode64' mount option.
    ...

    Linus Torvalds
     
  • We shouldn't rely on "pnp_platform_devices" to tell us whether there
    is a PNP RTC device.

    I introduced "pnp_platform_devices", but I think it was a mistake.
    All it tells us is whether we found any PNPBIOS or PNPACPI devices.
    Many machines have some PNP devices, but do not describe the RTC
    via PNP. On those machines, we need to do the platform driver probe
    to find the RTC.

    We should just register the PNP driver and see whether it claims anything.
    If we don't find a PNP RTC, fall back to the platform driver probe.

    This (in conjunction with the arch/x86/kernel/rtc.c patch to add
    a platform RTC device when PNP doesn't have one) should resolve
    these issues:

    http://bugzilla.kernel.org/show_bug.cgi?id=11580
    https://bugzilla.redhat.com/show_bug.cgi?id=451188

    Signed-off-by: Bjorn Helgaas
    Acked-by: Rafael J. Wysocki
    Acked-by: David Brownell
    Reported-by: Rik Theys
    Reported-by: shr_msn@yahoo.com.tw
    Signed-off-by: Linus Torvalds

    Bjorn Helgaas
     
  • Most if not all x86 platforms have an RTC device, but sometimes the RTC
    is not exposed as a PNP0b00/PNP0b01/PNP0b02 device in PNPBIOS or ACPI:

    http://bugzilla.kernel.org/show_bug.cgi?id=11580
    https://bugzilla.redhat.com/show_bug.cgi?id=451188

    It's best if we can discover the RTC via PNP because then we know
    which flavor of device it is, where it lives, and which IRQ it uses.

    But if we can't, we should register a platform device using the
    compiled-in RTC_PORT/RTC_IRQ resource assumptions.

    Signed-off-by: Bjorn Helgaas
    Acked-by: Rafael J. Wysocki
    Acked-by: David Brownell
    Reported-by: Rik Theys
    Reported-by: shr_msn@yahoo.com.tw
    Signed-off-by: Linus Torvalds

    Bjorn Helgaas
     
  • Move rtc_wake_setup() from drivers/acpi/glue.c into the RTC driver
    in drivers/rtc/rtc-cmos.c.

    This removes the ordering constraint between the module_init(acpi_rtc_init)
    and the cmos_do_probe() code that depends on it.

    Signed-off-by: Bjorn Helgaas
    Acked-by: Rafael J. Wysocki
    Signed-off-by: Linus Torvalds

    Bjorn Helgaas
     
  • * '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
     
  • ocfs2_read_blocks() currently requires the CACHED flag for cached I/O.
    However, that's the common case. Let's flip it around and provide an
    IGNORE_CACHE flag for the special users. This has the added benefit of
    cleaning up the code some (ignore_cache takes on its special meaning
    earlier in the loop).

    Signed-off-by: Joel Becker
    Signed-off-by: Mark Fasheh

    Joel Becker
     
  • ocfs2's cached buffer I/O goes through ocfs2_read_block(s)(). dir.c had
    a naked wait_on_buffer() to wait for some readahead, but it should
    use ocfs2_read_block() instead.

    Signed-off-by: Joel Becker
    Signed-off-by: Mark Fasheh

    Joel Becker
     
  • dir.c is the only place using ocfs2_bread(), so let's make it static to
    that file.

    Signed-off-by: Joel Becker
    Signed-off-by: Mark Fasheh

    Joel Becker
     
  • More than 30 callers of ocfs2_read_block() pass exactly OCFS2_BH_CACHED.
    Only six pass a different flag set. Rather than have every caller care,
    let's make ocfs2_read_block() take no flags and always do a cached read.
    The remaining six places can call ocfs2_read_blocks() directly.

    Signed-off-by: Joel Becker
    Signed-off-by: Mark Fasheh

    Joel Becker
     
  • Now that synchronous readers are using ocfs2_read_blocks_sync(), all
    callers of ocfs2_read_blocks() are passing an inode. Use it
    unconditionally. Since it's there, we don't need to pass the
    ocfs2_super either.

    Signed-off-by: Joel Becker
    Signed-off-by: Mark Fasheh

    Joel Becker
     
  • The ocfs2_read_blocks() function currently handles sync reads, cached,
    reads, and sometimes cached reads. We're going to add some
    functionality to it, so first we should simplify it. The uncached,
    synchronous reads are much easer to handle as a separate function, so we
    instroduce ocfs2_read_blocks_sync().

    Signed-off-by: Joel Becker
    Signed-off-by: Mark Fasheh

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

7 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