31 Mar, 2011

1 commit


24 Mar, 2011

1 commit

  • * git://git.kernel.org/pub/scm/linux/kernel/git/lethal/fbdev-2.6: (140 commits)
    MAINTAINERS: de-orphan fbdev.
    MAINTAINERS: Add file pattern for fb dt bindings.
    video: Move sm501fb devicetree binding documentation to a better place.
    fbcon: fix situation where fbcon gets deinitialised and can't reinit.
    video, sm501: add OF binding to support SM501
    video, sm501: add edid and commandline support
    video, sm501: add I/O functions for use on powerpc
    video: Fix EDID macros H_SYNC_WIDTH and H_SYNC_OFFSET
    fbcon: Bugfix soft cursor detection in Tile Blitting
    video: add missing framebuffer_release in error path
    video: metronomefb: add __devexit_p around reference to metronomefb_remove
    video: hecubafb: add __devexit_p around reference to hecubafb_remove
    drivers:video:aty:radeon_base Fix typo occationally to occasionally
    atmel_lcdfb: add fb_blank function
    atmel_lcdfb: implement inverted contrast pwm
    video: s3c-fb: return proper error if clk_get fails
    uvesafb,vesafb: create WC or WB PAT-entries
    video: ffb: fix ffb_probe error path
    radeonfb: Let hwmon driver probe the "monid" I2C bus
    fbdev: sh_mobile_lcdc: checking NULL instead of IS_ERR()
    ...

    Linus Torvalds
     

23 Mar, 2011

1 commit

  • There may be multiple ways of controlling the backlight on a given
    machine. Allow drivers to expose the type of interface they are
    providing, making it possible for userspace to make appropriate policy
    decisions.

    Signed-off-by: Matthew Garrett
    Cc: Richard Purdie
    Cc: Chris Wilson
    Cc: David Airlie
    Cc: Alex Deucher
    Cc: Ben Skeggs
    Cc: Zhang Rui
    Cc: Len Brown
    Cc: Jesse Barnes
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Matthew Garrett
     

22 Mar, 2011

2 commits


16 Nov, 2010

1 commit

  • backlight_device_register has been expecting a const "ops" argument, and using
    it as such, since 9905a43b2d563e6f89e4c63c4278ada03f2ebb14. Let's make the
    remaining backlight_ops instances const.

    Inspired by hunks of the grsecurity patch, updated for newer kernels.

    Signed-off-by: Lionel Debroux
    Acked-by: Ingo Molnar
    Signed-off-by: Jiri Kosina

    Lionel Debroux
     

30 Mar, 2010

