1. 10 Jan, 2012 26 commits
    • Manish Rangankar's avatar
      [SCSI] qla4xxx: Fixed BFS with sendtargets as boot index. · 368d45cc
      Manish Rangankar authored
      If ql4xdisablesysfsboot = 0 and sendtargets entry as boot index then
      driver does export sendtarget entries in sysfs but iscsistart does not
      do discovery. So in this case let driver do the discovery and
      login to the targets.
      Signed-off-by: default avatarManish Rangankar <manish.rangankar@qlogic.com>
      Signed-off-by: default avatarVikas Chaudhary <vikas.chaudhary@qlogic.com>
      Signed-off-by: default avatarJames Bottomley <JBottomley@Parallels.com>
      368d45cc
    • Nilesh Javali's avatar
    • Nilesh Javali's avatar
      [SCSI] qla4xxx: Limit the ACB Default Timeout value to 12s · c28eaaca
      Nilesh Javali authored
      A wrong default timeout value programmed in the adapter causes driver
      to wait for that much time while waiting for target discoveries to complete.
      This could add huge delays during the driver load time. To avoid this,
      limit the default timeout value to 12 seconds if the default timeout value
      set in adapter is less than 12 seconds and greater than 120 seconds.
      Signed-off-by: default avatarNilesh Javali <nilesh.javali@qlogic.com>
      Signed-off-by: default avatarVikas Chaudhary <vikas.chaudhary@qlogic.com>
      Signed-off-by: default avatarJames Bottomley <JBottomley@Parallels.com>
      c28eaaca
    • Lalit Chandivade's avatar
      [SCSI] qla4xxx: cleanup, make qla4xxx_build_ddb_list short · 4a4bc2e9
      Lalit Chandivade authored
      Make qla4xxx_build_ddb_list shorter by adding more helper functions.
      Signed-off-by: default avatarLalit Chandivade <lalit.chandivade@qlogic.com>
      Signed-off-by: default avatarVikas Chaudhary <vikas.chaudhary@qlogic.com>
      Signed-off-by: default avatarJames Bottomley <JBottomley@Parallels.com>
      4a4bc2e9
    • Thadeu Lima de Souza Cascardo's avatar
      [SCSI] libcxgbi: do not print a message when memory allocation fails · 00c4a09b
      Thadeu Lima de Souza Cascardo authored
      In alloc_pdu, libcxgbi tries to allocate a skb with GFP_ATOMIC, which
      may potentially fail. When it happens, the current code prints a warning
      message.
      
      When the system is under IO stress, this failure may happen lots of
      times and it usually scares users.
      
      Instead of printing the warning message, the code now increases the
      tx_dropped statistics for the ethernet interface wich is doing the iscsi
      task.
      Signed-off-by: default avatarThadeu Lima de Souza Cascardo <cascardo@linux.vnet.ibm.com>
      Acked-by: default avatarKaren Xie <kxie@chelsio.com>
      Reviewed-by: default avatarMike Christie <michaelc@cs.wisc.edu>
      Signed-off-by: default avatarJames Bottomley <JBottomley@Parallels.com>
      00c4a09b
    • Stratos Psomadakis's avatar
      [SCSI] sym53c8xx: Fix NULL pointer dereference in slave_destroy · cced5041
      Stratos Psomadakis authored
      sym53c8xx_slave_destroy unconditionally assumes that sym53c8xx_slave_alloc has
      succesesfully allocated a sym_lcb. This can lead to a NULL pointer dereference
      (exposed by commit 4e6c82b3).
      Signed-off-by: default avatarStratos Psomadakis <psomas@gentoo.org>
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarJames Bottomley <JBottomley@Parallels.com>
      cced5041
    • Richard Weinberger's avatar
      [SCSI] scsi_dh_rdac: Fix error path · 9fc397fc
      Richard Weinberger authored
      If create_singlethread_workqueue() failes, rdac_init should fail too.
      Signed-off-by: default avatarRichard Weinberger <richard@nod.at>
      Acked-by: default avatar"Moger, Babu" <Babu.Moger@netapp.com>
      Signed-off-by: default avatarJames Bottomley <JBottomley@Parallels.com>
      9fc397fc
    • Linus Torvalds's avatar
      Merge tag 'for-linus-3.3' of git://git.infradead.org/mtd-2.6 · 7b3480f8
      Linus Torvalds authored
      MTD pull for 3.3
      
      * tag 'for-linus-3.3' of git://git.infradead.org/mtd-2.6: (113 commits)
        mtd: Fix dependency for MTD_DOC200x
        mtd: do not use mtd->block_markbad directly
        logfs: do not use 'mtd->block_isbad' directly
        mtd: introduce mtd_can_have_bb helper
        mtd: do not use mtd->suspend and mtd->resume directly
        mtd: do not use mtd->lock, unlock and is_locked directly
        mtd: do not use mtd->sync directly
        mtd: harmonize mtd_writev usage
        mtd: do not use mtd->lock_user_prot_reg directly
        mtd: mtd->write_user_prot_reg directly
        mtd: do not use mtd->read_*_prot_reg directly
        mtd: do not use mtd->get_*_prot_info directly
        mtd: do not use mtd->read_oob directly
        mtd: mtdoops: do not use mtd->panic_write directly
        romfs: do not use mtd->get_unmapped_area directly
        mtd: do not use mtd->get_unmapped_area directly
        mtd: do use mtd->point directly
        mtd: introduce mtd_has_oob helper
        mtd: mtdcore: export symbols cleanup
        mtd: clean-up the default_mtd_writev function
        ...
      
      Fix up trivial edit/remove conflict in drivers/staging/spectra/lld_mtd.c
      7b3480f8
    • Linus Torvalds's avatar
      Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu · 1c810652
      Linus Torvalds authored
      * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (53 commits)
        iommu/amd: Set IOTLB invalidation timeout
        iommu/amd: Init stats for iommu=pt
        iommu/amd: Remove unnecessary cache flushes in amd_iommu_resume
        iommu/amd: Add invalidate-context call-back
        iommu/amd: Add amd_iommu_device_info() function
        iommu/amd: Adapt IOMMU driver to PCI register name changes
        iommu/amd: Add invalid_ppr callback
        iommu/amd: Implement notifiers for IOMMUv2
        iommu/amd: Implement IO page-fault handler
        iommu/amd: Add routines to bind/unbind a pasid
        iommu/amd: Implement device aquisition code for IOMMUv2
        iommu/amd: Add driver stub for AMD IOMMUv2 support
        iommu/amd: Add stat counter for IOMMUv2 events
        iommu/amd: Add device errata handling
        iommu/amd: Add function to get IOMMUv2 domain for pdev
        iommu/amd: Implement function to send PPR completions
        iommu/amd: Implement functions to manage GCR3 table
        iommu/amd: Implement IOMMUv2 TLB flushing routines
        iommu/amd: Add support for IOMMUv2 domain mode
        iommu/amd: Add amd_iommu_domain_direct_map function
        ...
      1c810652
    • Linus Torvalds's avatar
      Merge branch 'drm-core-next' of git://people.freedesktop.org/~airlied/linux · 1a464cbb
      Linus Torvalds authored
      * 'drm-core-next' of git://people.freedesktop.org/~airlied/linux: (307 commits)
        drm/nouveau/pm: fix build with HWMON off
        gma500: silence gcc warnings in mid_get_vbt_data()
        drm/ttm: fix condition (and vs or)
        drm/radeon: double lock typo in radeon_vm_bo_rmv()
        drm/radeon: use after free in radeon_vm_bo_add()
        drm/sis|via: don't return stack garbage from free_mem ioctl
        drm/radeon/kms: remove pointless CS flags priority struct
        drm/radeon/kms: check if vm is supported in VA ioctl
        drm: introduce drm_can_sleep and use in intel/radeon drivers. (v2)
        radeon: Fix disabling PCI bus mastering on big endian hosts.
        ttm: fix agp since ttm tt rework
        agp: Fix multi-line warning message whitespace
        drm/ttm/dma: Fix accounting error when calling ttm_mem_global_free_page and don't try to free freed pages.
        drm/ttm/dma: Only call set_pages_array_wb when the page is not in WB pool.
        drm/radeon/kms: sync across multiple rings when doing bo moves v3
        drm/radeon/kms: Add support for multi-ring sync in CS ioctl (v2)
        drm/radeon: GPU virtual memory support v22
        drm: make DRM_UNLOCKED ioctls with their own mutex
        drm: no need to hold global mutex for static data
        drm/radeon/benchmark: common modes sweep ignores 640x480@32
        ...
      
      Fix up trivial conflicts in radeon/evergreen.c and vmwgfx/vmwgfx_kms.c
      1a464cbb
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input · dbe950f2
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (64 commits)
        Input: tc3589x-keypad - add missing kerneldoc
        Input: ucb1400-ts - switch to using dev_xxx() for diagnostic messages
        Input: ucb1400_ts - convert to threaded IRQ
        Input: ucb1400_ts - drop inline annotations
        Input: usb1400_ts - add __devinit/__devexit section annotations
        Input: ucb1400_ts - set driver owner
        Input: ucb1400_ts - convert to use dev_pm_ops
        Input: psmouse - make sure we do not use stale methods
        Input: evdev - do not block waiting for an event if fd is nonblock
        Input: evdev - if no events and non-block, return EAGAIN not 0
        Input: evdev - only allow reading events if a full packet is present
        Input: add driver for pixcir i2c touchscreens
        Input: samsung-keypad - implement runtime power management support
        Input: tegra-kbc - report wakeup key for some platforms
        Input: tegra-kbc - add device tree bindings
        Input: add driver for AUO In-Cell touchscreens using pixcir ICs
        Input: mpu3050 - configure the sampling method
        Input: mpu3050 - ensure we enable interrupts
        Input: mpu3050 - add of_match table for device-tree probing
        Input: sentelic - document the latest hardware
        ...
      
      Fix up fairly trivial conflicts (device tree matching conflicting with
      some independent cleanups) in drivers/input/keyboard/samsung-keypad.c
      dbe950f2
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid · f62f6191
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: (68 commits)
        hid-input/battery: add FEATURE quirk
        hid-input/battery: remove battery_val
        hid-input/battery: power-supply type really *is* a battery
        hid-input/battery: make the battery setup common for INPUTs and FEATUREs
        hid-input/battery: deal with both FEATURE and INPUT report batteries
        hid-input/battery: add quirks for battery
        hid-input/battery: remove apparently redundant kmalloc
        hid-input: add support for HID devices reporting Battery Strength
        HID: hid-multitouch: add support 9 new Xiroku devices
        HID: multitouch: add support for 3M 32"
        HID: multitouch: add support of Atmel multitouch panels
        HID: usbhid: defer LED setting to a workqueue
        HID: usbhid: hid-core: submit queued urbs before suspend
        HID: usbhid: remove LED_ON
        HID: emsff: use symbolic name instead of hardcoded PID constant
        HID: Enable HID_QUIRK_MULTI_INPUT for Trio Linker Plus II
        HID: Kconfig: fix syntax
        HID: introduce proper dependency of HID_BATTERY on POWER_SUPPLY
        HID: multitouch: support PixArt optical touch screen
        HID: make parser more verbose about parsing errors by default
        ...
      
      Fix up rename/delete conflict in drivers/hid/hid-hyperv.c (removed in
      staging, moved in this branch) and similarly for the rules for same file
      in drivers/staging/hv/{Kconfig,Makefile}.
      f62f6191
    • Linus Torvalds's avatar
      Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 · d04baa15
      Linus Torvalds authored
      SCSI updates for post 3.2 merge window
      
      * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (67 commits)
        [SCSI] lpfc 8.3.28: Update driver version to 8.3.28
        [SCSI] lpfc 8.3.28: Add Loopback support for SLI4 adapters
        [SCSI] lpfc 8.3.28: Critical Miscellaneous fixes
        [SCSI] Lpfc 8.3.28: FC and SCSI Discovery Fixes
        [SCSI] lpfc 8.3.28: Add support for ABTS failure handling
        [SCSI] lpfc 8.3.28: SLI fixes and added SLI4 support
        [SCSI] lpfc 8.3.28: Miscellaneous fixes in sysfs and mgmt interfaces
        [SCSI] mpt2sas: Removed redundant calling of _scsih_probe_devices() from _scsih_probe
        [SCSI] mac_scsi: Remove obsolete IRQ_FLG_* users
        [SCSI] qla4xxx: Update driver version to 5.02.00-k10
        [SCSI] qla4xxx: check for FW alive before calling chip_reset
        [SCSI] qla4xxx: Fix qla4xxx_dump_buffer to dump buffer correctly
        [SCSI] qla4xxx: Fix the IDC locking mechanism
        [SCSI] qla4xxx: Wait for disable_acb before doing set_acb
        [SCSI] qla4xxx: Don't recover adapter if device state is FAILED
        [SCSI] qla4xxx: fix call trace on rmmod with ql4xdontresethba=1
        [SCSI] qla4xxx: Fix CPU lockups when ql4xdontresethba set
        [SCSI] qla4xxx: Perform context resets in case of context failures.
        [SCSI] iscsi class: export pid of process that created
        [SCSI] mpt2sas: Remove unused duplicate diag_buffer_enable param
        ...
      d04baa15
    • Linus Torvalds's avatar
      Merge git://www.linux-watchdog.org/linux-watchdog · 88266917
      Linus Torvalds authored
      * git://www.linux-watchdog.org/linux-watchdog:
        watchdog: omap_wdt.c: fix the WDIOC_GETBOOTSTATUS ioctl if not implemented.
        watchdog: new driver for VIA chipsets
        watchdog: ath79_wdt: flush register writes
        drivers/watchdog/lantiq_wdt.c: drop iounmap for devm_ allocated data
        watchdog: documentation: describe nowayout in coversion-guide
        watchdog: documentation: update index file
        watchdog: Convert wm831x driver to devm_kzalloc()
        watchdog: add nowayout helpers to Watchdog Timer Driver Kernel API
        watchdog: convert drivers/watchdog/* to use module_platform_driver()
        watchdog: Use DEFINE_SPINLOCK() for static spinlocks
        watchdog: Convert Wolfson drivers to module_platform_driver
      88266917
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator · 269d4301
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: (40 commits)
        regulator: set constraints.apply_uV to 0 in of_get_fixed_voltage_config
        regulator: max8925: fix enabled/disabled judgement mistake
        regulator: add regulator_bulk_force_disable function
        regulator: pass regulator_register of_node in fixed voltage driver
        regulator: add regulator_force_disable() definition for !CONFIG_REGULATOR
        regulator: Enable supply regulator if child rail is enabled.
        regulator: mc13892: Convert to devm_kzalloc()
        regulator: mc13783: Convert to devm_kzalloc()
        regulator: Fix checking return value of create_regulator
        regulator: Fix the error handling if create_regulator fails
        regulator: Export regulator_is_supported_voltage()
        regulator: mc13892: add device tree probe support
        regulator: mc13892: remove the unnecessary prefix from regulator name
        regulator: Convert wm831x regulator drivers to devm_kzalloc()
        regulator: da9052: Staticize non-exported symbols
        regulator: Replace kzalloc with devm_kzalloc and if-else with a switch-case for da9052-regulator
        regulator: Update da9052-regulator for DT changes
        regulator: DA9052/53 Regulator support
        regulator: pass device_node to of_get_regulator_init_data()
        regulator: If a single voltage is set with device tree then set apply_uV
        ...
      269d4301
    • Linus Torvalds's avatar
      Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl · d52739c6
      Linus Torvalds authored
      * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (31 commits)
        pinctrl: remove unnecessary max pin number
        pinctrl: correct a offset while enumerating pins
        pinctrl: some typo fixes
        pinctrl: rename U300 and SIRF pin controllers
        pinctrl: pass name instead of device to pin_config_*
        pinctrl: add "struct seq_file;" to pinconf.h
        pinctrl: conjure names for unnamed pins
        pinctrl: add a group-specific hog macro
        pinctrl: don't create a device for each pin controller
        arm/u300: don't use PINMUX_MAP_PRIMARY*
        pinctrl: implement PINMUX_MAP_SYS_HOG
        pinctrl: add a pin config interface
        pinctrl/coh901: driver to request its pins
        pinctrl: u300-pinmux: register proper GPIO ranges
        pinctrl: move the U300 GPIO driver to pinctrl
        ARM: u300: localize GPIO assignments
        pinctrl: make it possible to add multiple maps
        pinctrl: make a copy of pinmux map
        pinctrl: GPIO direction support for muxing
        pinctrl: print pin range in GPIO range debugs
        ...
      d52739c6
    • Linus Torvalds's avatar
      Merge branch 'upstream-linus' of git://github.com/jgarzik/libata-dev · abce00f9
      Linus Torvalds authored
      * 'upstream-linus' of git://github.com/jgarzik/libata-dev:
        ahci: support the STA2X11 I/O Hub
        pata_bf54x: fix BMIDE status register emulation
        ata: add ata port hibernate callbacks
        ata: update ata port's runtime status during system resume
        [SCSI] runtime resume parent for child's system-resume
        ahci: platform support for suspend/resume
        libata-core: kill duplicate statement in ata_do_set_mode()
        pata_of_platform: remove direct dependency on OF_IRQ
        SATA/PATA: convert drivers/ata/* to use module_platform_driver()
        pata_cs5536: forward port changes from cs5536
        libata-sff: use ATAPI_{COD|IO}
        ata: add ata port runtime PM callbacks
        ata: add ata port system PM callbacks
        [SCSI] sd: check runtime PM status in sd_shutdown
        [SCSI] check runtime PM status in system PM
        [SCSI] add flag to skip the runtime PM calls on the host
        ata: make ata port as parent device of scsi host
        ahci: start engine only during soft/hard resets
      abce00f9
    • Linus Torvalds's avatar
      Merge branch 'stable/for-linus-3.3' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen · 90160371
      Linus Torvalds authored
      * 'stable/for-linus-3.3' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen: (37 commits)
        xen/pciback: Expand the warning message to include domain id.
        xen/pciback: Fix "device has been assigned to X domain!" warning
        xen/pciback: Move the PCI_DEV_FLAGS_ASSIGNED ops to the "[un|]bind"
        xen/xenbus: don't reimplement kvasprintf via a fixed size buffer
        xenbus: maximum buffer size is XENSTORE_PAYLOAD_MAX
        xen/xenbus: Reject replies with payload > XENSTORE_PAYLOAD_MAX.
        Xen: consolidate and simplify struct xenbus_driver instantiation
        xen-gntalloc: introduce missing kfree
        xen/xenbus: Fix compile error - missing header for xen_initial_domain()
        xen/netback: Enable netback on HVM guests
        xen/grant-table: Support mappings required by blkback
        xenbus: Use grant-table wrapper functions
        xenbus: Support HVM backends
        xen/xenbus-frontend: Fix compile error with randconfig
        xen/xenbus-frontend: Make error message more clear
        xen/privcmd: Remove unused support for arch specific privcmp mmap
        xen: Add xenbus_backend device
        xen: Add xenbus device driver
        xen: Add privcmd device driver
        xen/gntalloc: fix reference counts on multi-page mappings
        ...
      90160371
    • Linus Torvalds's avatar
      Merge branch 'stable/for-linus-fixes-3.3' of... · ae5cfc05
      Linus Torvalds authored
      Merge branch 'stable/for-linus-fixes-3.3' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen
      
      * 'stable/for-linus-fixes-3.3' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:
        xen/mmu: Fix compile errors introduced by x86/memblock mismerge.
      ae5cfc05
    • Linus Torvalds's avatar
      Merge branch 'kvm-updates/3.3' of git://git.kernel.org/pub/scm/virt/kvm/kvm · 3dcf6c1b
      Linus Torvalds authored
      * 'kvm-updates/3.3' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (74 commits)
        KVM: PPC: Whitespace fix for kvm.h
        KVM: Fix whitespace in kvm_para.h
        KVM: PPC: annotate kvm_rma_init as __init
        KVM: x86 emulator: implement RDPMC (0F 33)
        KVM: x86 emulator: fix RDPMC privilege check
        KVM: Expose the architectural performance monitoring CPUID leaf
        KVM: VMX: Intercept RDPMC
        KVM: SVM: Intercept RDPMC
        KVM: Add generic RDPMC support
        KVM: Expose a version 2 architectural PMU to a guests
        KVM: Expose kvm_lapic_local_deliver()
        KVM: x86 emulator: Use opcode::execute for Group 9 instruction
        KVM: x86 emulator: Use opcode::execute for Group 4/5 instructions
        KVM: x86 emulator: Use opcode::execute for Group 1A instruction
        KVM: ensure that debugfs entries have been created
        KVM: drop bsp_vcpu pointer from kvm struct
        KVM: x86: Consolidate PIT legacy test
        KVM: x86: Do not rely on implicit inclusions
        KVM: Make KVM_INTEL depend on CPU_SUP_INTEL
        KVM: Use memdup_user instead of kmalloc/copy_from_user
        ...
      3dcf6c1b
    • Dave Airlie's avatar
      095f979a
    • Dan Carpenter's avatar
      gma500: silence gcc warnings in mid_get_vbt_data() · 96067adf
      Dan Carpenter authored
      Add a cast here to silence a Gcc warning.
      drivers/gpu/drm/gma500/mid_bios.c:214:28: warning:
        cast from pointer to integer of different size [-Wpointer-to-int-cast]
      Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
      Acked-by: default avatarAlan Cox <alan@linux.intel.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      96067adf
    • Dan Carpenter's avatar
      drm/ttm: fix condition (and vs or) · 7920aa5a
      Dan Carpenter authored
      The "if (!p && !p->dev)" condition isn't right because || was intended
      instead of &&.  But actually, "p" is the list cursor and so it's always
      non-NULL and we can just remove that bit.  We can remove the another
      similar check as well.
      Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
      Reviewed-by: default avatarJerome Glisse <jglisse@redhat.com>
      Acked-by: default avatarKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      7920aa5a
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · e4e11180
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        vfs: new helper - d_make_root()
        dcache: use a dispose list in select_parent
        ceph: d_alloc_root() may fail
        ext4: fix failure exits
        isofs: inode leak on mount failure
      e4e11180
    • Al Viro's avatar
      vfs: new helper - d_make_root() · adc0e91a
      Al Viro authored
      d_alloc_root() with iput() in case of allocation failure...
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      adc0e91a
    • Dave Chinner's avatar
      dcache: use a dispose list in select_parent · b48f03b3
      Dave Chinner authored
      select_parent currently abuses the dentry cache LRU to provide
      cleanup features for child dentries that need to be freed. It moves
      them to the tail of the LRU, then tells shrink_dcache_parent() to
      calls __shrink_dcache_sb to unconditionally move them to a dispose
      list (as DCACHE_REFERENCED is ignored). __shrink_dcache_sb() has to
      relock the dentries to move them off the LRU onto the dispose list,
      but otherwise does not touch the dentries that select_parent() moved
      to the tail of the LRU. It then passses the dispose list to
      shrink_dentry_list() which tries to free the dentries.
      
      IOWs, the use of __shrink_dcache_sb() is superfluous - we can build
      exactly the same list of dentries for disposal directly in
      select_parent() and call shrink_dentry_list() instead of calling
      __shrink_dcache_sb() to do that. This means that we avoid long holds
      on the lru lock walking the LRU moving dentries to the dispose list
      We also avoid the need to relock each dentry just to move it off the
      LRU, reducing the numebr of times we lock each dentry to dispose of
      them in shrink_dcache_parent() from 3 to 2 times.
      
      Further, we remove one of the two callers of __shrink_dcache_sb().
      This also means that __shrink_dcache_sb can be moved into back into
      prune_dcache_sb() and we no longer have to handle referenced
      dentries conditionally, simplifying the code.
      Signed-off-by: default avatarDave Chinner <dchinner@redhat.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      b48f03b3
  2. 09 Jan, 2012 14 commits
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next · 37cfc3f6
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next:
        sparc32: remove unused file: include/asm/pgtsun4.h
        sparc32: fix PAGE_SIZE definition
        sparc32: enable different preemptions models
        sparc32: support atomic64_t
        apbuart: fix section mismatch warning
        sparc32: drop useless preprocessor conditional in atomic_32.h
        sparc32: drop unused atomic24 support
      37cfc3f6
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 38e5781b
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net:
        igmp: Avoid zero delay when receiving odd mixture of IGMP queries
        netdev: make net_device_ops const
        bcm63xx: make ethtool_ops const
        usbnet: make ethtool_ops const
        net: Fix build with INET disabled.
        net: introduce netif_addr_lock_nested() and call if when appropriate
        net: correct lock name in dev_[uc/mc]_sync documentations.
        net: sk_update_clone is only used in net/core/sock.c
        8139cp: fix missing napi_gro_flush.
        pktgen: set correct max and min in pktgen_setup_inject()
        smsc911x: Unconditionally include linux/smscphy.h in smsc911x.h
        asix: fix infinite loop in rx_fixup()
        net: Default UDP and UNIX diag to 'n'.
        r6040: fix typo in use of MCR0 register bits
        net: fix sock_clone reference mismatch with tcp memcontrol
      38e5781b
    • Linus Torvalds's avatar
      Merge tag 'clk' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 979ecef5
      Linus Torvalds authored
      clock management changes for i.MX
      
      Another simple series related to clock management, this time only for
      imx.
      
      * tag 'clk' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        ARM: mxs: select HAVE_CLK_PREPARE for clock
        clk: add config option HAVE_CLK_PREPARE into Kconfig
        ASoC: mxs-saif: convert to clk_prepare/clk_unprepare
        video: mxsfb: convert to clk_prepare/clk_unprepare
        serial: mxs-auart: convert to clk_prepare/clk_unprepare
        net: flexcan: convert to clk_prepare/clk_unprepare
        mtd: gpmi-lib: convert to clk_prepare/clk_unprepare
        mmc: mxs-mmc: convert to clk_prepare/clk_unprepare
        dma: mxs-dma: convert to clk_prepare/clk_unprepare
        net: fec: add clk_prepare/clk_unprepare
        ARM: mxs: convert platform code to clk_prepare/clk_unprepare
        clk: add helper functions clk_prepare_enable and clk_disable_unprepare
      
      Fix up trivial conflicts in drivers/net/ethernet/freescale/fec.c due to
      commit 0ebafefc ("net: fec: add clk_prepare/clk_unprepare") clashing
      trivially with commit e163cc97 ("net/fec: fix the .remove code").
      979ecef5
    • Linus Torvalds's avatar
      Merge tag 'timer' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · e8cbce97
      Linus Torvalds authored
      timer changes for msm
      
      A very simple series. We used to have more churn in the timer
      area, so this is kept separate. Will probably put this into the
      drivers series next time.
      
      * tag 'timer' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        msm: timer: Use clockevents_config_and_register()
        msm: timer: Setup interrupt after registering clockevent
        msm: timer: Remove SoC specific #ifdefs
        msm: timer: Remove msm_clocks[] and simplify code
        msm: timer: Fix ONESHOT mode interrupts
        msm: timer: Use GPT for clockevents and DGT for clocksource
        msm: timer: Cleanup #includes and #defines
        msm: timer: Tighten #ifdef for local timer support
      e8cbce97
    • Linus Torvalds's avatar
      Merge tag 'pm' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · b3c37522
      Linus Torvalds authored
      power management changes for omap and imx
      
      A significant part of the changes for these two platforms went into
      power management, so they are split out into a separate branch.
      
      * tag 'pm' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (65 commits)
        ARM: imx6: remove __CPUINIT annotation from v7_invalidate_l1
        ARM: imx6: fix v7_invalidate_l1 by adding I-Cache invalidation
        ARM: imx6q: resume PL310 only when CACHE_L2X0 defined
        ARM: imx6q: build pm code only when CONFIG_PM selected
        ARM: mx5: use generic irq chip pm interface for pm functions on
        ARM: omap: pass minimal SoC/board data for UART from dt
        arm/dts: Add minimal device tree support for omap2420 and omap2430
        omap-serial: Add minimal device tree support
        omap-serial: Use default clock speed (48Mhz) if not specified
        omap-serial: Get rid of all pdev->id usage
        ARM: OMAP2+: hwmod: Add a new flag to handle hwmods left enabled at init
        ARM: OMAP4: PRM: use PRCM interrupt handler
        ARM: OMAP3: pm: use prcm chain handler
        ARM: OMAP: hwmod: add support for selecting mpu_irq for each wakeup pad
        ARM: OMAP2+: mux: add support for PAD wakeup interrupts
        ARM: OMAP: PRCM: add suspend prepare / finish support
        ARM: OMAP: PRCM: add support for chain interrupt handler
        ARM: OMAP3/4: PRM: add functions to read pending IRQs, PRM barrier
        ARM: OMAP2+: hwmod: Add API to enable IO ring wakeup
        ARM: OMAP2+: mux: add wakeup-capable hwmod mux entries to dynamic list
        ...
      b3c37522
    • Linus Torvalds's avatar
      Merge tag 'drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 2ac9d7aa
      Linus Torvalds authored
      Driver specific changes
      
      Again, a lot of platforms have changes in here: pxa, samsung, omap,
      at91, imx, ...
      
      * tag 'drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (54 commits)
        ARM: sa1100: clean up of the clock support
        ARM: pxa: add dummy clock for sa1100-rtc
        RTC: sa1100: support sa1100, pxa and mmp soc families
        RTC: sa1100: remove redundant code of setting alarm
        RTC: sa1100: Clean out ost register
        Input: zylonite-wm97xx - replace IRQ_GPIO() with gpio_to_irq()
        pcmcia: pxa: replace IRQ_GPIO() with gpio_to_irq()
        ARM: EXYNOS: Modified files for SPI consolidation work
        ARM: S5P64X0: Enable SDHCI support
        ARM: S5P64X0: Add lookup of sdhci-s3c clocks using generic names
        ARM: S5P64X0: Add HSMMC setup for host Controller
        ARM: EXYNOS: Add USB OHCI support to ORIGEN board
        USB: Add Samsung Exynos OHCI diver
        ARM: EXYNOS: Add USB OHCI support to SMDKV310 board
        ARM: EXYNOS: Add USB OHCI device
        net: macb: fix build break with !CONFIG_OF
        i2c: tegra: Support DVC controller in device tree
        i2c: tegra: Add __devinit/exit to probe/remove
        net/at91_ether: use gpio_is_valid for phy IRQ line
        ARM: at91/net: add macb ethernet controller in 9g45/9g20 DT
        ...
      2ac9d7aa
    • Linus Torvalds's avatar
      Merge tag 'devel' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 5ede3ceb
      Linus Torvalds authored
      New feature development
      
      This adds support for new features, and contains stuff from most
      platforms. A number of these patches could have fit into other
      branches, too, but were small enough not to cause too much
      confusion here.
      
      * tag 'devel' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (28 commits)
        mfd/db8500-prcmu: remove support for early silicon revisions
        ARM: ux500: fix the smp_twd clock calculation
        ARM: ux500: remove support for early silicon revisions
        ARM: ux500: update register files
        ARM: ux500: register DB5500 PMU dynamically
        ARM: ux500: update ASIC detection for U5500
        ARM: ux500: support DB8520
        ARM: picoxcell: implement watchdog restart
        ARM: OMAP3+: hwmod data: Add the default clockactivity for I2C
        ARM: OMAP3: hwmod data: disable multiblock reads on MMC1/2 on OMAP34xx/35xx <= ES2.1
        ARM: OMAP: USB: EHCI and OHCI hwmod structures for OMAP4
        ARM: OMAP: USB: EHCI and OHCI hwmod structures for OMAP3
        ARM: OMAP: hwmod data: Add support for AM35xx UART4/ttyO3
        ARM: Orion: Remove address map info from all platform data structures
        ARM: Orion: Get address map from plat-orion instead of via platform_data
        ARM: Orion: mbus_dram_info consolidation
        ARM: Orion: Consolidate the address map setup
        ARM: Kirkwood: Add configuration for MPP12 as GPIO
        ARM: Kirkwood: Recognize A1 revision of 6282 chip
        ARM: ux500: update the MOP500 GPIO assignments
        ...
      5ede3ceb
    • Linus Torvalds's avatar
      Merge tag 'boards' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 6d889d03
      Linus Torvalds authored
      Board-level changes
      
      This adds and extends support for specific boards on a number of
      ARM platforms:  omap, imx, samsung, tegra, ...
      
      * tag 'boards' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (49 commits)
        Enable 32 bit flash support for iMX21ADS board
        ARM: mx31pdk: Add MC13783 RTC support
        iomux-mx25: configuration to support CSPI3 on CSI pins
        MX1:apf9328: Add i2c support
        mioa701: add newly available DoC G3 chip
        arm/tegra: remove __initdata annotation from pinmux tables
        arm/tegra: Use bus notifiers to trigger pinmux setup
        arm/tegra: Refactor board-*-pinmux.c to share code
        arm/tegra: Fix mistake in Trimslice's pinmux
        arm/tegra: Rework Seaboard-vs-Ventana pinmux table
        arm/tegra: Remove useless entries from ventana_pinmux[]
        arm/tegra: PCIe: Remove include of mach/pinmux.h
        arm/tegra: Harmony PCIe: Don't touch pinmux
        arm/tegra: Add AUXDATA for tegra-pinmux and tegra-gpio
        arm/tegra: Split Seaboard GPIO table to allow for Ventana
        ARM: imx6q: generate imx6q dtb files
        arm/imx6q: Rename Sabreauto to Armadillo2
        arm/imx6q-sabrelite: add enet phy ksz9021rn fixup
        arm/imx6: add imx6q sabrelite board support
        dts/imx: rename uart labels to consistent with hw spec
        ...
      6d889d03
    • Linus Torvalds's avatar
      Merge tag 'soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 7400c12e
      Linus Torvalds authored
      SoC-level changes for tegra and omap
      
      This adds support for the new tegra30 SoC, as well as small
      changes to support minor variations of existing omap SoCs.
      
      * tag 'soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (26 commits)
        arm/tegra: Compile tegra_dt_init_irq only when CONFIG_OF
        arm/tegra: Make MACH_TEGRA_DT depend on ARCH_TEGRA_2x_SOC
        arm/tegra: Delete tegra_init_clock()
        arm/tegra: Fix section mismatch errors in tegra30 pinmux
        arm/tegra: Fix section mismatch errors in tegra20 pinmux
        arm/tegra: refresh defconfig for tegra30
        arm/tegra: add support for tegra30 based board cardhu
        arm/tegra: implement support for tegra30
        arm/tegra: pinmux tables and definitions for tegra30
        arm/tegra: add new fields to struct tegra_pingroup_desc
        arm/tegra: prepare pinmux code for multiple tegra variants
        arm/tegra: rename tegra20 pinmux files
        arm/tegra: generalize L2 cache initialization
        arm/tegra: use PMC reset
        arm/tegra: rename board-dt.c to board-dt-tegra20.c
        arm/tegra: prepare early init for multiple tegra variants
        arm/tegra: don't export clk_measure_input_freq
        arm/tegra: prepare clock code for multiple tegra variants
        arm/tegra: cleanup tegra20 support
        arm/tegra: clk_get should not be fatal
        ...
      
      Fix up trivial conflict in arch/arm/mach-tegra/board-dt-tegra20.c
      7400c12e
    • Linus Torvalds's avatar
      Merge tag 'cleanup2' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 190a44e6
      Linus Torvalds authored
      Cleanups for the Samsung platforms
      
      Various cleanup changes that the device driver changes are built upon.
      Since the samsung cleanups depend on the device tree series, which
      depends on the first set of cleanups for tegra.
      
      * tag 'cleanup2' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        ARM: EXYNOS: Use gpio_request_one
        ARM: S5PV210: Use gpio_request_one
        ARM: S3C64XX: Modified according to SPI consolidation work
        ARM: S5PV210: Modified files for SPI consolidation work
        ARM: S5P64X0: Modified files for SPI consolidation work
        ARM: S5PC100: Modified files for SPI consolidation work
        ARM: S3C64XX: Modified files for SPI consolidation work
        ARM: SAMSUNG: Consolidation of SPI platform devices to plat-samsung
        ARM: SAMSUNG: Remove SPI bus clocks from platform data
        ARM: S5PV210: Add SPI clkdev support
        ARM: S5P64X0: Add SPI clkdev support
        ARM: S5PC100: Add SPI clkdev support
        ARM: S3C64XX: Add SPI clkdev support
        spi/s3c64xx: Use bus clocks created using clkdev
        mmc: sdhci-s3c: Use generic clock names for sdhci bus clock options
        ARM: SAMSUNG: Add lookup of sdhci-s3c clocks using generic names
        ARM: SAMSUNG: Remove SDHCI bus clocks from platform data
        ARM: SAMSUNG: Use kmemdup rather than duplicating its implementation
        ARM: EXYNOS: remove exynos4_scu_enable()
      190a44e6
    • Linus Torvalds's avatar
      Merge tag 'dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · dfc1ebe7
      Linus Torvalds authored
      Device tree conversions for samsung and tegra
      
      Both platforms had some initial device tree support, but this adds
      much more to actually make it usable.
      
      * tag 'dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (45 commits)
        ARM: dts: Add intial dts file for EXYNOS4210 SoC, SMDKV310 and ORIGEN
        ARM: EXYNOS: Add Exynos4 device tree enabled board file
        rtc: rtc-s3c: Add device tree support
        input: samsung-keypad: Add device tree support
        ARM: S5PV210: Modify platform data for pl330 driver
        ARM: S5PC100: Modify platform data for pl330 driver
        ARM: S5P64x0: Modify platform data for pl330 driver
        ARM: EXYNOS: Add a alias for pdma clocks
        ARM: EXYNOS: Limit usage of pl330 device instance to non-dt build
        ARM: SAMSUNG: Add device tree support for pl330 dma engine wrappers
        DMA: PL330: Add device tree support
        ARM: EXYNOS: Modify platform data for pl330 driver
        DMA: PL330: Infer transfer direction from transfer request instead of platform data
        DMA: PL330: move filter function into driver
        serial: samsung: Fix build for non-Exynos4210 devices
        serial: samsung: add device tree support
        serial: samsung: merge probe() function from all SoC specific extensions
        serial: samsung: merge all SoC specific port reset functions
        ARM: SAMSUNG: register uart clocks to clock lookup list
        serial: samsung: remove all uses of get_clksrc and set_clksrc
        ...
      
      Fix up fairly trivial conflicts in arch/arm/mach-s3c2440/clock.c and
      drivers/tty/serial/Kconfig both due to just adding code close to
      changes.
      dfc1ebe7
    • Linus Torvalds's avatar
      Merge tag 'cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · acc952c1
      Linus Torvalds authored
      Cleanups on various subarchitectures
      
      Cleanup patches for various ARM platforms and some of their associated
      drivers, the bulk of these is for mach-91.
      
      Arnd ended up pulling in the restart branch from Russell in order to
      fix up some simple but annoying merge conflicts.
      
      * tag 'cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (44 commits)
        arm/at91: fix build of stamp9g20
        ARM: u300: delete memory.h
        MAINTAINERS: add maintainer entry for Picochip picoxcell
        ARM: picoxcell: move io mappings to common.c
        ARM: picoxcell: don't reserve irq_descs
        ARM: picoxcell: remove mach/memory.h
        ARM: at91: delete the pcontrol_g20_defconfig
        arm/tegra: Remove code that's ifndef CONFIG_ARM_GIC
        arm/tegra: remove unused defines
        arm/tegra: fix variable formatting in makefile
        ARM: davinci: vpif: move code to driver core header from platform
        ARM: at91/gpio: fix display of number of irq setuped
        ARM: at91/gpio: drop PIN_BASE
        ARM: at91/udc: use gpio_is_valid to check the gpio
        ARM: at91/ohci: use gpio_is_valid to check the gpio
        ARM: at91/nand: use gpio_is_valid to check the gpio
        ARM: at91/mmc: use gpio_is_valid to check the gpio
        ARM: at91/ide: use gpio_is_valid to check the gpio
        ARM: at91/pata: use gpio_is_valid to check the gpio
        ARM: at91/soc: use gpio_is_valid to check the gpio
        ...
      acc952c1
    • Linus Torvalds's avatar
      Merge tag 'fixes-non-critical' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 57e964e1
      Linus Torvalds authored
      Non-critical bug fixes
      
      Simple bug fixes that were not considered important enough for inclusion
      into 3.2.
      
      * tag 'fixes-non-critical' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        MAINTAINERS: update pxa and mmp
        ARM: pxa: Include linux/export.h in balloon3.c
        ARM: OMAP4: clock: Add CPU local timer clock node
        ARM: OMAP4: hwmod: Don't wait for the idle status if modulemode is not supported
        ARM: OMAP: AM3517/3505: fix crash on boot due to incorrect voltagedomain data
        ARM: OMAP: hwmod data: fix the panic on Nokia RM-680 during boot
        ARM: OMAP2+: DMA: Workaround for invalid destination position
        ARM: OMAP2+: DMA: Workaround for invalid source position
      57e964e1
    • Steven Rostedt's avatar
      tracing/mm: Move include of trace/events/kmem.h out of header into slab.c · 4dee6b64
      Steven Rostedt authored
      Including trace/events/*.h TRACE_EVENT() macro headers in other headers
      can cause strange side effects if another trace/event/*.h header
      includes that header.  Having trace/events/kmem.h inside slab_def.h
      caused a compile error in sparc64 when changes were done to some header
      files.  Moving the kmem.h trace header out of slab.h and into slab.c
      fixes the problem.
      
      Note, both slub.c and slob.c already include the trace/events/kmem.h
      file. Only slab.c had it missing.
      
      Link: http://lkml.kernel.org/r/20120105190405.1e3191fb5a43b2a0f1655e1f@canb.auug.org.auReported-by: default avatarStephen Rothwell <sfr@canb.auug.org.au>
      Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      4dee6b64