25 Oct, 2010

40 commits

  • Most wrappers around the channel subsystem call have their own logic
    to allocate memory (with proper alignment) or use preallocated or
    static memory. This patch converts most users of the channel
    subsystem call to use the same preallocated page (proteced by a
    spinlock).

    Note: The sei_page which is used in our crw handler to call
    "store event information" has to coexist, since
    a) in crw context, while accessing the sei_page, sleeping is allowed
    (which will conflict with the spinlock protection of the chsc_page)
    b) in crw context, while accessing the sei_page, channel subsystem
    calls are allowed (which itself would require the page).

    Signed-off-by: Sebastian Ott
    Signed-off-by: Martin Schwidefsky

    Sebastian Ott
     
  • This patch fixes:
    * kfree vs. free_page usage
    * structure definition for determine_css_characteristics
    * naming convention for the chsc init function
    * deregistration of crw handlers in the cleanup path

    Signed-off-by: Sebastian Ott
    Signed-off-by: Martin Schwidefsky

    Sebastian Ott
     
  • Serialize access to members of struct channel_path with a mutex.

    Signed-off-by: Sebastian Ott
    Signed-off-by: Martin Schwidefsky

    Sebastian Ott
     
  • If a ccwdevice is lost during hibernation and a different
    ccwdevice is attached to the same subchannel, we will
    deregister the old ccw device and register the new one.

    Since deregistration is not allowed in this context, we
    handle this action later. However, some parts of the
    registration process for the new device were started anyway,
    so that the old device structure is no longer accessible.

    Fix this by deferring both actions to the afterwards
    scheduled subchannel event.

    Signed-off-by: Sebastian Ott
    Signed-off-by: Martin Schwidefsky

    Sebastian Ott
     
  • Signed-off-by: Andy Shevchenko
    Signed-off-by: Martin Schwidefsky

    Andy Shevchenko
     
  • The dasd_eckd_dump_sense_dbf function uses a macro for s390 debug
    feature that can handle up to 8 parameters (for the DASD device
    driver).
    Fix the function to use only the maximum number of parameters.

    Signed-off-by: Stefan Haberland
    Signed-off-by: Martin Schwidefsky

    Stefan Haberland
     
  • fix this sparse warning:

    drivers/s390/cio/css.c:580:6: warning: symbol 'css_schedule_eval_all_unreg'
    was not declared. Should it be static?

    Signed-off-by: Sebastian Ott
    Signed-off-by: Martin Schwidefsky

    Sebastian Ott
     
  • If the iucv_register() functions fails, the error recovery calls
    iucv_unregister() which might cause the following stack backtrace:

    ( show_trace+0xee/0x144)
    panic+0xb6/0x248
    die+0x15a/0x16c
    do_no_context+0xa6/0xe4
    do_protection_exception+0x2e8/0x3a4
    pgm_exit+0x0/0x14
    iucv_unregister+0x5a/0x17c
    ( iucv_unregister+0x4a/0x17c)
    hvc_iucv_init+0x228/0x5dc
    do_one_initcall+0x3e/0x19c
    kernel_init+0x28e/0x404
    kernel_thread_starter+0x6/0xc
    kernel_thread_starter+0x0/0xc

    Remove the call to iucv_unregister() and remove the goto label
    as unregistering is the last step in the hvc_iucv initialization.
    If iucv_register() fails, simply clean up hvc terminals and free
    resources.

    Signed-off-by: Hendrik Brueckner
    Signed-off-by: Martin Schwidefsky

    Hendrik Brueckner
     
  • When the cmm module is compiled into the kernel it will crash when
    writing to the R/O data section.
    Reason is the lower to upper case conversion of the "sender" module
    parameter which ignored the fact that the pointer is preinitialized.

    Introduced with 41b42876 "cmm, smsgiucv_app: convert sender to
    uppercase"

    Signed-off-by: Heiko Carstens
    Signed-off-by: Martin Schwidefsky

    Heiko Carstens
     
  • Signed-off-by: Joe Perches
    Signed-off-by: Martin Schwidefsky

    Joe Perches
     
  • schedule() makes sure that prev != next before calling switch_to().
    Therefore remove the redundant check.

    Signed-off-by: Heiko Carstens
    Signed-off-by: Martin Schwidefsky

    Heiko Carstens
     
  • If the previous task was a kernel thread there is no need to save the
    contents of the fpu and access registers since they aren't used in
    kernel mode.
    For the same reason it is not necessary to restore these registers if
    the next task is a kernel thread.

    Signed-off-by: Heiko Carstens
    Signed-off-by: Martin Schwidefsky

    Heiko Carstens
     
  • Add a kernel config option for the IBM zEnterprise 196. This will
    produce faster code on newer compilers using the -march=z196 option.

    Signed-off-by: Heiko Carstens
    Signed-off-by: Martin Schwidefsky

    Heiko Carstens
     
  • Display machine capacity adjustment indicator and capacity
    change reason if available in /proc/sysinfo.

    Signed-off-by: Heiko Carstens
    Signed-off-by: Martin Schwidefsky

    Heiko Carstens
     
  • Add the new instructions introduced with z196 to the kernel disassembler.

    Signed-off-by: Martin Schwidefsky

    Martin Schwidefsky
     
  • Improve performance of the sske operation by using the nonquiescing
    variant if the affected page has no mappings established. On machines
    with no support for the new sske variant the mask bit will be ignored.

    Signed-off-by: Martin Schwidefsky

    Martin Schwidefsky
     
  • Use the store indication bit in the translation exception code on
    page faults to avoid the protection faults that immediatly follow
    the page fault if the access has been a write.

    Signed-off-by: Martin Schwidefsky

    Martin Schwidefsky
     
  • There is no difference if cpu_die is called from enabled or disabled
    context. Except that the fast_gup code might be called via
    cpu_die -> idle_task_exit -> __mm_drop -> crst_table_free. Which in
    turn grabs and releases a spinlock using the _bh ops, which is not
    allowed in irq disabled context, since spin_unlock_bh will
    unconditionally enable interrupts again.
    To get rid of the warning emitted by the softirq code just move the
    code to enabled context.

    In this case this doesn't fix a bug, we just get rid of a warning.

    Signed-off-by: Heiko Carstens
    Signed-off-by: Martin Schwidefsky

    Heiko Carstens
     
  • Implement get_user_pages_fast without locking in the fastpath on s390.

    Signed-off-by: Martin Schwidefsky

    Martin Schwidefsky
     
  • Set ARCH_HAS_SG_CHAIN for scatter lists on s390. Without this flag the
    SCSI code limits the maximum number of segments, so set it to make
    proper use of the FCP channel hardware.

    Signed-off-by: Christof Schmitt
    Signed-off-by: Martin Schwidefsky

    Christof Schmitt
     
  • Introducing this Kbuild file allow us to:

    make arch/s390/

    And thus building all the core part of s390.
    Same as on other architectures.

    Signed-off-by: Heiko Carstens
    Signed-off-by: Martin Schwidefsky

    Heiko Carstens
     
  • The usual way to recover a failed DASD ECKD request (cqr) is to create
    a new request with an appropriate recovery CCW program. Certain
    features, e.g. failfast, can be enabled per request and are stored in
    the requests flags. These flags have to be copied from the failed to
    the recovery request, to let the recovery request use the same
    features as the original one.

    Signed-off-by: Stefan Weinhuber
    Signed-off-by: Martin Schwidefsky

    Stefan Weinhuber
     
  • If the zero page is mapped to virtual user space addresses that differ
    only in bit 2^12 or 2^13 we get L1 cache synonyms which can affect
    performance. Follow the mips model and use multiple zero pages to avoid
    the synonyms.

    Signed-off-by: Martin Schwidefsky

    Martin Schwidefsky
     
  • * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (39 commits)
    Update broken web addresses in arch directory.
    Update broken web addresses in the kernel.
    Revert "drivers/usb: Remove unnecessary return's from void functions" for musb gadget
    Revert "Fix typo: configuation => configuration" partially
    ida: document IDA_BITMAP_LONGS calculation
    ext2: fix a typo on comment in ext2/inode.c
    drivers/scsi: Remove unnecessary casts of private_data
    drivers/s390: Remove unnecessary casts of private_data
    net/sunrpc/rpc_pipe.c: Remove unnecessary casts of private_data
    drivers/infiniband: Remove unnecessary casts of private_data
    drivers/gpu/drm: Remove unnecessary casts of private_data
    kernel/pm_qos_params.c: Remove unnecessary casts of private_data
    fs/ecryptfs: Remove unnecessary casts of private_data
    fs/seq_file.c: Remove unnecessary casts of private_data
    arm: uengine.c: remove C99 comments
    arm: scoop.c: remove C99 comments
    Fix typo configue => configure in comments
    Fix typo: configuation => configuration
    Fix typo interrest[ing|ed] => interest[ing|ed]
    Fix various typos of valid in comments
    ...

    Fix up trivial conflicts in:
    drivers/char/ipmi/ipmi_si_intf.c
    drivers/usb/gadget/rndis.c
    net/irda/irnet/irnet_ppp.c

    Linus Torvalds
     
  • * 'devel' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/edac: (25 commits)
    i7300_edac: Properly initialize per-csrow memory size
    V4L/DVB: i7300_edac: better initialize page counts
    MAINTAINERS: Add maintainer for i7300-edac driver
    i7300-edac: CodingStyle cleanup
    i7300_edac: Improve comments
    i7300_edac: Cleanup: reorganize the file contents
    i7300_edac: Properly detect channel on CE errors
    i7300_edac: enrich FBD error info for corrected errors
    i7300_edac: enrich FBD error info for fatal errors
    i7300_edac: pre-allocate a buffer used to prepare err messages
    i7300_edac: Fix MTR x4/x8 detection logic
    i7300_edac: Make the debug messages coherent with the others
    i7300_edac: Cleanup: remove get_error_info logic
    i7300_edac: Add a code to cleanup error registers
    i7300_edac: Add support for reporting FBD errors
    i7300_edac: Properly detect the type of error correction
    i7300_edac: Detect if the device is on single mode
    i7300_edac: Adds detection for enhanced scrub mode on x8
    i7300_edac: Clear the error bit after reading
    i7300_edac: Add error detection code for global errors
    ...

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6: (27 commits)
    SLUB: Fix memory hotplug with !NUMA
    slub: Move functions to reduce #ifdefs
    slub: Enable sysfs support for !CONFIG_SLUB_DEBUG
    SLUB: Optimize slab_free() debug check
    slub: Move NUMA-related functions under CONFIG_NUMA
    slub: Add lock release annotation
    slub: Fix signedness warnings
    slub: extract common code to remove objects from partial list without locking
    SLUB: Pass active and inactive redzone flags instead of boolean to debug functions
    slub: reduce differences between SMP and NUMA
    Revert "Slub: UP bandaid"
    percpu: clear memory allocated with the km allocator
    percpu: use percpu allocator on UP too
    percpu: reduce PCPU_MIN_UNIT_SIZE to 32k
    vmalloc: pcpu_get/free_vm_areas() aren't needed on UP
    SLUB: Fix merged slab cache names
    Slub: UP bandaid
    slub: fix SLUB_RESILIENCY_TEST for dynamic kmalloc caches
    slub: Fix up missing kmalloc_cache -> kmem_cache_node case for memoryhotplug
    slub: Add dummy functions for the !SLUB_DEBUG case
    ...

    Linus Torvalds
     
  • * 'kvm-updates/2.6.37' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (321 commits)
    KVM: Drop CONFIG_DMAR dependency around kvm_iommu_map_pages
    KVM: Fix signature of kvm_iommu_map_pages stub
    KVM: MCE: Send SRAR SIGBUS directly
    KVM: MCE: Add MCG_SER_P into KVM_MCE_CAP_SUPPORTED
    KVM: fix typo in copyright notice
    KVM: Disable interrupts around get_kernel_ns()
    KVM: MMU: Avoid sign extension in mmu_alloc_direct_roots() pae root address
    KVM: MMU: move access code parsing to FNAME(walk_addr) function
    KVM: MMU: audit: check whether have unsync sps after root sync
    KVM: MMU: audit: introduce audit_printk to cleanup audit code
    KVM: MMU: audit: unregister audit tracepoints before module unloaded
    KVM: MMU: audit: fix vcpu's spte walking
    KVM: MMU: set access bit for direct mapping
    KVM: MMU: cleanup for error mask set while walk guest page table
    KVM: MMU: update 'root_hpa' out of loop in PAE shadow path
    KVM: x86 emulator: Eliminate compilation warning in x86_decode_insn()
    KVM: x86: Fix constant type in kvm_get_time_scale
    KVM: VMX: Add AX to list of registers clobbered by guest switch
    KVM guest: Move a printk that's using the clock before it's ready
    KVM: x86: TSC catchup mode
    ...

    Linus Torvalds
     
  • * 'i2c-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging:
    i2c-viapro: Don't log nacks
    i2c/pca954x: Remove __devinit and __devexit from probe and remove functions
    MAINTAINERS: Add maintainer for PCA9541 I2C bus master selector driver
    i2c/mux: Driver for PCA9541 I2C Master Selector
    i2c: Optimize function i2c_detect()
    i2c: Discard warning message on device instantiation from user-space
    i2c-amd8111: Add proper error handling
    i2c: Change to new flag variable
    i2c: Remove unneeded inclusions of
    i2c: Let i2c_parent_is_i2c_adapter return the parent adapter
    i2c: Simplify i2c_parent_is_i2c_adapter
    i2c-pca-platform: Change device name of request_irq
    i2c: Fix Kconfig dependencies

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: (47 commits)
    HID: fix mismerge in hid-lg
    HID: hidraw: fix window in hidraw_release
    HID: hid-sony: override usbhid_output_raw_report for Sixaxis
    HID: add absolute axis resolution calculation
    HID: force feedback support for Logitech RumblePad gamepad
    HID: support STmicroelectronics and Sitronix with hid-stantuml driver
    HID: magicmouse: Adjust major / minor axes to scale
    HID: Fix for problems with eGalax/DWAV multi-touch-screen
    HID: waltop: add support for Waltop Slim Tablet 12.1 inch
    HID: add NOGET quirk for AXIS 295 Video Surveillance Joystick
    HID: usbhid: remove unused hiddev_driver
    HID: magicmouse: Use hid-input parsing rather than bypassing it
    HID: trivial formatting fix
    HID: Add support for Logitech Speed Force Wireless gaming wheel
    HID: don't Send Feature Reports on Interrupt Endpoint
    HID: 3m: Adjust major / minor axes to scale
    HID: 3m: Correct touchscreen emulation
    HID: 3m: Convert to MT slots
    HID: 3m: Output proper orientation range
    HID: 3m: Adjust to sequential MT HID protocol
    ...

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
    crypto: Makefile - replace the use of -objs with -y
    crypto: hifn_795x - use cancel_delayed_work_sync()
    crypto: talitos - sparse check endian fixes
    crypto: talitos - fix checkpatch warning
    crypto: talitos - fix warning: 'alg' may be used uninitialized in this function
    crypto: cryptd - Adding the AEAD interface type support to cryptd
    crypto: n2_crypto - Niagara2 driver needs to depend upon CRYPTO_DES
    crypto: Kconfig - update broken web addresses
    crypto: omap-sham - Adjust DMA parameters
    crypto: fips - FIPS requires algorithm self-tests
    crypto: omap-aes - OMAP2/3 AES hw accelerator driver
    crypto: updates to enable omap aes
    padata: add missing __percpu markup in include/linux/padata.h
    MAINTAINERS: Add maintainer entries for padata/pcrypt

    Linus Torvalds
     
  • Conflicts:
    include/linux/percpu.h
    mm/percpu.c

    Pekka Enberg
     
  • Transactions not acked can happen every now and then, in particular
    during device detection, and various transaction types can be used for
    this purpose. So stop logging this event, except when debugging is
    enabled. This is what other similar drivers (e.g. i2c-i801 or
    i2c-piix4) do.

    Signed-off-by: Jean Delvare

    Jean Delvare
     
  • The underlying I2C adapter may or may not be present when this driver
    gets initialized, and may disappear later, so there is no safe time at
    which the probe and remove functions can be discarded.

    Signed-off-by: Guenter Roeck
    Signed-off-by: Jean Delvare

    Guenter Roeck
     
  • Signed-off-by: Guenter Roeck
    Signed-off-by: Jean Delvare

    Guenter Roeck
     
  • This patch adds support for PCA9541, an I2C Bus Master Selector.
    The driver is modeled as single channel I2C Multiplexer to be able to utilize
    the I2C multiplexer framework.

    Signed-off-by: Guenter Roeck
    Reviewed-by: Tom Grennan
    Acked-by: Jean Delvare

    Guenter Roeck
     
  • Check the class flags before allocating the temporary i2c_client
    structure, to avoid allocating it when we don't need it.

    Also optimize the inner loop a bit.

    Signed-off-by: Jean Delvare
    Cc: Jacob Pan

    Jean Delvare
     
  • The "new_device" sysfs interface has been there for quite some time
    now, nobody complained about it so it must be good enough. Time to
    remove the warning and call it stable.

    Signed-off-by: Jean Delvare
    Acked-by: Michael Lawnick

    Jean Delvare
     
  • The functions the functions amd_ec_wait_write and amd_ec_wait_read have an
    unsigned return type, but return a negative constant to indicate an error
    condition.

    A sematic match that finds this problem is as follows:
    (http://coccinelle.lip6.fr/)

    //
    @exists@
    identifier f;
    constant C;
    @@

    unsigned f(...)
    { }
    //

    Fixing amd_ec_wait_write and amd_ec_wait_read leads to the need to adjust
    the return type of the functions amd_ec_write and amd_ec_read, which are
    the only functions that call amd_ec_wait_write and amd_ec_wait_read.
    amd_ec_write and amd_ec_read, in turn, are only called from within the
    function amd8111_access, which already returns a signed typed value. Each
    of the calls to amd_ec_write and amd_ec_read are updated using the
    following semantic patch:

    //
    @@
    @@

    + status = amd_ec_write
    - amd_ec_write
    (...);
    + if (status) return status;

    @@
    @@

    + status = amd_ec_read
    - amd_ec_read
    (...);
    + if (status) return status;
    //

    The patch also adds the declaration of the status variable.

    Signed-off-by: Julia Lawall
    Signed-off-by: Jean Delvare

    Julia Lawall
     
  • Replace EXTRA_CFLAGS with ccflags-y.

    Signed-off-by: matt mooney
    Signed-off-by: Jean Delvare

    matt mooney
     
  • These drivers don't use anything which is defined in .
    This header file was never meant to be included directly anyway, and
    will be deleted soon.

    Signed-off-by: Jean Delvare
    Acked-by: Ben Dooks
    Acked-by: Dave Airlie
    Cc: Hans Verkuil

    Jean Delvare