15 Oct, 2007

10 commits

  • The 64bit SMP bootup is slightly different to the 32bit one. It enables
    the boot CPU local APIC timer before all CPUs are brought up. Some AMD C1E
    systems have the C1E feature flag only set in the secondary CPU. Due to
    the early enable of the boot CPU local APIC timer the APIC timer is
    registered as a fully functional device. When we detect the wreckage during
    the bringup of the secondary CPU, we need to force the boot CPU into
    broadcast mode.

    Add a new notifier reason and implement the force broadcast in the clock
    events layer.

    Signed-off-by: Thomas Gleixner

    Thomas Gleixner
     
  • * 'release' of git://lm-sensors.org/kernel/mhoffman/hwmon-2.6: (53 commits)
    hwmon: (vt8231) fix sparse warning
    hwmon: (sis5595) fix sparse warning
    hwmon: (w83627hf) don't assume bank 0
    hwmon: (w83627hf) Fix setting fan min right after driver load
    hwmon: (w83627hf) De-macro sysfs callback functions
    hwmon: Add new combined driver for FSC chips
    hwmon: (ibmpex) Release IPMI user if hwmon registration fails
    hwmon: (dme1737) Add sch311x support
    hwmon: (dme1737) group functions logically
    hwmon: (dme1737) cleanups
    hwmon: IBM power meter driver
    hwmon: (coretemp) Add support for Celeron 4xx
    hwmon: (lm87) Disable VID when it should be
    hwmon: (w83781d) Add individual alarm and beep files
    hwmon: VRM is not read from registers
    MAINTAINERS: update hwmon subsystem git trees
    hwmon: Fix the code examples in documentation
    hwmon: update sysfs interface document - error handling
    hwmon: (thmc50) Fix a debug message
    hwmon: (thmc50) Don't create temp3 if not enabled
    ...

    Linus Torvalds
     
  • all uses of and almost all assignments to lro_desc->tcp_ack assume that it's
    net-endian; one converts net-endian to host-endian and sticks it in
    lro_desc->tcp_ack.

    Signed-off-by: Al Viro
    Signed-off-by: Linus Torvalds

    Al Viro
     
  • Signed-off-by: Al Viro
    Signed-off-by: Linus Torvalds

    Al Viro
     
  • Signed-off-by: Al Viro
    Signed-off-by: Linus Torvalds

    Al Viro
     
  • Signed-off-by: Al Viro
    Signed-off-by: Linus Torvalds

    Al Viro
     
  • deal with signedness of the stuff passed to set_bit() et.al.

    Signed-off-by: Al Viro
    Signed-off-by: Linus Torvalds

    Al Viro
     
  • Signed-off-by: Al Viro
    Signed-off-by: Linus Torvalds

    Al Viro
     
  • Signed-off-by: Al Viro
    Signed-off-by: Linus Torvalds

    Al Viro
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: (21 commits)
    HID: hidraw_connect() memleak fix
    HID: add hidraw interface
    USB HID: provide hook for hidraw write()
    HID: hiddev: Add 32bit ioctl compatibilty
    HID: Add GeneralTouch touchscreen to the blacklist
    HID: add support for Microsoft Wireless Laser Keyboard 6000
    Input: add KEY_LOGOFF
    USBHID: report descriptor fix for MacBook JIS keyboard
    HID: trivial fixes in hid-debug
    HID: fix input mapping for Microsoft Ergonomic Keyboard
    HID: use hid-plff driver for GreenAsia 0e8f:0003 devices
    USBHID: Add HID_QUIRK_NOGET for ELO Touch Screen 2700 display
    HID: enable hiddev for the SantaRosa MacBookPro IR receiver
    USBHID: add CM109 device to blacklist
    HID: Report usage codes of keys as EV_MSC scancode events
    HID: ignore all non-LED usages in output fields in hid-input
    HID: fix whitespace damage
    HID: add support for Thrustmaster FGT Force Feedback wheel
    HID: minimal autosuspend support for USB HID devices
    HID: add support for Microsoft Natural Ergonomic Keyboard 4000
    ...

    Linus Torvalds
     