1 commit

  • …it slab.h inclusion from percpu.h

    percpu.h is included by sched.h and module.h and thus ends up being
    included when building most .c files. percpu.h includes slab.h which
    in turn includes gfp.h making everything defined by the two files
    universally available and complicating inclusion dependencies.

    percpu.h -> slab.h dependency is about to be removed. Prepare for
    this change by updating users of gfp and slab facilities include those
    headers directly instead of assuming availability. As this conversion
    needs to touch large number of source files, the following script is
    used as the basis of conversion.

    http://userweb.kernel.org/~tj/misc/slabh-sweep.py

    The script does the followings.

    * Scan files for gfp and slab usages and update includes such that
    only the necessary includes are there. ie. if only gfp is used,
    gfp.h, if slab is used, slab.h.

    * When the script inserts a new include, it looks at the include
    blocks and try to put the new include such that its order conforms
    to its surrounding. It's put in the include block which contains
    core kernel includes, in the same order that the rest are ordered -
    alphabetical, Christmas tree, rev-Xmas-tree or at the end if there
    doesn't seem to be any matching order.

    * If the script can't find a place to put a new include (mostly
    because the file doesn't have fitting include block), it prints out
    an error message indicating which .h file needs to be added to the
    file.

    The conversion was done in the following steps.

    1. The initial automatic conversion of all .c files updated slightly
    over 4000 files, deleting around 700 includes and adding ~480 gfp.h
    and ~3000 slab.h inclusions. The script emitted errors for ~400
    files.

    2. Each error was manually checked. Some didn't need the inclusion,
    some needed manual addition while adding it to implementation .h or
    embedding .c file was more appropriate for others. This step added
    inclusions to around 150 files.

    3. The script was run again and the output was compared to the edits
    from #2 to make sure no file was left behind.

    4. Several build tests were done and a couple of problems were fixed.
    e.g. lib/decompress_*.c used malloc/free() wrappers around slab
    APIs requiring slab.h to be added manually.

    5. The script was run on all .h files but without automatically
    editing them as sprinkling gfp.h and slab.h inclusions around .h
    files could easily lead to inclusion dependency hell. Most gfp.h
    inclusion directives were ignored as stuff from gfp.h was usually
    wildly available and often used in preprocessor macros. Each
    slab.h inclusion directive was examined and added manually as
    necessary.

    6. percpu.h was updated not to include slab.h.

    7. Build test were done on the following configurations and failures
    were fixed. CONFIG_GCOV_KERNEL was turned off for all tests (as my
    distributed build env didn't work with gcov compiles) and a few
    more options had to be turned off depending on archs to make things
    build (like ipr on powerpc/64 which failed due to missing writeq).

    * x86 and x86_64 UP and SMP allmodconfig and a custom test config.
    * powerpc and powerpc64 SMP allmodconfig
    * sparc and sparc64 SMP allmodconfig
    * ia64 SMP allmodconfig
    * s390 SMP allmodconfig
    * alpha SMP allmodconfig
    * um on x86_64 SMP allmodconfig

    8. percpu.h modifications were reverted so that it could be applied as
    a separate patch and serve as bisection point.

    Given the fact that I had only a couple of failures from tests on step
    6, I'm fairly confident about the coverage of this conversion patch.
    If there is a breakage, it's likely to be something in one of the arch
    headers which should be easily discoverable easily on most builds of
    the specific arch.

    Signed-off-by: Tejun Heo <tj@kernel.org>
    Guess-its-ok-by: Christoph Lameter <cl@linux-foundation.org>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: Lee Schermerhorn <Lee.Schermerhorn@hp.com>

    Tejun Heo
     

17 Mar, 2010

1 commit


08 Dec, 2009

1 commit


12 Nov, 2009

1 commit

  • at91sam9g45 non ES lots have an alternate pixel clock calculation formula.
    Introduce this one with condition on the cpu_is_xxxxx() macros.

    Newer 9g45 SOC will not have good pixel clock calculation without this
    fix.

    Signed-off-by: Nicolas Ferre
    Cc: Krzysztof Helt
    Cc: Haavard Skinnemoen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Nicolas Ferre
     

09 Nov, 2009

1 commit


12 Sep, 2009

1 commit


23 Jul, 2009

1 commit


09 Jul, 2009

1 commit


01 Jul, 2009

1 commit

  • Add a mutex to avoid a circular locking problem between the mm layer
    semaphore and fbdev ioctl mutex through the fb_mmap() call.

    Also, add mutex to all places where smem_start and smem_len fields change
    so the mutex inside the fb_mmap() is actually used. Changing of these
    fields before calling the framebuffer_register() are not mutexed.

    This is 2.6.31 material. It removes one lockdep (fb_mmap() and
    register_framebuffer()) but there is still another one (fb_release() and
    register_framebuffer()). It also cleans up handling of the smem_start and
    smem_len fields used by mutexed section of the fb_mmap().

    Signed-off-by: Krzysztof Helt
    Cc: Peter Zijlstra
    Cc: "Rafael J. Wysocki"
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Krzysztof Helt
     

17 Jun, 2009

1 commit

  • AFAICT the code which checks that the requested pixclock value is within
    bounds is incorrect. It ensures that the lcdc core clock is at least
    (bytes per pixel) times higher than the pixel clock rather than just
    greater than or equal to.

    There are tighter restrictions on the pixclock value as a function of bus
    width for STN panels but even then it isn't a simple relationship as
    currently checked for. IMO either something like the below patch should
    be applied or else more detailed checking logic should be implemented
    which takes in to account the panel type as well.

    Signed-off-by: Ben Nizette
    Acked-by: Nicolas Ferre
    Cc: Haavard Skinnemoen
    Cc: Daniel Glockner
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ben Nizette
     

29 May, 2009

1 commit

  • Remove wrong fifo size definition for some AT91 products.

    Due to a misunderstanding of some AT91 datasheets, a fifo size of 2048
    (words) has been introduced by mistake. In fact, all products (AT91/AT32)
    are sharing the same fifo size of 512 words.

    Signed-off-by: Nicolas Ferre
    Cc: Andrew Victor
    Acked-by: Haavard Skinnemoen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Nicolas Ferre
     

20 Nov, 2008

1 commit

  • The error test that follows the call to backlight_device_register semms
    not to concern the right variable.

    A simplified version of the semantic match that finds this problem is
    as follows:
    (http://www.emn.fr/x-info/coccinelle/)
    //
    @def0@
    expression x;
    position p0;
    @@
    x@p0 = backlight_device_register(...)

    @protected@
    expression def0.x,E;
    position def0.p0;
    position p;
    statement S;
    @@
    x@p0
    ... when != x = E
    if (!IS_ERR(x) && ...) {} else S

    @unprotected@
    expression def0.x;
    identifier fld;
    position def0.p0;
    position p != protected.p;
    @@
    x@p0
    ... when != x = E
    * x@p->fld
    //

    Signed-off-by: Julien Brunel
    Signed-off-by: Julia Lawall
    Acked-by: Nicolas Ferre
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Julien Brunel
     

17 Oct, 2008

1 commit


10 Oct, 2008

1 commit


19 Sep, 2008

1 commit


14 Sep, 2008

1 commit

  • When suspending the system with atmel_lcdfb enabled, I sometimes see
    this:

    atmel_lcdfb atmel_lcdfb.0: FIFO underflow 0x10

    Which can be explained by the fact that we're not stopping the LCD
    controller and its DMA engine when suspending, we're just gating the
    clocks to them.

    There's another potential issue which may be harder to trigger but
    much more nasty: If we gate the clocks at _just_ the right moment,
    e.g. when the DMA engine is doing a bus transaction, we may cause the
    DMA engine to violate the system bus protocol and cause a lockup.

    Avoid these issues by shutting down the LCD controller before entering
    suspend (and restarting it when resuming). This prevents the underrun
    from happening in the first place, and prevents whatever nastiness is
    happening when the bus clock stops in the middle of a DMA transfer.

    Signed-off-by: Haavard Skinnemoen
    Acked-by: Nicolas Ferre
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Haavard Skinnemoen
     

06 Sep, 2008

1 commit

  • If framebuffer registration failed in platform driver ->probe() callback,
    dev_get_drvdata() points to freed memory region, but ->remove() function
    try to use it and the following oops occurs:

    Unable to handle kernel NULL pointer dereference at virtual address 00000228
    pgd = c3a20000
    [00000228] *pgd=23a2b031, *pte=00000000, *ppte=00000000
    Internal error: Oops: 17 [#1]
    Modules linked in: atmel_lcdfb(-) cfbcopyarea cfbimgblt cfbfillrect [last unloaded: atmel_lcdfb]
    CPU: 0 Not tainted (2.6.27-rc2 #116)
    PC is at atmel_lcdfb_remove+0x14/0xf8 [atmel_lcdfb]
    LR is at platform_drv_remove+0x20/0x24
    pc : [] lr : [] psr: a0000013
    sp : c3a45e84 ip : c3a45ea0 fp : c3a45e9c
    r10: 00000002 r9 : c3a44000 r8 : c0026c04
    r7 : 00000880 r6 : c02bb228 r5 : 00000000 r4 : c02bb230
    r3 : bf007e3c r2 : c02bb230 r1 : 00000004 r0 : c02bb228
    Flags: NzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user
    Control: 0005317f Table: 23a20000 DAC: 00000015
    Process rmmod (pid: 6799, stack limit = 0xc3a44260)
    Stack: (0xc3a45e84 to 0xc3a46000)
    5e80: c02bb230 bf007e3c bf007e3c c3a45eac c3a45ea0 c0157d28 bf006bc0
    5ea0: c3a45ec4 c3a45eb0 c0156d20 c0157d18 c02bb230 c02bb2d8 c3a45ee0 c3a45ec8
    5ec0: c0156da8 c0156cb8 bf007e3c bf007ee0 c02c8e14 c3a45efc c3a45ee4 c0156018
    5ee0: c0156d50 bf007e3c bf007ee0 00000000 c3a45f18 c3a45f00 c0157220 c0155f9c
    5f00: 00000000 bf007ee0 bf008000 c3a45f28 c3a45f1c c0157e34 c01571ec c3a45f38
    5f20: c3a45f2c bf006ba8 c0157e30 c3a45fa4 c3a45f3c c005772c bf006ba4 656d7461
    5f40: 636c5f6c 00626664 c004c988 c3a45f80 c3a45f5c 00000000 c3a45fb0 00000000
    5f60: ffffffff becaccd8 00000880 00000000 000a5e80 00000001 bf007ee0 00000880
    5f80: c3a45f84 00000000 becaccd4 00000002 000003df 00000081 00000000 c3a45fa8
    5fa0: c0026a60 c0057584 00000002 000003df 00900081 000a5e80 00000880 00000000
    5fc0: becaccd4 00000002 000003df 00000000 000a5e80 00000001 00000002 0000005f
    5fe0: 4004f5ec becacbe8 0001a158 4004f5fc 20000010 00900081 f9ffbadf 7bbfb2bb
    Backtrace:
    [] (atmel_lcdfb_remove+0x0/0xf8 [atmel_lcdfb]) from [] (platform_drv_remove+0x20/0x24)
    r6:bf007e3c r5:bf007e3c r4:c02bb230
    [] (platform_drv_remove+0x0/0x24) from [] (__device_release_driver+0x78/0x98)
    [] (__device_release_driver+0x0/0x98) from [] (driver_detach+0x68/0x90)
    r5:c02bb2d8 r4:c02bb230
    [] (driver_detach+0x0/0x90) from [] (bus_remove_driver+0x8c/0xb4)
    r6:c02c8e14 r5:bf007ee0 r4:bf007e3c
    [] (bus_remove_driver+0x0/0xb4) from [] (driver_unregister+0x44/0x48)
    r6:00000000 r5:bf007ee0 r4:bf007e3c
    [] (driver_unregister+0x0/0x48) from [] (platform_driver_unregister+0x14/0x18)
    r6:bf008000 r5:bf007ee0 r4:00000000
    [] (platform_driver_unregister+0x0/0x18) from [] (atmel_lcdfb_exit+0x14/0x1c [atmel_lcdfb])
    [] (atmel_lcdfb_exit+0x0/0x1c [atmel_lcdfb]) from [] (sys_delete_module+0x1b8/0x22c)
    [] (sys_delete_module+0x0/0x22c) from [] (ret_fast_syscall+0x0/0x2c)
    r7:00000081 r6:000003df r5:00000002 r4:becaccd4
    Code: e92dd870 e24cb004 e59050c4 e1a06000 (e5954228)
    ---[ end trace 85476b184d9e68d8 ]---

    This patch fixes the oops.

    Signed-off-by: Stanislaw Gruszka
    Acked-by: Nicolas Ferre
    Acked-by: Krzysztof Helt
    Cc: Haavard Skinnemoen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Stanislaw Gruszka
     

13 Aug, 2008

2 commits

  • Specify how much physically continuous, DMA capable memory will be
    allocated at driver initialization time. This allow to create framebuffer
    device with larger virtual resolution. Combine with y-panning this can be
    used to implement double buffering acceleration method.

    Signed-off-by: Stanislaw Gruszka
    Acked-by: Haavard Skinnemoen
    Acked-by: Krzysztof Helt
    Cc: Nicolas Ferre
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Haavard Skinnemoen
     
  • Panning in the y-direction can be done by simply changing the DMA base
    address. This code is already in place, but FBIOPAN_DISPLAY will
    currently fail because ypanstep is 0.

    Set ypanstep to 1 to indicate that we do support y-panning and also set
    the necessary acceleration flags on AT91 (AVR32 already have them.)

    Signed-off-by: Haavard Skinnemoen
    Acked-by: Krzysztof Helt
    Cc: Nicolas Ferre
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Haavard Skinnemoen
     

07 Aug, 2008

1 commit


25 Jul, 2008

2 commits

  • Avoid division by zero in atmel_lcdfb_check_var() function.

    If pixclock is not specified while passing a var structure in
    the check_var() funtion, a division by zero occurs (when
    translating pixclock to KHz).

    This patch adds a checking of this value and try to choose a
    video mode in the modelist.

    The mode found in the probe function in added to the modelist.

    [akpm@linux-foundation.org: coding-style fixes]
    Signed-off-by: Nicolas Ferre
    Cc: Haavard Skinnemoen
    Cc: Andrew Victor
    Cc: "Antonino A. Daplas"
    Cc: Krzysztof Helt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Nicolas Ferre
     
  • Manage atmel_lcdfb FIFO underflow

    Resetting the LCD and DMA allows to fix screen shifting after a FIFO
    underflow. It follows reset sequence from errata "LCD Screen Shifting
    After a Reset".

    Signed-off-by: Nicolas Ferre
    Cc: Haavard Skinnemoen
    Cc: Andrew Victor
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Nicolas Ferre
     

13 May, 2008

1 commit

  • Fix divider calculation and allow CLKVAL = 0 (divisor 2)

    It was not possible to get the clock value 0 (divisor 2) because
    the test "
    Cc: Per Hedblom
    Cc: Roel Kluin
    Cc: Jan Weber
    Cc: Andrew Victor
    Cc: Haavard Skinnemoen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Nicolas Ferre
     

28 Apr, 2008

4 commits

  • AT91SAM9RL soc has a 2048 bytes deep FIFO, like AT91SAM9263.

    [bn@niasdigital.com: fix build breakage in atmel_lcdfb]
    Signed-off-by: Nicolas Ferre
    Cc: "Antonino A. Daplas"
    Cc: Nicolas FERRE
    Cc: Andrew Victor
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Nicolas Ferre
     
  • Adds different wiring mode for the LCD screen.

    The legacy atmel LCDC IP uses a non standard color mode, "BGR-555.1" instead
    "RGB-565". The major part of graphic stacks for embedded systems uses only
    "RGB-565". It is possible to swap LCD IOs instead of doing this bit swapping
    by software (See application note AT91SAM9 LCD Controller
    http://www.atmel.com/dyn/resources/prod_documents/doc6300.pdf)

    This wire swapping is done on the at91sam9rl-ek board (board code
    using this patch will come later).

    Signed-off-by: Nicolas Ferre
    Cc: David Brownell
    Cc: Hans-Christian Egtvedt
    Cc: Haavard Skinnemoen
    Cc: Andrew Victor
    Cc: "Antonino A. Daplas"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Nicolas Ferre
     
  • Teach atmel_lcdfb driver how to suspend/resume.

    Note that the backlight control should probably do more of the same stuff:
    turning off display power (more than just the backlight) and stopping the
    clocks (and dma to drive the no-longer-seen display). No point in wasting
    power to generate images that can't be observed, after all...

    Signed-off-by: David Brownell
    Signed-off-by: Nicolas Ferre
    Cc: Hans-Christian Egtvedt
    Cc: Haavard Skinnemoen
    Cc: Andrew Victor
    Cc: "Antonino A. Daplas"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Brownell
     
  • If the user specified a fixed framebuffer address on the command line, it may
    have been initialized already with a splash image or something, so we
    shouldn't clear it.

    Therefore, we should only initialize the framebuffer if we allocated it
    ourselves. This patch also updates the AVR32 setup code to clear the
    framebuffer if it allocated it itself, i.e. the user didn't provide a fixed
    address or the reservation failed.

    I've updated the at91 platform code as well so that it initializes the
    framebuffer if it is located in SRAM, but I haven't tested that it actually
    works.

    Signed-off-by: Haavard Skinnemoen
    Cc: "Antonino A. Daplas"
    Cc: Nicolas FERRE
    Cc: Andrew Victor
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Haavard Skinnemoen
     

07 Feb, 2008

2 commits

  • On the sam9 EK boards, the LCD backlight is hooked up to a PWM output from
    the LCD controller. It's controlled by "contrast" registers though.

    This patch lets boards declare that they have that kind of backlight
    control. The driver can then export this control, letting screenblank and
    other operations actually take effect ... reducing the typically
    substantial power drain from the backlight.

    Note that it's not fully cooked
    - doesn't force backlight off during system suspend
    - the "power" and "blank" events may not be done right
    This should be easily added in the future.

    [nicolas.ferre@atmel.com: remove unneeded inline and rename functions]
    Signed-off-by: David Brownell
    Signed-off-by: Nicolas Ferre
    Cc: Andrew Victor
    Cc: Russell King
    Cc: "Antonino A. Daplas"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Brownell
     
  • Setting a display timing parameter too high or too low may cause it to
    wrap around and thus become completely wrong. Validate the timings in
    atmel_lcdfb_check_var() and saturate to the highest or lowest possible
    value if necessary.

    Signed-off-by: Haavard Skinnemoen
    Cc: "Antonino A. Daplas"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Haavard Skinnemoen
     

26 Jan, 2008

1 commit


15 Jan, 2008

1 commit


30 Nov, 2007

1 commit

  • This patch adds an additional loop, that delays turning off the DMA
    until the LCDC core has been turned off. This prevents the picture
    to be shifted some random length when the kernel re-initializes
    the LCDC.

    Without this patch, the LCDC keeps running for some small time after the
    PWRCON:LCD_PWR has been cleared ; the FIFO suffers an underrun and on
    re-starting the LCDC the FIFO data stays shifted.

    This behavior has been seen and fixed on AT91SAM9261-EK and two custom
    AT91SAM9261 boards, all of them having different LCD panels.

    Thanks a lot to Anti Sullin for submitting this patch (long
    time ago).

    Signed-off-by: Anti Sullin
    Signed-off-by: Andrew Victor
    Signed-off-by: Nicolas Ferre
    Acked-by: Haavard Skinnemoen
    Cc: "Antonino A. Daplas"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Anti Sullin
     

22 Jul, 2007

2 commits

  • Set var->transp.offset and var->transp.length in 32bpp mode to indicate
    that the 8 otherwise unused bits can be used for transparency.

    Signed-off-by: Haavard Skinnemoen
    Signed-off-by: Nicolas Ferre
    Cc: "Antonino A. Daplas"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Haavard Skinnemoen
     
  • Fixes STN LCD support for the atmel_lcdfb framebuffer driver.

    This patch is the result of a work from Jan Altenberg and has
    been tested on a Hitachi SP06Q002 on at91sam9261ek.

    It adds a Kconfig switch that enables the proper LCD in the
    board configuration file (STN or TFT). The switch is used
    in arch/arm/mach-at91/at91sam9261_devices.c & board-sam9261ek.c
    as an example.

    This patch includes the "Fix wrong line_length calculation"
    little one from Jan and Haavard (submitted earlier).

    AT91 platform informations are directly submitted trough
    the at91 maintainer, here :
    http://article.gmane.org/gmane.linux.kernel/543158

    Signed-off-by: Nicolas Ferre
    Cc: "Antonino A. Daplas"
    Cc: Jan Altenberg
    Cc: Patrice Vilchez
    Cc: Andrew Victor
    Cc: Haavard Skinnemoen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Nicolas Ferre