11 Aug, 2010

40 commits

  • Fix mtd/nand_base.c kernel-doc warnings and typos.

    Warning(drivers/mtd/nand/nand_base.c:893): No description found for parameter 'mtd'
    Warning(drivers/mtd/nand/nand_base.c:893): No description found for parameter 'ofs'
    Warning(drivers/mtd/nand/nand_base.c:893): No description found for parameter 'len'
    Warning(drivers/mtd/nand/nand_base.c:893): No description found for parameter 'invert'
    Warning(drivers/mtd/nand/nand_base.c:930): No description found for parameter 'mtd'
    Warning(drivers/mtd/nand/nand_base.c:930): No description found for parameter 'ofs'
    Warning(drivers/mtd/nand/nand_base.c:930): No description found for parameter 'len'
    Warning(drivers/mtd/nand/nand_base.c:987): No description found for parameter 'mtd'
    Warning(drivers/mtd/nand/nand_base.c:987): No description found for parameter 'ofs'
    Warning(drivers/mtd/nand/nand_base.c:987): No description found for parameter 'len'
    Warning(drivers/mtd/nand/nand_base.c:2087): No description found for parameter 'len'

    Signed-off-by: Randy Dunlap
    Cc: David Woodhouse
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • Fix (delete) empty kernel-doc lines/warnings:
    Warning(drivers/message/fusion/mptbase.c:6916): bad line:
    Warning(drivers/message/fusion/mptbase.c:7060): bad line:

    Signed-off-by: Randy Dunlap
    Cc: Eric Moore
    Cc: James Bottomley
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • Signed-off-by: Changli Gao
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Changli Gao
     
  • Cc: Kulikov Vasiliy
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     
  • If iga_init() fails, code releases resources and continues to use it. It
    seems that after releasing resources 'return' should be.

    Signed-off-by: Kulikov Vasiliy
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kulikov Vasiliy
     
  • When we setup up the VMA flags for the mmap flag and we end up using the
    fallback mmap functionality we set the vma->vm_flags |= VM_IO. However we
    neglect to propagate the flag to the vma->vm_page_prot.

    This bug was found when Linux kernel was running under Xen. In that
    scenario, any page that has VM_IO flag to it, means that it MUST be a
    MMIO/VRAM backend memory , _not_ System RAM. That is what the fbmem.c
    does: sets VM_IO, ioremaps the region - everything is peachy.

    Well, not exactly. The vm_page_prot does not get the relevant PTE flags
    set (_PAGE_IOMAP) which under Xen is a death-kneel to pages that are
    referencing real physical devices but don't have that flag set.

    This patch fixes this.

    Signed-off-by: Konrad Rzeszutek Wilk
    Signed-off-by: Daniel De Graaf
    Tested-by: Eamon Walsh
    Cc: Florian Tobias Schandinat
    Cc: Dave Airlie
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Daniel De Graaf
     
  • Since "s3c-fb: Automatically calculate pixel clock when none is given",
    there's no need for manually calculating the pixel clock anymore so remove
    these lines and add the correct refresh rate where appropriately.

    Signed-off-by: Maurus Cuelenaere
    Cc: Pawel Osciak
    Cc: Marek Szyprowski
    Cc: Kyungmin Park
    Cc: InKi Dae
    Cc: Ben Dooks
    Cc: Russell King
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Maurus Cuelenaere
     
  • Add a simple algorithm which calculates the pixel clock based on the video
    mode parameters. This is only done when no pixel clock is supplied
    through the platform data.

    This allows drivers to omit the pixel clock data and thus share the
    algorithm used for calculating it.

    Signed-off-by: Maurus Cuelenaere
    Cc: Pawel Osciak
    Cc: Marek Szyprowski
    Cc: Kyungmin Park
    Cc: InKi Dae
    Cc: Ben Dooks
    Cc: Russell King
    Tested-by: Donghwa Lee
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Maurus Cuelenaere
     
  • S5PV210 SoCs allow enabling/disabling DMA channels per window. For a
    window to display data from framebuffer memory, its channel has to be
    enabled.

    Signed-off-by: Pawel Osciak
    Signed-off-by: Marek Szyprowski
    Signed-off-by: Kyungmin Park
    Cc: InKi Dae
    Cc: Ben Dooks
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Pawel Osciak
     
  • This patch fixes the following section mismatch errors:

    WARNING: vmlinux.o(.data+0x20b40): Section mismatch in reference from the variable s3c_fb_driver_ids to the (unknown reference) .devinit.data:(unknown)
    The variable s3c_fb_driver_ids references
    the (unknown reference) __devinitdata (unknown)
    If the reference is valid then annotate the
    variable with __init* or __refdata (see linux/init.h) or name the variable:
    *driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console,

    WARNING: vmlinux.o(.data+0x20b58): Section mismatch in reference from the variable s3c_fb_driver_ids to the (unknown reference) .devinit.data:(unknown)
    The variable s3c_fb_driver_ids references
    the (unknown reference) __devinitdata (unknown)
    If the reference is valid then annotate the
    variable with __init* or __refdata (see linux/init.h) or name the variable:
    *driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console,

    WARNING: vmlinux.o(.data+0x20b70): Section mismatch in reference from the variable s3c_fb_driver_ids to the (unknown reference) .devinit.data:(unknown)
    The variable s3c_fb_driver_ids references
    the (unknown reference) __devinitdata (unknown)
    If the reference is valid then annotate the
    variable with __init* or __refdata (see linux/init.h) or name the variable:
    *driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console,

    Signed-off-by: Marek Szyprowski
    Signed-off-by: Kyungmin Park
    Cc: InKi Dae
    Cc: Ben Dooks
    Cc: Marek Szyprowski
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Marek Szyprowski
     
  • Newer hardware (S3C6410, S5P) have the ability to block updates from
    shadow registers during reconfiguration. Add protect calls for set_par
    and clear protection when resetting.

    Signed-off-by: Pawel Osciak
    Signed-off-by: Kyungmin Park
    Cc: InKi Dae
    Cc: Ben Dooks
    Cc: Marek Szyprowski
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Pawel Osciak
     
  • S3C64xx and S5P OSD registers for OSD size and alpha are as follows:
    VIDOSDC: win 0 - size, win 1-4: alpha
    VIDOSDD: win 1-2 - size; not present for windows 0, 3 and 4

    Signed-off-by: Pawel Osciak
    Signed-off-by: Kyungmin Park
    Cc: InKi Dae
    Cc: Ben Dooks
    Cc: Marek Szyprowski
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Pawel Osciak
     
  • S5PV210 allows per-window locking of register value updates from shadow
    registers.

    Signed-off-by: Pawel Osciak
    Signed-off-by: Kyungmin Park
    Cc: InKi Dae
    Cc: Ben Dooks
    Cc: Marek Szyprowski
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Pawel Osciak
     
  • Signed-off-by: Pawel Osciak
    Signed-off-by: Kyungmin Park
    Cc: InKi Dae
    Cc: Ben Dooks
    Cc: Marek Szyprowski
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Pawel Osciak
     
  • Add VSYNC interrupt support and an ioctl that allows waiting for it.
    Interrupts are turned on only when needed.

    Signed-off-by: Pawel Osciak
    Signed-off-by: Kyungmin Park
    Cc: InKi Dae
    Cc: Ben Dooks
    Cc: Marek Szyprowski
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Pawel Osciak
     
  • Supports all bpp modes.

    The PRTCON register is used to disable in-hardware updates of registers
    that store start and end addresses of framebuffer memory. This prevents
    display corruption in case we do not make it before VSYNC with updating
    them atomically. With this feature there is no need to wait for a VSYNC
    interrupt before each such update.

    Signed-off-by: Pawel Osciak
    Signed-off-by: Kyungmin Park
    Cc: InKi Dae
    Cc: Ben Dooks
    Cc: Marek Szyprowski
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Pawel Osciak
     
  • Add framebuffer device name initialization calls for S3C2443, S3C64xx and
    S5P machines.

    Signed-off-by: Pawel Osciak
    Signed-off-by: Kyungmin Park
    Cc: InKi Dae
    Cc: Ben Dooks
    Cc: Marek Szyprowski
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Pawel Osciak
     
  • S5PC100 and S5PV210 framebuffer devices differ slightly in terms of
    available registers and their driver data structures have to be separate.
    Those differences include dissimilar ways to control shadow register
    updates.

    Signed-off-by: Pawel Osciak
    Signed-off-by: Kyungmin Park
    Cc: InKi Dae
    Cc: Ben Dooks
    Cc: Marek Szyprowski
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Pawel Osciak
     
  • FRAMESEL1 bitfield starts on 13th bit, not on 14th.

    Signed-off-by: Pawel Osciak
    Signed-off-by: Kyungmin Park
    Acked-by: Ben Dooks
    Cc: InKi Dae
    Cc: Marek Szyprowski
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Pawel Osciak
     
  • The following problems were found in the above situation:

    sfb->windows[win] was being assigned at the end of s3c_fb_probe_win only.
    This resulted in passing a NULL to s3c_fb_release_win if probe_win
    returned early and a memory leak.

    dma_free_writecombine does not allow its third argument to be NULL.

    fb_dealloc_cmap does not verify whether its argument is not NULL.

    Signed-off-by: Pawel Osciak
    Signed-off-by: Kyungmin Park
    Cc: InKi Dae
    Cc: Ben Dooks
    Cc: Marek Szyprowski
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Pawel Osciak
     
  • Remove the palette setup code from the header files and put it into the
    main driver.

    Signed-off-by: Ben Dooks
    Signed-off-by: Pawel Osciak
    Cc: InKi Dae
    Cc: KyungMin Park
    Cc: Marek Szyprowski
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ben Dooks
     
  • Update the variant and window variant structures with the necessary
    changes to support the older style of hardware where these are not in the
    same place.

    Add the support for the s3c2443/s3c2416 hardware by using the
    platform-device s3c2443 to cover both, and add the initialisation data for
    these.

    Also change to including just the v4 header files for the moment until the
    last of the merging of these is sorted out.

    Signed-off-by: Ben Dooks
    Signed-off-by: Pawel Osciak
    Cc: InKi Dae
    Cc: KyungMin Park
    Cc: Marek Szyprowski
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ben Dooks
     
  • Remove the various header files that configure this driver and use the
    platform device name to select the correct configuration at probe time.

    Currently this does not remove the header files, only updates the driver
    and the relevant platform files.

    Signed-off-by: Ben Dooks
    Signed-off-by: Pawel Osciak
    Cc: InKi Dae
    Cc: KyungMin Park
    Cc: Marek Szyprowski
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ben Dooks
     
  • The driver clears all windows, but also sets the windows' colour key
    controls at the same time. However, the last window does not have these
    registers as it is always blended into the previous window.

    Move the colour key initialisation into the probe, and run it for only
    nr_win-1 windows.

    Signed-off-by: Ben Dooks
    Signed-off-by: Pawel Osciak
    Cc: InKi Dae
    Cc: KyungMin Park
    Cc: Marek Szyprowski
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ben Dooks
     
  • It has been working fine at 16bpp but in case of pixel format more then
    24bpp it would occur distortedness situation on that mode. so this patch
    set the word swap control bit of WINCONx to 1 as default value. but it
    should be set to 0 in case that each ENLOCAL bit of WINCON0 ~ 2 registers
    is enabled. this issue would be solved with local path feature soon.

    Signed-off-by: InKi Dae
    Reviewed-by: KyungMin Park
    Signed-off-by: Ben Dooks
    Signed-off-by: Pawel Osciak
    Cc: Marek Szyprowski
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    InKi Dae
     
  • s5pv210 has five window layers (window0 ~ 4), among them, window0 ~ 2
    could be used for local path with fimc(capture device) and fimd writeback
    feature so this patch makes default window layer for UI to be set at
    machine code.

    Signed-off-by: InKi Dae
    Reviewed-by: KyungMin Park
    Signed-off-by: Ben Dooks
    Signed-off-by: Pawel Osciak
    Cc: Marek Szyprowski
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    InKi Dae
     
  • As suggested by Marek Szyprowski, we should make the driver depend on the
    configuration currently being used to build the platform device into the
    kernel.

    Signed-off-by: Ben Dooks
    Signed-off-by: Pawel Osciak
    Cc: InKi Dae
    Cc: KyungMin Park
    Cc: Marek Szyprowski
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ben Dooks
     
  • Replaced !strlen(str) check with !str[0]. Removed the variable which was
    used solely to store strlen result.

    Signed-off-by: Denys Vlasenko
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Denys Vlasenko
     
  • This patch uninlines four similar functions, foo_update_attr(), in four
    fbcon-related files.

    These functions contain loops, two of theam have _nested_ loops, and they
    have more than one callsite each. I think they should not be inlined.

    Signed-off-by: Denys Vlasenko
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Denys Vlasenko
     
  • This function's body is good two screenfuls and it has six callsites. No
    apparent reason why it is marked inline.

    Signed-off-by: Denys Vlasenko
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Denys Vlasenko
     
  • Remove 43 section mismatches by moving the two structures efifb_defined
    and efifb_fix from .init.data to .devinit.data.

    Also the two structure arrays dmi_system_table[] and dmi_list[] have been
    moved from .data to .init.rodata and .init.data, which saves, if built-in,
    some space.

    On x86_64 'size -A' showed that these sections changed size:

    efifb.o:
    section size-old size-new
    .data 1200 688
    .init.data 7840 512
    .init.rodata 0 7568
    .devinit.data 0 256

    Total 11927 11911

    Signed-off-by: Henrik Kretzschmar
    Cc: Peter Jones
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Henrik Kretzschmar
     
  • Add support for Semtech SX150-series I2C GPIO expanders. Compatible
    models include:

    8 bits: sx1508q
    16 bits: sx1509q

    Signed-off-by: Gregory Bean
    Cc: David Brownell
    Cc: Jean Delvare
    Cc: Trilok Soni
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Gregory Bean
     
  • The pca953x driver requires the use of threaded irqs as its irq
    demultiplexer can sleep. Our irq handler can be called from any context,
    so use request_any_context_irq to allow threaded irqs as well.

    Signed-off-by: Daniel Gl?ckner
    Reported-by: Ian Jeffray
    Cc: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Daniel Gl?ckner
     
  • As sysfs_notify_dirent has been made irq safe, there is no reason to not
    call it directly from irq. With the work_struct removed, the remaining
    element in poll_desc is a sysfs_dirent pointer which may not be NULL. We
    can therefore store it directly in the idr and pass it as context to the
    irq handler.

    Most part of the patch deals with renaming defines and variables to
    reflect their new use without functional change.

    I also took the opportunity to initialize the idr statically.

    Signed-off-by: Daniel Gl?ckner
    Cc: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Daniel Gl?ckner
     
  • Be more consistent about runtime programming interface abuse warnings,
    which can reduce some confusion and trigger bugfixes. Based on an
    observation and patch from Jani Nikula.

    Also update doc to highlight some sleeping-call issues and to match some
    recent changes.

    Signed-off-by: David Brownell
    Cc: Jani Nikula
    Cc: "Ryan Mallon"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Brownell
     
  • Provide sane defaults for pcf857x, so the driver can be used w/o providing
    platform data (and thus can be simply bound via OF tree).

    Signed-off-by: Dmitry Eremin-Solenikov
    Cc: Jean Delvare
    Cc: David Brownell
    Cc: Grant Likely
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dmitry Eremin-Solenikov
     
  • The gpios on the max730x chips have support for internal pullups while in
    input mode.

    This patch adds support for configuring these pullups via platform data.
    A new member ("input_pullup_active") to the platform data struct is
    introduced. A set bit in this variable activates the pullups while the
    respective port is in input mode. This is a compatible enhancement since
    unset bits lead to disables pullups which was the default in the original
    driver.

    _Note_: the 4 lowest bits in "input_pullup_active" are unused because the
    first 4 ports of the controller are not used, too.

    Signed-off-by: Marc Kleine-Budde
    Reviewed-by: Wolfram Sang
    Cc: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Marc Kleine-Budde
     
  • The Ricoh RP5C01 RTC contains 26 x 4 bits of NVRAM. Provide access to it
    via a sysfs "nvram" attribute file.

    Signed-off-by: Geert Uytterhoeven
    Cc: Wan ZongShun
    Cc: Alessandro Zummo
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Geert Uytterhoeven
     
  • Because CONFIG_PM is a precondition to CONFIG_ACPI, the ifdef CONFIG_PM
    within ifdef CONFIG_ACPI is redundant.

    Signed-off-by: Christian Dietrich
    Acked-by: Wan ZongShun
    Cc: Alessandro Zummo
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christian Dietrich
     
  • Mask out PM flag when reading the hour, always set MIL bit when
    writing the hour.

    Signed-off-by: Roman Fietze
    Acked-by: Wan ZongShun
    Cc: Alessandro Zummo
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Roman Fietze