18 Apr, 2009

6 commits

  • * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6:
    UIO: fix specific device driver missing statement for depmod
    Driver core: remove pr_fmt() from dynamic_dev_dbg() printk
    driver core: prevent device_for_each_child from oopsing
    dynamic debug: resurrect old pr_debug() semantics as pr_devel()
    Driver Core: early platform driver
    proc: mounts_poll() make consistent to mdstat_poll
    sysfs: sysfs poll keep the poll rule of regular file.
    driver core: allow non-root users to listen to uevents
    driver core: fix driver_match_device
    sysfs: don't use global workqueue in sysfs_schedule_callback()

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (22 commits)
    WUSB: correct format of wusb_chid sysfs file
    WUSB: fix oops when completing URBs for disconnected devices
    WUSB: disconnect all devices when stopping a WUSB HCD
    USB: whci-hcd: check return value of usb_hcd_link_urb_to_ep()
    USB: whci-hcd: provide a endpoint_reset method
    USB: add reset endpoint operations
    USB device codes for Motorola phone.
    usb-storage: fix mistake in Makefile
    USB: usb-serial ch341: support for DTR/RTS/CTS
    Revert USB: usb-serial ch341: support for DTR/RTS/CTS
    USB: musb: fix possible panic while resuming
    USB: musb: fix isochronous TXDMA (take 2)
    USB: musb: sanitize clearing TXCSR DMA bits (take 2)
    USB: musb: bugfixes for multi-packet TXDMA support
    USB: musb_host, fix ep0 fifo flushing
    USB: usb-storage: augment unusual_devs entry for Simple Tech/Datafab
    USB: musb_host, minor enqueue locking fix (v2)
    USB: fix oops in cdc-wdm in case of malformed descriptors
    USB: qcserial: Add extra device IDs
    USB: option: Add ids for D-Link DWM-652 3.5G modem
    ...

    Linus Torvalds
     
  • Wireless USB endpoint state has a sequence number and a current
    window and not just a single toggle bit. So allow HCDs to provide a
    endpoint_reset method and call this or clear the software toggles as
    required (after a clear halt, set configuration etc.).

    usb_settoggle() and friends are then HCD internal and are moved into
    core/hcd.h and all device drivers call usb_reset_endpoint() instead.

    If the device endpoint state has been reset (with a clear halt) but
    the host endpoint state has not then subsequent data transfers will
    not complete. The device will only work again after it is reset or
    disconnected.

    Signed-off-by: David Vrabel
    Signed-off-by: Greg Kroah-Hartman

    David Vrabel
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
    Input: ads7846 - fix unsafe disable_irq
    Input: mainstone-wm97xx - fix condition in pen_up
    Input: pc110pad - remove unused variable dev
    Input: bf54x-keys - remove depreciated IRQF_SAMPLE_RANDOM flag
    Input: ad7877, ad7879 - remove depreciated IRQF_SAMPLE_RANDOM flag
    Input: da9034-ts - make pen {down,up} events more reliable
    Input: da9034-ts - add Bin Yang as co-author of the driver
    Input: atkbd - add forced release keys quirk for Samsung NC20
    Input: atkbd - add forced release keys quirk for Samsung Q45
    Input: gameport - fix attach driver code
    Input: hp_sdc_rtc should depend on serio
    Input: wm97xx - don't specify IRQF_SAMPLE_RANDOM
    Input: ads7846 - introduce platform specific way to synchronize sampling
    Input: remove unnecessary synchronize_rcu() call
    Input: i8042 - add a DMI table for the i8042.reset option
    Input: i8042 - introduce a tougher reset

    Linus Torvalds
     
  • This renames include/asm-h8300/timer.h into arch/h8300/include/asm: it
    was left over just because that file had been created in the -mm tree
    before the whole h8300 header subdirectory had been moved, and then got
    merged in the old location afterwards.

    (See commits e0b0f9e4ead2468f84c26332ec42b118e76af572: "h8300: update
    timer handler - new files" and 758db3f2118703a1e36374dae5d58bed963e7e0d:
    "[h8300] move include/asm-h8300 to arch/h8300/include/asm" for details).

    This also removes a left-over .gitignore file in include/asm-arm that
    became stale when the ARM header files were moved (which happened in
    multiple commits, just see "git log -- include/asm-arm" for details).

    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • * 'for-linus' of git://www.linux-m32r.org/git/takata/linux-2.6_dev:
    m32r: move include/asm-m32r/* to arch/m32r/include/asm/
    m32r: move include/asm-m32r headers to arch/m32r/include/asm

    Linus Torvalds
     

17 Apr, 2009

7 commits

  • Move remained files, ftrace.h and swab.h, to arch/m32r/include/asm/.

    Signed-off-by: Hirokazu Takata

    Hirokazu Takata
     
  • Signed-off-by: Hirokazu Takata

    Hirokazu Takata
     
  • …/git/tip/linux-2.6-tip

    * 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    kernel/softirq.c: fix sparse warning
    rcu: Make hierarchical RCU less IPI-happy

    Linus Torvalds
     
  • When pr_fmt() was added to the pr_debug() code, we added it not only to the
    dynamic_pr_debug() function, but also to the dynamic_dev_dbg() funciton.
    However, dev_dbg() doesn't make use of pr_fmt(), so neither should
    dynamic_dev_dbg().

    Signed-off-by: Jason Baron
    Signed-off-by: Greg Kroah-Hartman

    Jason Baron
     
  • pr_debug() used to produce zero code unless DEBUG was #defined. This is
    now no longer the case in practice[1].

    There are places where it's useful to have debugging printks, but we don't
    want them to generate any code in production kernels.

    So add a new macro, pr_devel(), for _devel_opment, to provide the old
    semantics, ie. if the programmer doesn't explicitly enable debugging, no
    code is produced.

    [1]: You can turn CONFIG_DYNAMIC_DEBUG off, but it's enabled in at least
    one distro kernel, so it's not really a solution.

    Signed-off-by: Michael Ellerman
    Cc: Jason Baron
    Cc: Greg Banks
    Signed-off-by: Andrew Morton
    Signed-off-by: Greg Kroah-Hartman

    Michael Ellerman
     
  • V3 of the early platform driver implementation.

    Platform drivers are great for embedded platforms because we can separate
    driver configuration from the actual driver. So base addresses,
    interrupts and other configuration can be kept with the processor or board
    code, and the platform driver can be reused by many different platforms.

    For early devices we have nothing today. For instance, to configure early
    timers and early serial ports we cannot use platform devices. This
    because the setup order during boot. Timers are needed before the
    platform driver core code is available. The same goes for early printk
    support. Early in this case means before initcalls.

    These early drivers today have their configuration either hard coded or
    they receive it using some special configuration method. This is working
    quite well, but if we want to support both regular kernel modules and
    early devices then we need to have two ways of configuring the same
    driver. A single way would be better.

    The early platform driver patch is basically a set of functions that allow
    drivers to register themselves and architecture code to locate them and
    probe. Registration happens through early_param(). The time for the
    probe is decided by the architecture code.

    See Documentation/driver-model/platform.txt for more details.

    [akpm@linux-foundation.org: coding-style fixes]
    Signed-off-by: Magnus Damm
    Cc: Paul Mundt
    Cc: Kay Sievers
    Cc: David Brownell
    Cc: Tejun Heo
    Signed-off-by: Andrew Morton
    Signed-off-by: Greg Kroah-Hartman

    Magnus Damm
     
  • The legacy old IDE ioctl API for this is a bit primitive so we try
    and map stuff sensibly onto it.

    - Set PIO over DMA devices to report 32bit
    - Add ability to change the PIO32 settings if the controller permits it
    - Add that functionality into the sff drivers
    - Add that functionality into the VLB legacy driver
    - Turn on the 32bit PIO on the ninja32 and add support there

    Signed-off-by: Alan Cox
    Signed-off-by: Jeff Garzik

    Alan Cox
     

16 Apr, 2009

6 commits

  • Dmitry Torokhov
     
  • block_write_full_page doesn't allow the caller to control what happens
    when the IO is over. This adds a new call named block_write_full_page_endio
    so the buffer head end_io handler can be provided by the caller.

    This will be used by the ext3 data=guarded mode to do i_size updates in
    a workqueue based end_io handler. end_buffer_async_write is also
    exported so it can be called to do the dirty work of managing page
    writeback for the higher level end_io handler.

    Signed-off-by: Chris Mason
    Acked-by: Theodore Tso
    Acked-by: Jan Kara
    Signed-off-by: Linus Torvalds

    Chris Mason
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (64 commits)
    phylib: Fix delay argument of schedule_delayed_work
    NET/ixgbe: Fix powering off during shutdown
    NET/e1000e: Fix powering off during shutdown
    NET/e1000: Fix powering off during shutdown
    packet: avoid warnings when high-order page allocation fails
    gianfar: stop send queue before resetting gianfar
    myr10ge: again fix lro_gen_skb() alignment
    declance: convert to net_device_ops
    bfin_mac: convert to net_device_ops
    au1000: convert to net_device_ops
    atarilance: convert to net_device_ops
    a2065: convert to net_device_ops
    ixgbe: update real_num_tx_queues on changing num_rx_queues
    ixgbe: fix tx queue index
    Revert "rose: zero length frame filtering in af_rose.c"
    sfc: Use correct macro to set event bitfield
    sfc: Match calls to netif_napi_add() and netif_napi_del()
    bonding: Remove debug printk
    e1000/e1000: fix compile warning
    ehea: Fix incomplete conversion to net_device_ops
    ...

    Linus Torvalds
     
  • The default CONFIG_BUG=n version of BUG() should incorporate an empty a
    do...while statement to avoid compilation weirdness.

    Signed-off-by: David Howells
    Signed-off-by: Linus Torvalds

    David Howells
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
    ALSA: hda - Fix the cmd cache keys for amp verbs
    ALSA: add missing definitions(letters) to HD-Audio.txt
    ALSA: hda - Add quirk mask for Fujitsu Amilo laptops with ALC883
    [ALSA] intel8x0: add one retry to the ac97_clock measurement routine
    [ALSA] intel8x0: fix wrong conditions in ac97_clock measure routine
    ALSA: hda - Avoid call of snd_jack_report at release
    ALSA: add private_data to struct snd_jack
    ALSA: snd-usb-caiaq: rename files to remove redundant information in file pathes
    ALSA: snd-usb-caiaq: clean up header includes
    ALSA: sound/pci: use memdup_user()
    ALSA: sound/usb: use memdup_user()
    ALSA: sound/isa: use memdup_user()
    ALSA: sound/core: use memdup_user()
    [ALSA] intel8x0: do not use zero value from PICB register
    [ALSA] intel8x0: an attempt to make ac97_clock measurement more reliable
    [ALSA] pcm-midlevel: Add more strict buffer position checks based on jiffies
    [ALSA] hda_intel: fix unexpected ring buffer positions
    ASoC: Disable S3C64xx support in Kconfig
    ASoC: magician: remove un-necessary #include of pxa-regs.h and hardware.h

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.dk/linux-2.6-block: (28 commits)
    cfq-iosched: add close cooperator code
    cfq-iosched: log responsible 'cfqq' in idle timer arm
    cfq-iosched: tweak kick logic a bit more
    cfq-iosched: no need to save interrupts in cfq_kick_queue()
    brd: fix cacheflushing
    brd: support barriers
    swap: Remove code handling bio_alloc failure with __GFP_WAIT
    gfs2: Remove code handling bio_alloc failure with __GFP_WAIT
    ext4: Remove code handling bio_alloc failure with __GFP_WAIT
    dio: Remove code handling bio_alloc failure with __GFP_WAIT
    block: Remove code handling bio_alloc failure with __GFP_WAIT
    bio: add documentation to bio_alloc()
    splice: add helpers for locking pipe inode
    splice: remove generic_file_splice_write_nolock()
    ocfs2: fix i_mutex locking in ocfs2_splice_to_file()
    splice: fix i_mutex locking in generic_splice_write()
    splice: remove i_mutex locking in splice_from_pipe()
    splice: split up __splice_from_pipe()
    block: fix SG_IO to return a proper error value
    cfq-iosched: don't delay queue kick for a merged request
    ...

    Linus Torvalds
     

15 Apr, 2009

12 commits

  • * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc:
    powerpc: pseries/dtl.c should include asm/firmware.h
    powerpc: Fix data-corrupting bug in __futex_atomic_op
    powerpc/pseries: Set error_state to pci_channel_io_normal in eeh_report_reset()
    powerpc: Allow 256kB pages with SHMEM
    powerpc: Document new FSL I2C bindings and cleanup
    powerpc/mm: Fix compile warning
    powerpc/85xx: TQM8548: update defconfig
    powerpc/85xx: TQM8548: use proper phy-handles for enet2 and enet3
    powerpc/85xx: TQM85xx: correct address of LM75 I2C device nodes
    powerpc: Add support for early tlbilx opcode
    powerpc: Fix tlbilx opcode

    Linus Torvalds
     
  • There are lots of sequences like this, especially in splice code:

    if (pipe->inode)
    mutex_lock(&pipe->inode->i_mutex);
    /* do something */
    if (pipe->inode)
    mutex_unlock(&pipe->inode->i_mutex);

    so introduce helpers which do the conditional locking and unlocking.
    Also replace the inode_double_lock() call with a pipe_double_lock()
    helper to avoid spreading the use of this functionality beyond the
    pipe code.

    This patch is just a cleanup, and should cause no behavioral changes.

    Signed-off-by: Miklos Szeredi
    Signed-off-by: Jens Axboe

    Miklos Szeredi
     
  • Remove the now unused generic_file_splice_write_nolock() function.
    It's conceptually broken anyway, because splice may need to wait for
    pipe events so holding locks across the whole operation is wrong.

    Signed-off-by: Miklos Szeredi
    Signed-off-by: Jens Axboe

    Miklos Szeredi
     
  • Rearrange locking of i_mutex on destination and call to
    ocfs2_rw_lock() so locks are only held while buffers are copied with
    the pipe_to_file() actor, and not while waiting for more data on the
    pipe.

    Signed-off-by: Miklos Szeredi
    Signed-off-by: Jens Axboe

    Miklos Szeredi
     
  • Split up __splice_from_pipe() into four helper functions:

    splice_from_pipe_begin()
    splice_from_pipe_next()
    splice_from_pipe_feed()
    splice_from_pipe_end()

    splice_from_pipe_next() will wait (if necessary) for more buffers to
    be added to the pipe. splice_from_pipe_feed() will feed the buffers
    to the supplied actor and return when there's no more data available
    (or if all of the requested data has been copied).

    This is necessary so that implementations can do locking around the
    non-waiting splice_from_pipe_feed().

    This patch should not cause any change in behavior.

    Signed-off-by: Miklos Szeredi
    Signed-off-by: Jens Axboe

    Miklos Szeredi
     
  • * topic/hda:
    ALSA: hda - Add quirk mask for Fujitsu Amilo laptops with ALC883
    ALSA: hda - Avoid call of snd_jack_report at release
    ALSA: add private_data to struct snd_jack

    Takashi Iwai
     
  • * topic/jack-free-fix:
    ALSA: hda - Avoid call of snd_jack_report at release
    ALSA: add private_data to struct snd_jack

    Takashi Iwai
     
  • * 'master' of git://git.alsa-project.org/alsa-kernel:
    [ALSA] intel8x0: add one retry to the ac97_clock measurement routine
    [ALSA] intel8x0: fix wrong conditions in ac97_clock measure routine
    [ALSA] intel8x0: do not use zero value from PICB register
    [ALSA] intel8x0: an attempt to make ac97_clock measurement more reliable
    [ALSA] pcm-midlevel: Add more strict buffer position checks based on jiffies
    [ALSA] hda_intel: fix unexpected ring buffer positions

    Takashi Iwai
     
  • It's a somewhat twisty maze of hints and behavioural modifiers, try
    and clear it up a bit with some documentation.

    Signed-off-by: Jens Axboe

    Jens Axboe
     
  • It's used by DM and MD and generally useful, so move the bio list
    helpers into bio.h.

    Signed-off-by: Christoph Hellwig
    Acked-by: Alasdair G Kergon
    Signed-off-by: Jens Axboe

    Christoph Hellwig
     
  • * 'drm-intel-next' of git://git.kernel.org/pub/scm/linux/kernel/git/anholt/drm-intel:
    drm/i915: fix scheduling while holding the new active list spinlock
    drm/i915: Allow tiling of objects with bit 17 swizzling by the CPU.
    drm/i915: Correctly set the write flag for get_user_pages in pread.
    drm/i915: Fix use of uninitialized var in 40a5f0de
    drm/i915: indicate framebuffer restore key in SysRq help message
    drm/i915: sync hdmi detection by hdmi identifier with 2D
    drm/i915: Fix a mismerge of the IGD patch (new .find_pll hooks missed)
    drm/i915: Implement batch and ring buffer dumping

    Linus Torvalds
     
  • …/git/tip/linux-2.6-tip

    * 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    lockdep: warn about lockdep disabling after kernel taint, fix

    Linus Torvalds
     