14 Oct, 2007

30 commits

  • Jiri Kosina
     
  • hidraw is an interface that is going to obsolete hiddev one
    day.

    Many userland applications are using libusb instead of using
    kernel-provided hiddev interface. This is caused by various
    reasons - the HID parser in kernel doesn't handle all the
    HID hardware on the planet properly, some devices might require
    its own specific quirks/drivers, etc.

    hiddev interface tries to do its best to parse all the received
    reports properly, and presents only parsed usages into userspace.
    This is however often not enough, and that's the reason why
    many userland applications just don't use hiddev at all, and
    rather use libusb to read raw USB events and process them on
    their own.

    Another drawback of hiddev is that it is USB-specific.

    hidraw interface provides userspace readers with really raw HID
    reports, no matter what the low-level transport layer is (USB/BT),
    and gives the userland applications all the freedom to process
    the HID reports in a way they wish to.

    Signed-off-by: Jiri Kosina

    Jiri Kosina
     
  • HUT 1.12 defines Logoff usage 0x19c in Consumer page. There are
    keyboards out there emitting this usage code (for example Microsoft
    Wireless Laser Keyboard 6000). Add this key so that HID code could
    map usages to it.

    Signed-off-by: Khelben Blackstaff
    Signed-off-by: Dmitry Torokhov
    Signed-off-by: Jiri Kosina

    Khelben Blackstaff
     
  • This patch fixes the problem, that Japanese MacBook doesn't recognize some keys
    like '\'(yen, or backslash), '|'(pipe), and '_'(underscore).

    It is due to that MacBook JIS keyboard (jp106) sends wrong report descriptor.
    It saids "logical maximum = 0x65", so Keyboard.0089 is mapped to Key.Unknown,
    while it should be accepted as Key.Yen.

    Signed-off-by: Tomoya Adachi
    Signed-off-by: Jiri Kosina

    Tomoya Adachi
     
  • The infrared remote receiver found in the SantaRosa MacBookPro
    laptops (MacBookPro3,1) need to be forced to expose a HIDDEV
    interface (instead of HIDINPUT) so that lirc can access it using
    the 'macmini' driver.

    The patch below adds the required quirk for forcing the HIDDEV
    interface to be activated (HID_QUIRK_HIDDEV) and introduces a new
    quirk which forces the HIDINPUT interface to be ignored
    (HID_QUIRK_IGNORE_HIDINPUT).

    Note that Apple calls this receiver 'IRController4' (info taken
    from Apple's driver Info.plist). Older Mac{Book,Mini,Pro}s seem
    to all use the 'IRController1' device (USB id 05ac:8240) which
    doesn't need those quirks.

    Signed-off-by: Stelian Pop
    Signed-off-by: Jiri Kosina

    Stelian Pop
     
  • HUT 1.12 defines Spell Check usage 0x1ab in Consumer page. There are
    keyboards out there emitting this usage code (for example Microsoft
    Natural Ergonomic Keyboard 4000). Add this key so that HID code could
    map usages to it.

    Acked-by: Dmitry Torokhov
    Signed-off-by: Jiri Kosina

    Jiri Kosina
     
  • We used to need this to compute virt_irq --> ino, but that
    is no longer necessary.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • We have a place to stick INO information in the
    virt_to_real_irq_table[], which is currently only used for VIRQs.
    And that is readily accessible from the one __irq_ino() call site.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • Signed-off-by: David S. Miller

    David S. Miller
     
  • Currently we chain IVEC entries using 32-bit "pointers"
    because we know that the ivector_table is in the main
    kernel image, thus below 4GB.

    This uses proper 64-bit pointers instead.

    Whilst this bloats up the kernel image size, this sets
    the infrastructure necessary to significantly shrink the
    kernel size by using physical addresses and dynamically
    allocating the ivector table.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • This also makes us use the MSI queues correctly.

    Each MSI queue is serviced by a normal sun4u/sun4v INO interrupt
    handler. This handler runs the MSI queue and dispatches the
    virtual interrupts indicated by arriving MSIs in that MSI queue.

    All of the common logic is placed in pci_msi.c, with callbacks to
    handle the PCI controller specific aspects of the operations.

    This common infrastructure will make it much easier to add MSG
    support.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • Added asm-sparc/irqflags.h and moved irq related code from system.h to it.
    Renamed local_irq functions to raw_local_irq in irq.c.
    Modified system.h to include linux/irqflags.h which includes asm/irqflags.h.
    Added TRACE_IRQFLAGS_SUPPORT to Kconfig.debug.

    This is the first step in adding IRQ-flags state tracing as outlined in
    Documentation/irqflags-tracing.txt. These changes should be harmless
    because they just move things around and rename them.

    The next step is making the lowlevel entry code modifications which
    to be honest are beyond my capabilities at this point.

    Boot tested on an ss20 running an SMP kernel.

    Signed-off-by: Robert Reif
    Signed-off-by: David S. Miller

    Robert Reif
     
  • The support code is identical to the hypervisor sun4v stuff,
    just replacing the hypervisor calls with register reads and
    writes in the Fire controller.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • Rename I2C_FUNC_SMBUS_HWPEC_CALC as I2C_FUNC_SMBUS_PEC, and list that
    functionality as always available through the software implementation.
    Update documentation accordingly (and list similar requirements).

    The way it's currently packaged doesn't present the capability in a
    useful way.

    Signed-off-by: David Brownell
    Signed-off-by: Jean Delvare

    David Brownell
     
  • Move the i2c-dev support into where it should always
    have lived. Now no longer holds stuff related to the
    optional userspace /dev/i2c-X interface. Improve the descriptions
    for these ioctl requests.

    Signed-off-by: David Brownell
    Signed-off-by: Jean Delvare

    David Brownell
     
  • This removes:

    - An effectively unused hook: i2c_algorithm.algo_control.

    - The i2c_control() call, used only by i2c-dev to call that
    unused hook or set two barely supported adapter params.

    (That param setting moves into i2c-dev.c ... still iffy
    due to lack of locking, but no other changes.)

    As shown by diffstat, this is a net code shrink. It also reduces the
    complexity of the I2C adapter and /dev interfaces.

    Signed-off-by: David Brownell
    Signed-off-by: Jean Delvare

    David Brownell
     
  • Clarify use of the I2C_M_* flags by highlighting the fact that
    most of them depend on I2C_FUNC_PROTOCOL_MANGLING.

    Also provide kerneldoc for i2c_smbus_read_block_data() and also
    for "struct i2c_msg".

    Signed-off-by: David Brownell
    Signed-off-by: Jean Delvare

    David Brownell
     
  • Signed-off-by: Vladimir Barinov
    Acked-by: Trilok Soni
    Signed-off-by: Jean Delvare

    Vladimir Barinov
     
  • After the i2c-isa removal some code can become static.

    Signed-off-by: Adrian Bunk
    Signed-off-by: Jean Delvare

    Adrian Bunk
     
  • We need to be able to flag I2C devices, such as RTCs, which can issue wake
    events (usually through IRQ lines). This adds an i2c_board_info.flags bit,
    and uses it to initialize the i2c device node. (And shrinks a few lines
    that were overly long.)

    Signed-off-by: David Brownell
    Signed-off-by: Jean Delvare

    David Brownell
     
  • 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
     
  • * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus:
    [MIPS] SMP: Fix use of cpumasks.
    [MIPS] Revert "[MIPS] tlbex.c: Cleanup __init usage."
    [MIPS] CFE: Add missing parenthesis.

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: (27 commits)
    alim15x3: remove redundant m5229_revision check
    sc1200: fix ->dma_base equal zero handling
    cs5520: fix ->dma_base equal zero handling
    sgiioc4: add missing ->dma_base check
    cs5535: add missing ->dma_base check
    ide: remove CONFIG_IDEDMA_IVB config option
    ide: change master/slave IDENTIFY order
    ide: move ide_config_drive_speed() calls to upper layers (take 2)
    pdc202xx_new: check ide_config_drive_speed() return value
    cs5535: check ide_config_drive_speed() return value
    amd74xx/via82cxxx: check ide_config_drive_speed() return value
    au1xxx: fix au1xxx_set_pio_mode()
    icside: use ide_tune_dma()
    ide-pmac: fix PIO setup and enable autotune
    ide-pmac: use ide_tune_dma() (take 2)
    ide-pmac: remove pmac_ide_do_setfeature() (take 2)
    ide-pmac: remove nIEN clearing from pmac_ide_do_setfeature()
    ide-pmac: use __ide_wait_stat()
    ide-pmac: remove extra good status wait from pmac_ide_do_setfeature()
    ide: add __ide_wait_stat() helper
    ...

    Linus Torvalds
     
  • * git://git.infradead.org/mtd-2.6: (91 commits)
    [MTD] [NAND] Blackfin on-chip NAND Flash Controller driver
    [MTD] [NOR] fix ctrl-alt-del can't reboot for intel flash bug
    [MTD] [NAND] Fix compiler warning in Alauda driver
    [JFFS2] Remove stray debugging printk
    [JFFS2] Handle dirents on the flash with embedded zero bytes in names.
    [JFFS2] Check for creation of dirents with embedded zero bytes in name.
    [JFFS2] Don't count all 'very dirty' blocks except in debug mode
    [JFFS2] Check whether garbage-collection actually obsoleted its victim.
    [JFFS2] Relax threshold for triggering GC due to dirty blocks.
    [MTD] [OneNAND] Fix typo related with recent commit
    [JFFS2] Trigger garbage collection when very_dirty_list size becomes excessive
    [MTD] [NAND] Avoid deadlock in erase callback; release chip lock first.
    [MTD] [NAND] Resume method for CAFÉ NAND controller
    [MTD] [NAND] Fix PCI ident table for CAFÉ NAND controller.
    [MTD] [NAND] s3c2410: fix arch moves
    [MTD] [OneNAND] fix numerous races
    [MTD] map driver for NOR flash on the Intel Vermilion Range chipset
    [JFFS2] Fix unpoint length
    [MTD] fix CFI point method for discontiguous maps
    [MTD] MAPS: Merge Lubbock and Mainstone drivers into common PXA2xx driver
    ...

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm: (106 commits)
    KVM: Replace enum by #define
    KVM: Skip pio instruction when it is emulated, not executed
    KVM: x86 emulator: popf
    KVM: x86 emulator: fix src, dst value initialization
    KVM: x86 emulator: jmp abs
    KVM: x86 emulator: lea
    KVM: X86 emulator: jump conditional short
    KVM: x86 emulator: imlpement jump conditional relative
    KVM: x86 emulator: sort opcodes into ascending order
    KVM: Improve emulation failure reporting
    KVM: x86 emulator: pushf
    KVM: x86 emulator: call near
    KVM: x86 emulator: push imm8
    KVM: VMX: Fix exit qualification width on i386
    KVM: Move main vcpu loop into subarch independent code
    KVM: VMX: Move vm entry failure handling to the exit handler
    KVM: MMU: Don't do GFP_NOWAIT allocations
    KVM: Rename kvm_arch_ops to kvm_x86_ops
    KVM: Simplify memory allocation
    KVM: Hoist SVM's get_cs_db_l_bits into core code.
    ...

    Linus Torvalds
     
  • In commit 4665079cbb2a3e17de82f2ab2940b9f97f37d65e ("[NETNS]: Move some
    code into __init section when CONFIG_NET_NS=n") we got a new section -
    .exit.text.refok (more of 'let's tell modpost that some bogus calls are
    not bogus', a-la text.init.refok).

    Unfortunately, the commit in question forgot to add it to TEXT_TEXT,
    with rather amusing results.

    Signed-off-by: Al Viro
    Signed-off-by: Linus Torvalds

    Al Viro
     
  • Breaks on any target that has copy_to_user() defined as a non-trivial
    macro.

    Signed-off-by: Al Viro
    Signed-off-by: Linus Torvalds

    Al Viro
     
  • a) include/asm-um/arch can't just point to include/asm-$(SUBARCH) now
    b) arch/{i386,x86_64}/crypto are merged now
    c) subarch-obj needed changes
    d) cpufeature_64.h should pull "cpufeature_32.h", not
    since it can be included from asm-um/cpufeature.h
    e) in case of uml-i386 we need CONFIG_X86_32 for make and gcc, but not
    for Kconfig
    f) sysctl.c shouldn't do vdso_enabled for uml-i386 (actually, that one
    should be registered from corresponding arch/*/kernel/*, with ifdef
    going away; that's a separate patch, though).

    With that and with Stephen's patch ("[PATCH net-2.6] uml: hard_header fix")
    we have uml allmodconfig building both on i386 and amd64.

    Signed-off-by: Al Viro
    Signed-off-by: Linus Torvalds

    Al Viro
     
  • Fix networking code kernel-doc for newly added parameters.

    Warning(linux-2.6.23-git2//net/core/sock.c:879): No description found for parameter 'net'
    Warning(linux-2.6.23-git2//net/core/dev.c:570): No description found for parameter 'net'
    Warning(linux-2.6.23-git2//net/core/dev.c:594): No description found for parameter 'net'
    Warning(linux-2.6.23-git2//net/core/dev.c:617): No description found for parameter 'net'
    Warning(linux-2.6.23-git2//net/core/dev.c:641): No description found for parameter 'net'
    Warning(linux-2.6.23-git2//net/core/dev.c:667): No description found for parameter 'net'
    Warning(linux-2.6.23-git2//net/core/dev.c:722): No description found for parameter 'net'
    Warning(linux-2.6.23-git2//net/core/dev.c:959): No description found for parameter 'net'
    Warning(linux-2.6.23-git2//net/core/dev.c:1195): No description found for parameter 'dev'
    Warning(linux-2.6.23-git2//net/core/dev.c:2105): No description found for parameter 'n'
    Warning(linux-2.6.23-git2//net/core/dev.c:3272): No description found for parameter 'net'
    Warning(linux-2.6.23-git2//net/core/dev.c:3445): No description found for parameter 'net'
    Warning(linux-2.6.23-git2//include/linux/netdevice.h:1301): No description found for parameter 'cpu'

    Signed-off-by: Randy Dunlap
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh64-2.6:
    sh64: mach-cayman: Build fixes.
    sh64: Symbol export fixups.
    sh64: linker script tidying and alignment fixups.
    sh64: Set KBUILD_IMAGE to make the rpm target happy.
    sh64: Kill off obsolete linux/blk.h reference.
    sh64: cleanup struct irqaction initializers.
    sh64: Kill off dead gdb stub symbol.
    sh64: alphanumeric display only on Cayman.
    sh64: Add defconfigs for mach-sim and mach-harp.
    sh64: update cayman defconfig.
    sh64: Tidy up Kconfig dependencies.
    sh64: Move consistent DMA routines to arch/sh64/mm/.
    sh64: Some symbol exports and build fixes.
    sh64: mach-sim: Build fixes.
    sh64: mach-harp: Build fixes.
    sh64: Kill off duplicate frame pointer option.
    sh64: Kill off dead ROM-RAM and generic boards.
    sh64: Tidy up includes for Cayman board.
    sh64: Move *_p() I/O routine variants to io.h.

    Linus Torvalds