1. 26 May, 2010 1 commit
    • David S. Miller's avatar
      sparc32: Kill none_mask, it's bogus. · c87fe1c0
      David S. Miller authored
      For some reason, the pte_none() calculation for srmmu sparc32
      chips was masking out the top 4 bits.  That doesn't make any
      sense, as those are just some of the physical bits of the PTE
      encoding.
      
      Furthermore, this mistake breaks things when the offset of of a swap
      entry has a large enough offset as reported by Тхай Кирилл.
      
      Sun4c always set it to zero, so it's really completely useless,
      kill it.
      Reported-by: default avatarТхай Кирилл <tkhai@yandex.ru>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      c87fe1c0
  2. 25 May, 2010 39 commits
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 · b1cdc467
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (63 commits)
        drivers/net/usb/asix.c: Fix pointer cast.
        be2net: Bug fix to avoid disabling bottom half during firmware upgrade.
        proc_dointvec: write a single value
        hso: add support for new products
        Phonet: fix potential use-after-free in pep_sock_close()
        ath9k: remove VEOL support for ad-hoc
        ath9k: change beacon allocation to prefer the first beacon slot
        sock.h: fix kernel-doc warning
        cls_cgroup: Fix build error when built-in
        macvlan: do proper cleanup in macvlan_common_newlink() V2
        be2net: Bug fix in init code in probe
        net/dccp: expansion of error code size
        ath9k: Fix rx of mcast/bcast frames in PS mode with auto sleep
        wireless: fix sta_info.h kernel-doc warnings
        wireless: fix mac80211.h kernel-doc warnings
        iwlwifi: testing the wrong variable in iwl_add_bssid_station()
        ath9k_htc: rare leak in ath9k_hif_usb_alloc_tx_urbs()
        ath9k_htc: dereferencing before check in hif_usb_tx_cb()
        rt2x00: Fix rt2800usb TX descriptor writing.
        rt2x00: Fix failed SLEEP->AWAKE and AWAKE->SLEEP transitions.
        ...
      b1cdc467
    • Linus Torvalds's avatar
      Merge branch 'alpha-next' of git://git.kernel.org/pub/scm/linux/kernel/git/mattst88/alpha-2.6 · ce7d0226
      Linus Torvalds authored
      * 'alpha-next' of git://git.kernel.org/pub/scm/linux/kernel/git/mattst88/alpha-2.6:
        alpha: simplify and optimize sched_find_first_bit
        alpha: invoke oom-killer from page fault
        Convert alpha to use clocksources instead of arch_gettimeoffset
      ce7d0226
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6 · b142ebb6
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6:
        driver core: add devname module aliases to allow module on-demand auto-loading
      b142ebb6
    • Linus Torvalds's avatar
      Revert "module: drop the lock while waiting for module to complete initialization." · 218ce735
      Linus Torvalds authored
      This reverts commit 480b02df, since
      Rafael reports that it causes occasional kernel paging request faults in
      load_module().
      
      Dropping the module lock and re-taking it deep in the call-chain is
      definitely not the right thing to do.  That just turns the mutex from a
      lock into a "random non-locking data structure" that doesn't actually
      protect what it's supposed to protect.
      Requested-and-tested-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      Cc: Rusty Russell <rusty@rustcorp.com.au>
      Cc: Brandon Philips <brandon@ifup.org>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      218ce735
    • David S. Miller's avatar
      drivers/net/usb/asix.c: Fix pointer cast. · f925b130
      David S. Miller authored
      Stephen Rothwell reports the following new warning:
      
      drivers/net/usb/asix.c: In function 'asix_rx_fixup':
      drivers/net/usb/asix.c:325: warning: cast from pointer to integer of different size
      drivers/net/usb/asix.c:354: warning: cast from pointer to integer of different size
      
      The code just cares about the low alignment bits, so use
      an "unsigned long" cast instead of one to "u32".
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      f925b130
    • Sarveshwar Bandi's avatar
      be2net: Bug fix to avoid disabling bottom half during firmware upgrade. · dd131e76
      Sarveshwar Bandi authored
      Certain firmware commands/operations to upgrade firmware could take several
      seconds to complete. The code presently disables bottom half during these
      operations which could lead to unpredictable behaviour in certain cases. This
      patch now does all firmware upgrade operations asynchronously using a
      completion variable.
      Signed-off-by: default avatarSarveshwar Bandi <sarveshwarb@serverengines.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      dd131e76
    • J. R. Okajima's avatar
      proc_dointvec: write a single value · 563b0467
      J. R. Okajima authored
      The commit 00b7c339
      "sysctl: refactor integer handling proc code"
      modified the behaviour of writing to /proc.
      Before the commit, write("1\n") to /proc/sys/kernel/printk succeeded. But
      now it returns EINVAL.
      
      This commit supports writing a single value to a multi-valued entry.
      Signed-off-by: default avatarJ. R. Okajima <hooanon05@yahoo.co.jp>
      Reviewed-and-tested-by: default avatarWANG Cong <amwang@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      563b0467
    • Filip Aben's avatar
      hso: add support for new products · dd7496f2
      Filip Aben authored
      This patch adds a few new product id's for the hso driver.
      Signed-off-by: default avatarFilip Aben <f.aben@option.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      dd7496f2
    • Rémi Denis-Courmont's avatar
      Phonet: fix potential use-after-free in pep_sock_close() · e513480e
      Rémi Denis-Courmont authored
      sk_common_release() might destroy our last reference to the socket.
      So an extra temporary reference is needed during cleanup.
      Signed-off-by: default avatarRémi Denis-Courmont <remi.denis-courmont@nokia.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      e513480e
    • Matt Turner's avatar
      alpha: simplify and optimize sched_find_first_bit · a75f5f0f
      Matt Turner authored
      Search only the first 100 bits instead of 140, saving a couple
      instructions. The resulting code is about 1/3 faster (40K ticks/1000
      iterations down to 30K ticks/1000 iterations).
      
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
      Cc: linux-alpha@vger.kernel.org
      Acked-by: default avatarRichard Henderson <rth@twiddle.net>
      Signed-off-by: default avatarMatt Turner <mattst88@gmail.com>
      a75f5f0f
    • Nick Piggin's avatar
      alpha: invoke oom-killer from page fault · 1cb3d8e2
      Nick Piggin authored
      As explained in commit 1c0fe6e3, we want to call the architecture
      independent oom killer when getting an unexplained OOM from
      handle_mm_fault, rather than simply killing current.
      
      [mattst88: kill now unused 'survive' label]
      Cc: linux-alpha@vger.kernel.org
      Cc: Richard Henderson <rth@twiddle.net>
      Cc: linux-arch@vger.kernel.org
      Acked-by: default avatarDavid Rientjes <rientjes@google.com>
      Signed-off-by: default avatarMatt Turner <mattst88@gmail.com>
      Signed-off-by: default avatarNick Piggin <npiggin@suse.de>
      1cb3d8e2
    • John Stultz's avatar
      Convert alpha to use clocksources instead of arch_gettimeoffset · 9ce34c8f
      John Stultz authored
      Alpha has a tsc like rpcc counter that it uses to manage time.
      This can be converted to an actual clocksource instead of utilizing
      the arch_gettimeoffset method that is really only there for legacy
      systems with no continuous counter.
      
      Further cleanups could be made if alpha converted to the clockevent
      model.
      
      CC: Thomas Gleixner <tglx@linutronix.de>
      CC: Richard Henderson <rth@twiddle.net>
      Acked-by: default avatarIvan Kokshaysky <ink@jurassic.park.msu.ru>
      Tested-by: default avatarIvan Kokshaysky <ink@jurassic.park.msu.ru>
      Signed-off-by: default avatarMatt Turner <mattst88@gmail.com>
      Signed-off-by: default avatarJohn Stultz <johnstul@us.ibm.com>
      9ce34c8f
    • Kay Sievers's avatar
      driver core: add devname module aliases to allow module on-demand auto-loading · 578454ff
      Kay Sievers authored
      This adds:
        alias: devname:<name>
      to some common kernel modules, which will allow the on-demand loading
      of the kernel module when the device node is accessed.
      
      Ideally all these modules would be compiled-in, but distros seems too
      much in love with their modularization that we need to cover the common
      cases with this new facility. It will allow us to remove a bunch of pretty
      useless init scripts and modprobes from init scripts.
      
      The static device node aliases will be carried in the module itself. The
      program depmod will extract this information to a file in the module directory:
        $ cat /lib/modules/2.6.34-00650-g537b60d1-dirty/modules.devname
        # Device nodes to trigger on-demand module loading.
        microcode cpu/microcode c10:184
        fuse fuse c10:229
        ppp_generic ppp c108:0
        tun net/tun c10:200
        dm_mod mapper/control c10:235
      
      Udev will pick up the depmod created file on startup and create all the
      static device nodes which the kernel modules specify, so that these modules
      get automatically loaded when the device node is accessed:
        $ /sbin/udevd --debug
        ...
        static_dev_create_from_modules: mknod '/dev/cpu/microcode' c10:184
        static_dev_create_from_modules: mknod '/dev/fuse' c10:229
        static_dev_create_from_modules: mknod '/dev/ppp' c108:0
        static_dev_create_from_modules: mknod '/dev/net/tun' c10:200
        static_dev_create_from_modules: mknod '/dev/mapper/control' c10:235
        udev_rules_apply_static_dev_perms: chmod '/dev/net/tun' 0666
        udev_rules_apply_static_dev_perms: chmod '/dev/fuse' 0666
      
      A few device nodes are switched to statically allocated numbers, to allow
      the static nodes to work. This might also useful for systems which still run
      a plain static /dev, which is completely unsafe to use with any dynamic minor
      numbers.
      
      Note:
      The devname aliases must be limited to the *common* and *single*instance*
      device nodes, like the misc devices, and never be used for conceptually limited
      systems like the loop devices, which should rather get fixed properly and get a
      control node for losetup to talk to, instead of creating a random number of
      device nodes in advance, regardless if they are ever used.
      
      This facility is to hide the mess distros are creating with too modualized
      kernels, and just to hide that these modules are not compiled-in, and not to
      paper-over broken concepts. Thanks! :)
      
      Cc: Greg Kroah-Hartman <gregkh@suse.de>
      Cc: David S. Miller <davem@davemloft.net>
      Cc: Miklos Szeredi <miklos@szeredi.hu>
      Cc: Chris Mason <chris.mason@oracle.com>
      Cc: Alasdair G Kergon <agk@redhat.com>
      Cc: Tigran Aivazian <tigran@aivazian.fsnet.co.uk>
      Cc: Ian Kent <raven@themaw.net>
      Signed-Off-By: default avatarKay Sievers <kay.sievers@vrfy.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      578454ff
    • David S. Miller's avatar
    • David S. Miller's avatar
    • Linus Torvalds's avatar
      Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm · ec96e2fe
      Linus Torvalds authored
      * 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm: (103 commits)
        ARM: 6141/1: Add audio support part in arch/arm/mach-w90x900
        ARM: 5939/1: ARM: Add option CMDLINE_FORCE to force usage of the in-kernel cmdline
        ARM: 6140/1: silence a bogus sparse warning in unwind.c
        ARM: mach-at91: duplicated include
        ARM: arch/arm/nwfpe/fpsr.h: Checkpatch cleanup
        ARM: arch/arm/mach-shark/pci.c: Checkpatch cleanup
        ARM: arch/arm/nwfpe/ChangeLog: Checkpatch cleanup
        ARM: arch/arm/mach-sa1100/leds.c: Checkpatch cleanup
        ARM: arch/arm/mach-h720x/common.h: Checkpatch cleanup
        ARM: arch/arm/mach-footbridge/ebsa285-pci.c: Checkpatch cleanup
        ARM: arch/arm/mach-clps711x/Makefile.boot: Checkpatch cleanup
        ARM: arch/arm/boot/bootp/bootp.lds: Checkpatch cleanup
        ARM: SPEAR6xx: remove duplicated #include
        ARM: s3c6400_defconfig: Add NAND driver
        ARM: s3c6400_defconfig: enable sound as modules
        ARM: s3c6400_defconfig: enable power management
        ARM: s5pv210_defconfig: Update s5pv210_defconfig to v2.6.34
        ARM: s5pc110_defconfig: Update s5pc110_defconfig to v2.6.34
        ARM: s5p6442_defconfig: Update s5p6442_defconfig to v2.6.34
        ARM: s5p6440_defconfig: Update s5p6440_defconfig to v2.6.34
        ...
      ec96e2fe
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband · 8e9815a0
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:
        RDMA/nes: Fix incorrect unlock in nes_process_mac_intr()
        RDMA/nes: Async event for closed QP causes crash
        RDMA/nes: Have ethtool read hardware registers for rx/tx stats
        RDMA/cxgb4: Only insert sq qid in lookup table
        RDMA/cxgb4: Support IB_WR_READ_WITH_INV opcode
        RDMA/cxgb4: Set fence flag for inv-local-stag work requests
        RDMA/cxgb4: Update some HW limits
        RDMA/cxgb4: Don't limit fastreg page list depth
        RDMA/cxgb4: Return proper errors in fastreg mr/pbl allocation
        RDMA/cxgb4: Fix overflow bug in CQ arm
        RDMA/cxgb4: Optimize CQ overflow detection
        RDMA/cxgb4: CQ size must be IQ size - 2
        RDMA/cxgb4: Register RDMA provider based on LLD state_change events
        RDMA/cxgb4: Detach from the LLD after unregistering RDMA device
        IB/ipath: Remove support for QLogic PCIe QLE devices
        IB/qib: Add new qib driver for QLogic PCIe InfiniBand adapters
        IB/mad: Make needlessly global mad_sendq_size/mad_recvq_size static
        IB/core: Allow device-specific per-port sysfs files
        mlx4_core: Clean up mlx4_alloc_icm() a bit
        mlx4_core: Fix possible chunk sg list overflow in mlx4_alloc_icm()
      8e9815a0
    • Linus Torvalds's avatar
      Merge branch 'next-spi' of git://git.secretlab.ca/git/linux-2.6 · 702c0b04
      Linus Torvalds authored
      * 'next-spi' of git://git.secretlab.ca/git/linux-2.6:
        spi/xilinx: Fix compile error
        spi/davinci: Fix clock prescale factor computation
        spi: move bitbang txrx utility functions to private header
        spi/mpc5121: Add SPI master driver for MPC5121 PSC
        powerpc/mpc5121: move PSC FIFO memory init to platform code
        spi/ep93xx: implemented driver for Cirrus EP93xx SPI controller
        Documentation/spi/* compile warning fix
        spi/omap2_mcspi: Check params before dereference or use
        spi/omap2_mcspi: add turbo mode support
        spi/omap2_mcspi: change default DMA_MIN_BYTES value to 160
        spi/pl022: fix stop queue procedure
        spi/pl022: add support for the PL023 derivate
        spi/pl022: fix up differences between ARM and ST versions
        spi/spi_mpc8xxx: Do not use map_tx_dma to unmap rx_dma
        spi/spi_mpc8xxx: Fix QE mode Litte Endian
        spi/spi_mpc8xxx: fix potential memory corruption.
      702c0b04
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu · c19eb8f0
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu:
        arch/m68knommu/platform/68360/commproc.c: Checkpatch cleanup
        arch/m68knommu/mm/fault.c: Checkpatch cleanup
        m68knommu: improve short help of m68knommu/Kconfig/RAMSIZE for '0' case
        m68knommu: remove un-used mcfsmc.h
        m68knommu: add smc91x support for ColdFire NETtel boards
        m68knommu: add smc91x support to ColdFire 5249 platform
        m68knommu: remove size limit on non-MMU TASK_SIZE
        m68knommu: fix broken use of BUAD_TABLE_SIZE in 68328serial driver
        m68knommu: Coldfire QSPI platform support
      c19eb8f0
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/voltage-2.6 · 99765cc7
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/voltage-2.6:
        regulator: return set_mode is same mode is requested
        Regulators: ab3100/bq24022: add a missing .owner field in regulator_desc
        twl6030: regulator: Remove vsel tables and use formula for calculation
        mc13783-regulator: fix vaild voltage range checking for mc13783_fixed_regulator_set_voltage
        regulator: use voltage number array in 88pm860x
        regulator: make 88pm860x sharing one driver structure
        regulator: simplify regulator_register() error handling
        regulator: fix unset_regulator_supplies() to remove all matches
        regulator: prevent registration of matching regulator consumer supplies
        regulator: Allow regulator-regulator supplies to be specified by name
      99765cc7
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog · 51e618c3
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog:
        watchdog: Driver for the watchdog timer on Freescale IMX2 (and later) processors.
        watchdog: s3c2410_wdt - Fix on handling of the request_mem_region fail
        watchdog: s3c2410_wdt - Add extra option to include watchdog for Samsung SoCs
        iTCO_wdt: fix TCO V1 timeout values and limits
        watchdog: twl4030_wdt: Disable watchdog during probing
        watchdog: update/improve/consolidate watchdog driver
        watchdog: booke_wdt: fix ioctl status flags
        watchdog: fix several MODULE_PARM_DESC strings
        watchdog: bfin: use new common Blackfin watchdog header
      51e618c3
    • Roland Dreier's avatar
    • Chien Tung's avatar
      RDMA/nes: Fix incorrect unlock in nes_process_mac_intr() · b17e0969
      Chien Tung authored
      Commit ce6e74f2 ("RDMA/nes: Make nesadapter->phy_lock usage
      consistent") introduced a problem where phy_lock was only unlocked
      within an if statement and so nes_process_mac_intr() could return with
      phy_lock still held.  Fix this.
      
      This was discovered because of the sparse warning:
      
          drivers/infiniband/hw/nes/nes_hw.c:2643:9: warning: context imbalance in 'nes_process_mac_intr' - different lock contexts for basic block
      Reported-by: default avatarRoland Dreier <rdreier@cisco.com>
      Signed-off-by: default avatarChien Tung <chien.tin.tung@intel.com>
      Signed-off-by: default avatarRoland Dreier <rolandd@cisco.com>
      b17e0969
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes · f16a5e34
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes:
        GFS2: Fix permissions checking for setflags ioctl()
        GFS2: Don't "get" xattrs for ACLs when ACLs are turned off
        GFS2: Rework reclaiming unlinked dinodes
      f16a5e34
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs · 110b9384
      Linus Torvalds authored
      * 'for-linus' of git://oss.sgi.com/xfs/xfs:
        xfs: Ensure inode allocation buffers are fully replayed
        xfs: enable background pushing of the CIL
        xfs: forced unmounts need to push the CIL
        xfs: Introduce delayed logging core code
        xfs: Delayed logging design documentation
        xfs: Improve scalability of busy extent tracking
        xfs: make the log ticket ID available outside the log infrastructure
        xfs: clean up log ticket overrun debug output
        xfs: Clean up XFS_BLI_* flag namespace
        xfs: modify buffer item reference counting
        xfs: allow log ticket allocation to take allocation flags
        xfs: Don't reuse the same transaction ID for duplicated transactions.
      110b9384
    • Linus Torvalds's avatar
      Merge git://git.infradead.org/battery-2.6 · 4961ab93
      Linus Torvalds authored
      * git://git.infradead.org/battery-2.6:
        power_supply: Fix regression for 'type' property
      4961ab93
    • Felix Fietkau's avatar
      ath9k: remove VEOL support for ad-hoc · a65e4cb4
      Felix Fietkau authored
      With VEOL, Beacon transmission in ad-hoc does not currently work.
      I believe for larger ad-hoc networks, VEOL is too unreliable, as
      it can get beacon transmissions stuck during synchronization.
      Use SWBA based beacon trasmission similar to AP mode instead.
      Signed-off-by: default avatarFelix Fietkau <nbd@openwrt.org>
      Acked-by: default avatarBenoit Papillault <benoit.papillault@free.fr>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      a65e4cb4
    • Felix Fietkau's avatar
      ath9k: change beacon allocation to prefer the first beacon slot · 774610e4
      Felix Fietkau authored
      This fixes IBSS beacon transmissions without VEOL enabled
      Signed-off-by: default avatarFelix Fietkau <nbd@openwrt.org>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      774610e4
    • Henrik Kretzschmar's avatar
      auxdisplay: section cleanup in cfag12864bfb driver · bf87eae9
      Henrik Kretzschmar authored
      This fixes a two section mismatches and makes remove() __devexit.
      Signed-off-by: default avatarHenrik Kretzschmar <henne@nachtwindheim.de>
      Cc: Miguel Ojeda Sandonis <miguel.ojeda.sandonis@gmail.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      bf87eae9
    • Dan Carpenter's avatar
      nuc900fb: release correct mem region · a42dcb88
      Dan Carpenter authored
      We should be releasing "res->start" here.
      Signed-off-by: default avatarDan Carpenter <error27@gmail.com>
      Acked-by: default avatarWan ZongShun <mcuos.com@gmail.com>
      Cc: Wang Qiang <rurality.linux@gmail.com>
      Cc: Russell King <rmk@arm.linux.org.uk>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      a42dcb88
    • Albert Herranz's avatar
      fb_defio: fix for non-dirty ptes · 49bbd815
      Albert Herranz authored
      Fix a problem observed while using fb_defio with a short delay on a
      PowerPC platform.
      
      It is possible that page_mkclean() is invoked in the deferred io work
      function _before_ a PTE has been marked dirty.  In this case, the page is
      removed from the defio pagelist but page_mkclean() does not write-protect
      the page again.  The end result is that defio ignores all subsequent
      writes to the page and the corresponding portions of the framebuffer never
      get updated.
      
      The fix consists in keeping track of the pages with non-dirty PTEs,
      re-checking them again on the next deferred io work iteration.  Note that
      those pages are not passed to the defio callback as they are not written
      by userspace yet.
      Signed-off-by: default avatarAlbert Herranz <albert_herranz@yahoo.es>
      Acked-by: default avatarJaya Kumar <jayakumar.lkml@gmail.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      49bbd815
    • Henrik Kretzschmar's avatar
      sgivwfb: fix sections · 0d5b0264
      Henrik Kretzschmar authored
      Since the drivers probe call was changed from .init.text to .devinit.text
      in commit c2e13037 ("platform-drivers:
      move probe to .devinit.text in drivers/video") the fb_fix_screeninfo and
      fb_var_screeninfo structures must be changed from .init.data to
      .devinit.data, too.
      
      Also the drivers remove routine should be moved from .text to .devexit.text
      
      It removes these 7 section mismatch warnings from modpost:
      
      WARNING: vmlinux.o(.devinit.text+0x1e28): Section mismatch in reference from the function sgivwfb_probe() to the variable .init.data:sgivwfb_fix
      The function __devinit sgivwfb_probe() references
      a variable __initdata sgivwfb_fix.
      If sgivwfb_fix is only used by sgivwfb_probe then
      annotate sgivwfb_fix with a matching annotation.
      
      WARNING: vmlinux.o(.devinit.text+0x1e50): Section mismatch in reference from the function sgivwfb_probe() to the (unknown reference) .init.data:(unknown)
      The function __devinit sgivwfb_probe() references
      a (unknown reference) __initdata (unknown).
      If (unknown) is only used by sgivwfb_probe then
      annotate (unknown) with a matching annotation.
      
      WARNING: vmlinux.o(.devinit.text+0x1e59): Section mismatch in reference from the function sgivwfb_probe() to the (unknown reference) .init.data:(unknown)
      The function __devinit sgivwfb_probe() references
      a (unknown reference) __initdata (unknown).
      If (unknown) is only used by sgivwfb_probe then
      annotate (unknown) with a matching annotation.
      
      WARNING: vmlinux.o(.devinit.text+0x1e60): Section mismatch in reference from the function sgivwfb_probe() to the variable .init.data:sgivwfb_fix
      The function __devinit sgivwfb_probe() references
      a variable __initdata sgivwfb_fix.
      If sgivwfb_fix is only used by sgivwfb_probe then
      annotate sgivwfb_fix with a matching annotation.
      
      WARNING: vmlinux.o(.devinit.text+0x1e6a): Section mismatch in reference from the function sgivwfb_probe() to the (unknown reference) .init.data:(unknown)
      The function __devinit sgivwfb_probe() references
      a (unknown reference) __initdata (unknown).
      If (unknown) is only used by sgivwfb_probe then
      annotate (unknown) with a matching annotation.
      
      WARNING: vmlinux.o(.devinit.text+0x1e7f): Section mismatch in reference from the function sgivwfb_probe() to the variable .init.data:sgivwfb_var1600sw
      The function __devinit sgivwfb_probe() references
      a variable __initdata sgivwfb_var1600sw.
      If sgivwfb_var1600sw is only used by sgivwfb_probe then
      annotate sgivwfb_var1600sw with a matching annotation.
      
      WARNING: vmlinux.o(.devinit.text+0x1e91): Section mismatch in reference from the function sgivwfb_probe() to the variable .init.data:sgivwfb_var
      The function __devinit sgivwfb_probe() references
      a variable __initdata sgivwfb_var.
      If sgivwfb_var is only used by sgivwfb_probe then
      annotate sgivwfb_var with a matching annotation.
      Signed-off-by: default avatarHenrik Kretzschmar <henne@nachtwindheim.de>
      Cc: Arnaud Patard <arnaud.patard@rtp-net.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      0d5b0264
    • Henrik Kretzschmar's avatar
      s3c2410fb: fix sections · a8ce4be7
      Henrik Kretzschmar authored
      Since the drivers probe calls were changed from .init.text to
      .devinit.text in commit c2e13037
      ("platform-drivers: move probe to .devinit.text in drivers/video") all the
      function from .init.text should be moved to .devinit.text, too.
      
      The drivers remove calls can also be move from .text to .devexit.text.
      Signed-off-by: default avatarHenrik Kretzschmar <henne@nachtwindheim.de>
      Cc: Vincent Sanders <support@simtec.co.uk>
      Acked-by: default avatarArnaud Patard <arnaud.patard@rtp-net.org>
      Tested-by: default avatarArnaud Patard <arnaud.patard@rtp-net.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      a8ce4be7
    • Henrik Kretzschmar's avatar
      hitfb: fix sections · e88a0f46
      Henrik Kretzschmar authored
      Since the drivers probe call was changed from .init.text to .devinit.text
      in commit c2e13037 ("platform-drivers:
      move probe to .devinit.text in drivers/video") the fb_fix_screeninfo and
      fb_var_screeninfo structures must be changed from .init.data to
      .devinit.data, too.
      
      Also the drivers remove routine should be moved from .exit.text to
      .devexit.text
      Signed-off-by: default avatarHenrik Kretzschmar <henne@nachtwindheim.de>
      Cc: Paul Mundt <lethal@linux-sh.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      e88a0f46
    • Grazvydas Ignotas's avatar
      fbdev: move FBIO_WAITFORVSYNC to linux/fb.h · 49c39b49
      Grazvydas Ignotas authored
      FBIO_WAITFORVSYNC is currently implemented by matroxfb, atyfb, intelfb and
      more.  All of them keep redefining the same FBIO_WAITFORVSYNC macro over
      and over again, so move it to linux/fb.h and clean up those duplicate
      defines.
      Signed-off-by: default avatarGrazvydas Ignotas <notasas@gmail.com>
      Cc: Ville Syrjala <syrjala@sci.fi>
      Cc: Grant Likely <grant.likely@secretlab.ca>
      Cc: Maik Broemme <mbroemme@plusserver.de>
      Cc: Petr Vandrovec <vandrove@vc.cvut.cz>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Krzysztof Helt <krzysztof.h1@poczta.fm>
      Cc: "Hiremath, Vaibhav" <hvaibhav@ti.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      49c39b49
    • Martin Ambrose's avatar
      fbdev: da8xx/omap-l1xx: implement double buffering · 1f9c3e1f
      Martin Ambrose authored
      This work includes the following:
      
      - Implement handler for FBIO_WAITFORVSYNC ioctl.
      
      - Allocate the data and palette buffers separately.  A consequence of
        this is that the palette and data loading is now done in different
        phases.  And that the LCD must be disabled temporarily after the palette
        is loaded but this will only happen once after init and each time the
        palette is changed.  I think this is OK.
      
      - Allocate two (ping and pong) framebuffers from memory.
      
      - Add pan_display handler which toggles the LCDC DMA registers between
        the ping and pong buffers.
      Signed-off-by: default avatarMartin Ambrose <martin@ti.com>
      Cc: Chaithrika U S <chaithrika@ti.com>
      Cc: Sudhakar Rajashekhara <sudhakar.raj@ti.com>
      Cc: Krzysztof Helt <krzysztof.h1@poczta.fm>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      1f9c3e1f
    • Henrik Kretzschmar's avatar
      fbdev: section cleanup in w100fb · fb6cb327
      Henrik Kretzschmar authored
      Fix up the section in the w100fb driver, by moving:
      
      *	w100fb_remove() from .text to .devexit.text
      
      *	w100_get_xtal_table() from .text to .devinit.text
      
      *	w100fb_init() from .devinit.text to .init.text
      Signed-off-by: default avatarHenrik Kretzschmar <henne@nachtwindheim.de>
      Acked-by: default avatarUwe Kleine-König <u.kleine-koenig@pengutronix.de>
      Cc: <stable@kernel.org>	[if "platform-drivers: move probe to .devinit.text in drivers/video" was merged]
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      fb6cb327
    • Henrik Kretzschmar's avatar
      fbdev: section cleanup in vga16fb · ad145846
      Henrik Kretzschmar authored
      Fix up the sections in the vga16fb driver, by moving:
      
      *	the variables vga16_defined and vga16fb
      	from .init.data to .devinit.data
      
      *	vga16fb_setup() from .text to .init.text
      
      *	vga16fb_remove() from .text. to .devexit.text
      
      This fixes the following warnings issued by modpost:
      
      WARNING: drivers/video/built-in.o(.devinit.text+0x1a420): Section mismatch in re
      ference from the function vga16fb_probe() to the (unknown reference) .init.data:
      (unknown)
      The function __devinit vga16fb_probe() references
      a (unknown reference) __initdata (unknown).
      If (unknown) is only used by vga16fb_probe then
      annotate (unknown) with a matching annotation.
      
      WARNING: drivers/video/built-in.o(.devinit.text+0x1a437): Section mismatch in reference from the function vga16fb_probe() to the variable .init.data:vga16fb_defined
      The function __devinit vga16fb_probe() references
      a variable __initdata vga16fb_defined.
      If vga16fb_defined is only used by vga16fb_probe then
      annotate vga16fb_defined with a matching annotation.
      
      WARNING: drivers/video/built-in.o(.devinit.text+0x1a457): Section mismatch in reference from the function vga16fb_probe() to the variable .init.data:vga16fb_fix
      The function __devinit vga16fb_probe() references
      a variable __initdata vga16fb_fix.
      If vga16fb_fix is only used by vga16fb_probe then
      annotate vga16fb_fix with a matching annotation.
      Signed-off-by: default avatarHenrik Kretzschmar <henne@nachtwindheim.de>
      Acked-by: default avatarUwe Kleine-König <u.kleine-koenig@pengutronix.de>
      Cc: <stable@kernel.org>	[if "platform-drivers: move probe to .devinit.text in drivers/video" was merged]
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      ad145846
    • Henrik Kretzschmar's avatar
      fbdev: section cleanup in vfb · 3cc04971
      Henrik Kretzschmar authored
      Fix up the section in the vfb driver, by moving the variables vfb_default
      and vfb_fix from .init.data to .devinit.data
      
      This fixes the following warnings issued by modpost:
      
      WARNING: drivers/video/vfb.o(.devinit.text+0xf8): Section mismatch in reference from the function vfb_probe() to the variable .init.data:vfb_default
      The function __devinit vfb_probe() references
      a variable __initdata vfb_default.
      If vfb_default is only used by vfb_probe then
      annotate vfb_default with a matching annotation.
      
      WARNING: drivers/video/vfb.o(.devinit.text+0x114): Section mismatch in reference from the function vfb_probe() to the variable .init.data:vfb_fix
      The function __devinit vfb_probe() references
      a variable __initdata vfb_fix.
      If vfb_fix is only used by vfb_probe then
      annotate vfb_fix with a matching annotation.
      Signed-off-by: default avatarHenrik Kretzschmar <henne@nachtwindheim.de>
      Acked-by: default avatarUwe Kleine-König <u.kleine-koenig@pengutronix.de>
      Cc: <stable@kernel.org>	[if "platform-drivers: move probe to .devinit.text in drivers/video" was merged]
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      3cc04971