14 Apr, 2009

9 commits

  • Updates some usb_serial_port members documentation.

    Signed-off-by: Leandro Dorileo
    Signed-off-by: Alan Cox
    Signed-off-by: Linus Torvalds

    Leandro Dorileo
     
  • Added private_data and private_free fields to struct snd_jack so that
    the caller can assign the data. It'll be helpful for avoiding the
    double-free of the jack instance.

    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • This patch fixes a hierarchical-RCU performance bug located by Anton
    Blanchard. The problem stems from a misguided attempt to provide a
    work-around for jiffies-counter failure. This work-around uses a per-CPU
    n_rcu_pending counter, which is incremented on each call to rcu_pending(),
    which in turn is called from each scheduling-clock interrupt. Each CPU
    then treats this counter as a surrogate for the jiffies counter, so
    that if the jiffies counter fails to advance, the per-CPU n_rcu_pending
    counter will cause RCU to invoke force_quiescent_state(), which in turn
    will (among other things) send resched IPIs to CPUs that have thus far
    failed to pass through an RCU quiescent state.

    Unfortunately, each CPU resets only its own counter after sending a
    batch of IPIs. This means that the other CPUs will also (needlessly)
    send -another- round of IPIs, for a full N-squared set of IPIs in the
    worst case every three scheduler-clock ticks until the grace period
    finally ends. It is not reasonable for a given CPU to reset each and
    every n_rcu_pending for all the other CPUs, so this patch instead simply
    disables the jiffies-counter "training wheels", thus eliminating the
    excessive IPIs.

    Note that the jiffies-counter IPIs do not have this problem due to
    the fact that the jiffies counter is global, so that the CPU sending
    the IPIs can easily reset things, thus preventing the other CPUs from
    sending redundant IPIs.

    Note also that the n_rcu_pending counter remains, as it will continue to
    be used for tracing. It may also see use to update the jiffies counter,
    should an appropriate kick-the-jiffies-counter API appear.

    Located-by: Anton Blanchard
    Tested-by: Anton Blanchard
    Signed-off-by: Paul E. McKenney
    Cc: anton@samba.org
    Cc: akpm@linux-foundation.org
    Cc: dipankar@in.ibm.com
    Cc: manfred@colorfullife.com
    Cc: cl@linux-foundation.org
    Cc: josht@linux.vnet.ibm.com
    Cc: schamp@sgi.com
    Cc: niv@us.ibm.com
    Cc: dvhltc@us.ibm.com
    Cc: ego@in.ibm.com
    Cc: laijs@cn.fujitsu.com
    Cc: rostedt@goodmis.org
    Cc: peterz@infradead.org
    Cc: penberg@cs.helsinki.fi
    Cc: andi@firstfloor.org
    Cc: "Paul E. McKenney"
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Paul E. McKenney
     
  • Impact: build fix for Sparc and s390

    Stephen Rothwell reported that the Sparc build broke:

    In file included from kernel/panic.c:12:
    include/linux/debug_locks.h: In function '__debug_locks_off':
    include/linux/debug_locks.h:15: error: implicit declaration of function 'xchg'

    due to:

    9eeba61: lockdep: warn about lockdep disabling after kernel taint

    There is some inconsistency between architectures about where exactly
    xchg() is defined.

    The traditional place is in system.h but the more logical point for it
    is in atomic.h - where most architectures (especially new ones) have
    it defined. These architecture also still offer it via system.h.

    Some, such as Sparc or s390 only have it in asm/system.h and not available
    via asm/atomic.h at all.

    Use the widest set of headers in debug_locks.h and also include asm/system.h.

    Reported-by: Stephen Rothwell
    Cc: Frederic Weisbecker
    Cc: "David S. Miller"
    Cc: Linus Torvalds
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Ingo Molnar
     
  • Support the Intel 854 Chipset in fbdev.

    We test and use the patch on a Thomson IP1101 IPTV-Box. On the VGA-Port
    we get a normal signal.

    Here is the link to the Mambux-Project: http://www.mambux.de

    Cc: Keith Packard
    Cc: Dave Airlie
    Cc: Krzysztof Helt
    Signed-off-by: Stefan Husemann
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Stefan Husemann
     
  • commit ddb53d48da5b0e691f35e703ac29118747f86c99 ("fbdev: remove cyblafb
    driver") removed drivers/video/cyblafb.c, but not its .h file

    Signed-off-by: Joe Perches
    Cc: Krzysztof Helt
    Cc: "Jani Monoses"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • Impact: (nearly) trivial

    The patch

    commit da654b74bda14c45a7d98c731bf3c1a43b6b74e2
    Author: Srinivasa Ds
    Date: Tue Sep 23 15:23:52 2008 +0530

    signals: demultiplexing SIGTRAP signal

    forgot to update the NSIGTRAP define in asm-generic/siginfo.h to the new
    number of sigtrap subcodes. Nothing in the tree seems to use it, but
    presumably something in user space might. So update it.

    Cc: Srinivasa Ds
    Signed-off-by: Andi Kleen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andi Kleen
     
  • Include in fiemap.h. Sam Ravnborg pointed out that this
    was missing in this newly-exported header which uses the __u32 and __u64
    types.

    Signed-off-by: Eric Sandeen
    Cc: Sam Ravnborg
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Eric Sandeen
     
  • Unused after 20dcae32439384b6863c626bb3b2a09bed65b33e aka
    "[PATCH] aio: remove kioctx from mm_struct".

    Signed-off-by: Alexey Dobriyan
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexey Dobriyan