13 Dec, 2006

1 commit

  • This interface was useless as the LPC ISA-like interface is always
    available, is faster, and is more reliable. This cuts the driver
    size by some 20%.

    This change is also required to later convert the it87 driver to a
    platform driver, so that we can get rid of i2c-isa in a near future.

    Signed-off-by: Jean Delvare

    Jean Delvare
     

10 Dec, 2006

2 commits

  • General compile fixes for 2.6.16 for sun3, and some updates to make the new
    bootloader work correctly. Tested on 3/50, 3/60, 3/80.

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

    Sam Creasey
     
  • * master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:
    [NETLINK]: Put {IFA,IFLA}_{RTA,PAYLOAD} macros back for userspace.
    [NET_SCHED] sch_htb: turn intermediate classes into leaves
    [NET_SCHED] sch_cbq: deactivating when grafting, purging etc.
    [XFRM]: Fix XFRMGRP_REPORT to use correct multicast group.
    [NET]: Force a cache line split in hh_cache in SMP.
    [NETPOLL]: make arp replies through netpoll use mac address of sender
    [NETLINK]: Restore API compatibility of address and neighbour bits
    [AX.25]: Fix default address and broadcast address initialization.
    [AX.25]: Constify ax25 utility functions
    [BNX2]: Add an error check.
    [NET]: Convert hh_lock to seqlock.

    Linus Torvalds
     

09 Dec, 2006

37 commits

  • GLIBC uses them etc.

    They are guarded by ifndef __KERNEL__ so nobody will start
    accidently using them in the kernel again, it's just for
    userspace.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • XFRMGRP_REPORT uses 0x10 which is a group that belongs
    to events. The correct value is 0x20.
    We should really be using xfrm_nlgroups going forward; it was tempting
    to delete the definition of XFRMGRP_REPORT but it would break at
    least iproute2.

    Signed-off-by: J Hadi Salim
    Signed-off-by: David S. Miller

    J Hadi Salim
     
  • hh_lock was converted from rwlock to seqlock by Stephen.

    To have a 100% benefit of this change, I suggest to place read mostly fields
    of hh_cache in a separate cache line, because hh_refcnt may be changed quite
    frequently on some busy machines.

    Signed-off-by: Eric Dumazet
    Signed-off-by: David S. Miller

    Eric Dumazet
     
  • Restore API compatibility due to bits moved from rtnetlink.h to
    separate headers.

    Signed-off-by: Thomas Graf
    Signed-off-by: David S. Miller

    Thomas Graf
     
  • Only the callsign but not the SSID part of an AX.25 address is ASCII
    based but Linux by initializes the SSID which should be just a 4-bit
    number from ASCII anyway.

    Fix that and convert the code to use a shared constant for both default
    addresses. While at it, use the same style for null_ax25_address also.

    Signed-off-by: Ralf Baechle
    Signed-off-by: David S. Miller

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

    Ralf Baechle
     
  • The hard header cache is in the main output path, so using
    seqlock instead of reader/writer lock should reduce overhead.

    Signed-off-by: Stephen Hemminger
    Signed-off-by: David S. Miller

    Stephen Hemminger
     
  • Signed-off-by: Vitaly Wool
    Signed-off-by: Ralf Baechle

    Vitaly Wool
     
  • Signed-off-by: Thomas Bogendoerfer
    Signed-off-by: Ralf Baechle

    Thomas Bogendoerfer
     
  • * 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6:
    [S390] Poison init section before freeing it.
    [S390] Use add_active_range() and free_area_init_nodes().
    [S390] Virtual memmap for s390.
    [S390] Update documentation for dynamic subchannel mapping.
    [S390] Use dev->groups for adding/removing the subchannel attribute group.
    [S390] Support for disconnected devices reappearing on another subchannel.
    [S390] subchannel lock conversion.
    [S390] Some preparations for the dynamic subchannel mapping patch.
    [S390] runtime switch for qdio performance statistics
    [S390] New DASD feature for ERP related logging
    [S390] add reset call handler to the ap bus.
    [S390] more workqueue fixes.
    [S390] workqueue fixes.
    [S390] uaccess_pt: add missing down_read() and convert to is_init().

    Linus Torvalds
     
  • pb_fnmode parameter has to be passed to usbhid, both for compatibility reasons
    and also because it logically belongs there.

    Also removes empty hid-input.c file in drivers/usb/input.

    Signed-off-by: Jiri Kosina
    Signed-off-by: Marcel Holtmann
    Cc: Dmitry Torokhov
    Signed-off-by: Greg Kroah-Hartman

    Jiri Kosina
     
  • hid_input_report() was needlessly USB-specific in USB HID. This patch
    makes the function independent of HID implementation and fixes all
    the current users. Bluetooth patches comply with this prototype.

    Signed-off-by: Jiri Kosina
    Signed-off-by: Marcel Holtmann
    Cc: Dmitry Torokhov
    Signed-off-by: Greg Kroah-Hartman

    Jiri Kosina
     
  • - hiddev is USB-only (agreed with Marcel Holtmann that Bluetooth currently
    doesn't need it, and future planned interface (rawhid) will be more flexible
    and usable)
    - both HID and USB-hid can be now compiled as modules (wasn't possible before
    hiddev was fully separated from generic HID layer)

    Signed-off-by: Jiri Kosina
    Signed-off-by: Marcel Holtmann
    Cc: Dmitry Torokhov
    Signed-off-by: Greg Kroah-Hartman

    Jiri Kosina
     
  • - 'dev' in struct hid_device changed from struct usb_device to
    struct device and fixed all the users
    - renamed functions which are part of USB HID API from 'hid_*' to
    'usbhid_*'
    - force feedback initialization moved from common part into USB-specific
    driver
    - added usbhid.h header for USB HID API users
    - removed USB-specific fields from struct hid_device and moved them
    to new usbhid_device, which is pointed to by hid_device->driver_data
    - fixed all USB users to use this new structure

    Signed-off-by: Jiri Kosina
    Signed-off-by: Marcel Holtmann
    Cc: Dmitry Torokhov
    Signed-off-by: Greg Kroah-Hartman

    Jiri Kosina
     
  • - fixed generic API (added neccessary EXPORT_SYMBOL, fixed hid.h to provide correct
    prototypes)
    - extended hid_device with open/close/event function pointers to driver-specific
    functions
    - added driver specific driver_data to hid_device

    Signed-off-by: Jiri Kosina
    Signed-off-by: Marcel Holtmann
    Cc: Dmitry Torokhov
    Signed-off-by: Greg Kroah-Hartman

    Jiri Kosina
     
  • The "big main" split of USB HID code into generic HID code and
    USB-transport specific HID handling.

    Signed-off-by: Jiri Kosina
    Signed-off-by: Marcel Holtmann
    Cc: Dmitry Torokhov
    Signed-off-by: Greg Kroah-Hartman

    Jiri Kosina
     
  • In device-mapper I/O is sometimes queued within targets for later processing.
    For example the multipath target can be configured to store I/O when no paths
    are available instead of returning it -EIO.

    This patch allows the device-mapper core to instruct a target to transfer the
    contents of any such in-target queue back into the core. This frees up the
    resources used by the target so the core can replace that target with an
    alternative one and then resend the I/O to it. Without this patch the only
    way to change the target in such circumstances involves returning the I/O with
    an error back to the filesystem/application. In the multipath case, this
    patch will let us add new paths for existing I/O to try after all the existing
    paths have failed.

    DMF_NOFLUSH_SUSPENDING
    ----------------------

    If the DM_NOFLUSH_FLAG ioctl option is specified at suspend time, the
    DMF_NOFLUSH_SUSPENDING flag is set in md->flags during dm_suspend(). It
    is always cleared before dm_suspend() returns.

    The flag must be visible while the target is flushing pending I/Os so it
    is set before presuspend where the flush starts and unset after the wait
    for md->pending where the flush ends.

    Target drivers can check this flag by calling dm_noflush_suspending().

    DM_MAPIO_REQUEUE / DM_ENDIO_REQUEUE
    -----------------------------------

    A target's map() function can now return DM_MAPIO_REQUEUE to request the
    device mapper core queue the bio.

    Similarly, a target's end_io() function can return DM_ENDIO_REQUEUE to request
    the same. This has been labelled 'pushback'.

    The __map_bio() and clone_endio() functions in the core treat these return
    values as errors and call dec_pending() to end the I/O.

    dec_pending
    -----------

    dec_pending() saves the pushback request in struct dm_io->error. Once all
    the split clones have ended, dec_pending() will put the original bio on
    the md->pushback list. Note that this supercedes any I/O errors.

    It is possible for the suspend with DM_NOFLUSH_FLAG to be aborted while
    in progress (e.g. by user interrupt). dec_pending() checks for this and
    returns -EIO if it happened.

    pushdback list and pushback_lock
    --------------------------------

    The bio is queued on md->pushback temporarily in dec_pending(), and after
    all pending I/Os return, md->pushback is merged into md->deferred in
    dm_suspend() for re-issuing at resume time.

    md->pushback_lock protects md->pushback.
    The lock should be held with irq disabled because dec_pending() can be
    called from interrupt context.

    Queueing bios to md->pushback in dec_pending() must be done atomically
    with the check for DMF_NOFLUSH_SUSPENDING flag. So md->pushback_lock is
    held when checking the flag. Otherwise dec_pending() may queue a bio to
    md->pushback after the interrupted dm_suspend() flushes md->pushback.
    Then the bio would be left in md->pushback.

    Flag setting in dm_suspend() can be done without md->pushback_lock because
    the flag is checked only after presuspend and the set value is already
    made visible via the target's presuspend function.

    The flag can be checked without md->pushback_lock (e.g. the first part of
    the dec_pending() or target drivers), because the flag is checked again
    with md->pushback_lock held when the bio is really queued to md->pushback
    as described above. So even if the flag is cleared after the lockless
    checkings, the bio isn't left in md->pushback but returned to applications
    with -EIO.

    Other notes on the current patch
    --------------------------------

    - md->pushback is added to the struct mapped_device instead of using
    md->deferred directly because md->io_lock which protects md->deferred is
    rw_semaphore and can't be used in interrupt context like dec_pending(),
    and md->io_lock protects the DMF_BLOCK_IO flag of md->flags too.

    - Don't issue lock_fs() in dm_suspend() if the DM_NOFLUSH_FLAG
    ioctl option is specified, because I/Os generated by lock_fs() would be
    pushed back and never return if there were no valid devices.

    - If an error occurs in dm_suspend() after the DMF_NOFLUSH_SUSPENDING
    flag is set, md->pushback must be flushed because I/Os may be queued to
    the list already. (flush_and_out label in dm_suspend())

    Test results
    ------------

    I have tested using multipath target with the next patch.

    The following tests are for regression/compatibility:
    - I/Os succeed when valid paths exist;
    - I/Os fail when there are no valid paths and queue_if_no_path is not
    set;
    - I/Os are queued in the multipath target when there are no valid paths and
    queue_if_no_path is set;
    - The queued I/Os above fail when suspend is issued without the
    DM_NOFLUSH_FLAG ioctl option. I/Os spanning 2 multipath targets also
    fail.

    The following tests are for the normal code path of new pushback feature:
    - Queued I/Os in the multipath target are flushed from the target
    but don't return when suspend is issued with the DM_NOFLUSH_FLAG
    ioctl option;
    - The I/Os above are queued in the multipath target again when
    resume is issued without path recovery;
    - The I/Os above succeed when resume is issued after path recovery
    or table load;
    - Queued I/Os in the multipath target succeed when resume is issued
    with the DM_NOFLUSH_FLAG ioctl option after table load. I/Os
    spanning 2 multipath targets also succeed.

    The following tests are for the error paths of the new pushback feature:
    - When the bdget_disk() fails in dm_suspend(), the
    DMF_NOFLUSH_SUSPENDING flag is cleared and I/Os already queued to the
    pushback list are flushed properly.
    - When suspend with the DM_NOFLUSH_FLAG ioctl option is interrupted,
    o I/Os which had already been queued to the pushback list
    at the time don't return, and are re-issued at resume time;
    o I/Os which hadn't been returned at the time return with EIO.

    Signed-off-by: Kiyoshi Ueda
    Signed-off-by: Jun'ichi Nomura
    Signed-off-by: Alasdair G Kergon
    Cc: dm-devel@redhat.com
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kiyoshi Ueda
     
  • Provide a dm ioctl option to request noflush suspending. (See next patch for
    what this is for.) As the interface is extended, the version number is
    incremented.

    Other than accepting the new option through the interface, There is no change
    to existing behaviour.

    Test results:
    Confirmed the option is given from user-space correctly.

    Signed-off-by: Kiyoshi Ueda
    Signed-off-by: Jun'ichi Nomura
    Signed-off-by: Alasdair G Kergon
    Cc: dm-devel@redhat.com
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kiyoshi Ueda
     
  • Tighten the use of return values from the target map and end_io functions.
    Values of 2 and above are now explictly reserved for future use. There are no
    existing targets using such values.

    The patch has no effect on existing behaviour.

    o Reserve return values of 2 and above from target map functions.
    Any positive value currently indicates "mapping complete", but all
    existing drivers use the value 1. We now make that a requirement
    so we can assign new meaning to higher values in future.

    The new definition of return values from target map functions is:
    < 0 : error
    = 0 : The target will handle the io (DM_MAPIO_SUBMITTED).
    = 1 : Mapping completed (DM_MAPIO_REMAPPED).
    > 1 : Reserved (undefined). Previously this was the same as '= 1'.

    o Reserve return values of 2 and above from target end_io functions
    for similar reasons.
    DM_ENDIO_INCOMPLETE is introduced for a return value of 1.

    Test results:

    I have tested by using the multipath target.

    I/Os succeed when valid paths exist.

    I/Os are queued in the multipath target when there are no valid paths and
    queue_if_no_path is set.

    I/Os fail when there are no valid paths and queue_if_no_path is not set.

    Signed-off-by: Kiyoshi Ueda
    Signed-off-by: Jun'ichi Nomura
    Signed-off-by: Alasdair G Kergon
    Cc: dm-devel@redhat.com
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kiyoshi Ueda
     
  • Change the interface of dm_suspend() so that we can pass several options
    without increasing the number of parameters. The existing 'do_lockfs' integer
    parameter is replaced by a flag DM_SUSPEND_LOCKFS_FLAG.

    There is no functional change to the code.

    Test results:
    I have tested 'dmsetup suspend' command with/without the '--nolockfs'
    option and confirmed the do_lockfs value is correctly set.

    Signed-off-by: Kiyoshi Ueda
    Signed-off-by: Jun'ichi Nomura
    Signed-off-by: Alasdair G Kergon
    Cc: dm-devel@redhat.com
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kiyoshi Ueda
     
  • Signed-off-by: Mariusz Kozlowski
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mariusz Kozlowski
     
  • This patch adds a way to create and use the video plane (YUV overlay) and
    scaling video scaling features of the chip.

    The overlay is configured, resized and modified using a device specific
    ioctl.

    Also included in this patch:
    - If no platform data was passed, print an error and exit instead of crashing.
    - Added a write_reg(_dly) macro. This improves readability when
    manipulating chip registers. (no more udelay() after each write).
    - Comments about some issues.

    Signed-off-by: Raphael Assenat
    Cc: "Antonino A. Daplas"
    Acked-by: James Simmons
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Raphael Assenat
     
  • - Mark the default colormaps read-only, as nobody should be allowed to
    modify them

    - Additionally mark color values as __read_mostly since they will only be
    modified (very seldom) by fb_invert_cmaps()

    - Add named C99-initializers in fb_cmap structs and use the ARRAY_SIZE()
    macro

    Signed-off-by: Helge Deller
    Acked-by: James Simmons
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Helge Deller
     
  • This patch adds support for stn displays on the s3c2410 arm SoC.

    The LCD type is choosen by a new field in the s3c2410fb_mach_info structure
    and its value is the value of the PNRMODE bits. This worth to be noted as
    a value of 0 means that you configure a 4 bit dual scan stn display.

    Signed-off-by: Arnaud Patard
    Cc: "Antonino A. Daplas"
    Cc: Russell King
    Cc: Ben Dooks
    Acked-by: James Simmons
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Arnaud Patard (Rtp
     
  • This completes IDE except for one use which requires a new core PCI function
    and will be polished up at the end

    Signed-off-by: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alan Cox
     
  • Assign defaults most likely to please a new user:
    1) generate some logging output
    (verbose=2)
    2) avoid injecting failures likely to lock up UI
    (ignore_gfp_wait=1, ignore_gfp_highmem=1)

    Signed-off-by: Don Mullis
    Cc: Akinobu Mita
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Don Mullis
     
  • Use bool-true-false throughout.

    Signed-off-by: Don Mullis
    Cc: Akinobu Mita
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Don Mullis
     
  • This patch provides stacktrace filtering feature.

    The stacktrace filter allows failing only for the caller you are
    interested in.

    For example someone may want to inject kmalloc() failures into
    only e100 module. they want to inject not only direct kmalloc() call,
    but also indirect allocation, too.

    - e100_poll --> netif_receive_skb --> packet_rcv_spkt --> skb_clone
    --> kmem_cache_alloc

    This patch enables to detect function calls like this by stacktrace
    and inject failures. The script Documentaion/fault-injection/failmodule.sh
    helps it.

    The range of text section of loaded e100 is expected to be
    [/sys/module/e100/sections/.text, /sys/module/e100/sections/.exit.text)

    So failmodule.sh stores these values into /debug/failslab/address-start
    and /debug/failslab/address-end. The maximum stacktrace depth is specified
    by /debug/failslab/stacktrace-depth.

    Please see the example that demonstrates how to inject slab allocation
    failures only for a specific module
    in Documentation/fault-injection/fault-injection.txt

    [dwm@meer.net: reject failure if any caller lies within specified range]
    Signed-off-by: Akinobu Mita
    Signed-off-by: Don Mullis
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Akinobu Mita
     
  • This patch provides process filtering feature.
    The process filter allows failing only permitted processes
    by /proc//make-it-fail

    Please see the example that demostrates how to inject slab allocation
    failures into module init/cleanup code
    in Documentation/fault-injection/fault-injection.txt

    Signed-off-by: Akinobu Mita
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Akinobu Mita
     
  • This patch provides fault-injection capability for disk IO.

    Boot option:

    fail_make_request=,,,

    -- specifies the interval of failures.

    -- specifies how often it should fail in percent.

    -- specifies the size of free space where disk IO can be issued
    safely in bytes.

    -- specifies how many times failures may happen at most.

    Debugfs:

    /debug/fail_make_request/interval
    /debug/fail_make_request/probability
    /debug/fail_make_request/specifies
    /debug/fail_make_request/times

    Example:

    fail_make_request=10,100,0,-1
    echo 1 > /sys/blocks/hda/hda1/make-it-fail

    generic_make_request() on /dev/hda1 fails once per 10 times.

    Cc: Jens Axboe
    Signed-off-by: Akinobu Mita
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Akinobu Mita
     
  • This patch provides base functions implement to fault-injection
    capabilities.

    - The function should_fail() is taken from failmalloc-1.0
    (http://www.nongnu.org/failmalloc/)

    [akpm@osdl.org: cleanups, comments, add __init]
    Cc:
    Signed-off-by: Akinobu Mita
    Signed-off-by: Don Mullis
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Akinobu Mita
     
  • - wipe gcc -W warnings by int -> uint conversion
    - move 2 global variables into their local place

    Signed-off-by: Jiri Slaby
    Cc: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jiri Slaby
     
  • Use only struct instead of defining a new type .

    Signed-off-by: Jiri Slaby
    Cc: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jiri Slaby
     
  • - fix `gcc -W' un/signed warnings by converting some ints -> uints.
    - move 3 global variables into functions, where are they used.

    Signed-off-by: Jiri Slaby
    Cc: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jiri Slaby
     
  • This turns on the split input/output speed features and arbitary baud rate
    handling for the x86-64 platform. Nothing should break if you use existing
    standard speeds. If you use the new speed stuff then you may see some
    drivers failing to report the speed changes properly in error cases. This
    will be worked on further. For the working cases this all seems happy.
    I'll post a test suite used to test the basic stuff as well.

    Patches for i386 will follow when I get a moment but are basically the
    same. If people could patch/test-suite other architectures and submit them
    that would be great.

    Signed-off-by: Alan Cox
    Cc: Andi Kleen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alan Cox
     
  • This is the grungy swap all the occurrences in the right places patch that
    goes with the updates. At this point we have the same functionality as
    before (except that sgttyb() returns speeds not zero) and are ready to
    begin turning new stuff on providing nobody reports lots of bugs

    If you are a tty driver author converting an out of tree driver the only
    impact should be termios->ktermios name changes for the speed/property
    setting functions from your upper layers.

    If you are implementing your own TCGETS function before then your driver
    was broken already and its about to get a whole lot more painful for you so
    please fix it 8)

    Also fill in c_ispeed/ospeed on init for most devices, although the current
    code will do this for you anyway but I'd like eventually to lose that extra
    paranoia

    [akpm@osdl.org: bluetooth fix]
    [mp3@de.ibm.com: sclp fix]
    [mp3@de.ibm.com: warning fix for tty3270]
    [hugh@veritas.com: fix tty_ioctl powerpc build]
    [jdike@addtoit.com: uml: fix ->set_termios declaration]
    Signed-off-by: Alan Cox
    Signed-off-by: Martin Peschke
    Acked-by: Peter Oberparleiter
    Cc: Cornelia Huck
    Signed-off-by: Hugh Dickins
    Signed-off-by: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alan Cox
     
  • This is the core of the switch to the new framework. I've split it from the
    driver patches which are mostly search/replace and would encourage people to
    give this one a good hard stare.

    The references to BOTHER and ISHIFT are the termios values that must be
    defined by a platform once it wants to turn on "new style" ioctl support. The
    code patches here ensure that providing

    1. The termios overlays the ktermios in memory
    2. The only new kernel only fields are c_ispeed/c_ospeed (or none)

    the existing behaviour is retained. This is true for the patches at this
    point in time.

    Future patches will define BOTHER, ISHIFT and enable newer termios structures
    for each architecture, and once they are all done some of the ifdefs also
    vanish.

    [akpm@osdl.org: warning fix]
    [akpm@osdl.org: IRDA fix]
    Signed-off-by: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alan Cox