09 Feb, 2008

1 commit

  • Add architecture support for the MN10300/AM33 CPUs produced by MEI to the
    kernel.

    This patch also adds board support for the ASB2303 with the ASB2308 daughter
    board, and the ASB2305. The only processor supported is the MN103E010, which
    is an AM33v2 core plus on-chip devices.

    [akpm@linux-foundation.org: nuke cvs control strings]
    Signed-off-by: Masakazu Urade
    Signed-off-by: Koichi Yasutake
    Signed-off-by: David Howells
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Howells
     

08 Feb, 2008

2 commits

  • * 'for-linus' of git://git.o-hand.com/linux-rpurdie-backlight:
    backlight: Add OMAP1 PWL backlight driver
    backlight: Avoid unecessary driver callbacks

    Linus Torvalds
     
  • * 'for-2.6.25' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: (69 commits)
    [POWERPC] Add SPE registers to core dumps
    [POWERPC] Use regset code for compat PTRACE_*REGS* calls
    [POWERPC] Use generic compat_sys_ptrace
    [POWERPC] Use generic compat_ptrace_request
    [POWERPC] Use generic ptrace peekdata/pokedata
    [POWERPC] Use regset code for PTRACE_*REGS* requests
    [POWERPC] Switch to generic compat_binfmt_elf code
    [POWERPC] Switch to using user_regset-based core dumps
    [POWERPC] Add user_regset compat support
    [POWERPC] Add user_regset_view definitions
    [POWERPC] Use user_regset accessors for GPRs
    [POWERPC] ptrace accessors for special regs MSR and TRAP
    [POWERPC] Use user_regset accessors for SPE regs
    [POWERPC] Use user_regset accessors for altivec regs
    [POWERPC] Use user_regset accessors for FP regs
    [POWERPC] mpc52xx: fix compile error introduce when rebasing patch
    [POWERPC] 4xx: PCIe indirect DCR spinlock fix.
    [POWERPC] Add missing native dcr dcr_ind_lock spinlock
    [POWERPC] 4xx: Fix offset value on Warp board
    [POWERPC] 4xx: Add 440EPx Sequoia ehci dts entry
    ...

    Linus Torvalds
     

07 Feb, 2008

37 commits

  • This adds the OMAP1 PWL-based LCD backlight driver. It's been in the OMAP
    tree for some time. Note that OMAP2 can do similar things with the generic
    timers which have PWM outputs. Such timers are more generic than the PWL
    found on OMAP1 chips, but have a different EMI profile because they aren't
    driven by a pseudorandom number generator.

    [akpm@linux-foundation.org: cleanups]
    Signed-off-by: David Brownell
    Signed-off-by: Andrzej Zaborowski
    Signed-off-by: Andrew Morton
    Signed-off-by: Richard Purdie

    Andrzej Zaborowski
     
  • Avoid driver callbacks when the brightness hasn't changed since
    they're not necessary.

    Signed-off-by: Helge Deller
    Signed-off-by: Richard Purdie

    Helge Deller
     
  • Josh Boyer
     
  • Warning is reproducible with selected FB_CFB_REV_PIXELS_IN_BYTE.

    CC drivers/video/sysfillrect.o
    In file included from drivers/video/sysfillrect.c:18:
    drivers/video/fb_draw.h: In function `fb_rev_pixels_in_long':
    drivers/video/fb_draw.h:94: warning: no return statement in function returning non-void
    CC drivers/video/syscopyarea.o
    In file included from drivers/video/syscopyarea.c:22:
    drivers/video/fb_draw.h: In function `fb_rev_pixels_in_long':
    drivers/video/fb_draw.h:94: warning: no return statement in function returning non-void

    Signed-off-by: Anton Vorontsov
    Cc: "Antonino A. Daplas"
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Anton Vorontsov
     
  • The current attr_fgcol_ec / attr_bgcol_ec macros do a simple shift of bits
    to get the color from vc_video_erase_char. For a monochrome display
    however the attribute does not contain any color, only attribute bits.
    Furthermore the reverse bit is lost because it is shifted out, the
    resulting color is always 0.

    This can bee seen on a monochrome console either directly or by setting it
    to inverse mode via "setterm -inversescreen on" . Text is written with
    correct color, fb_fillrects from a bit_clear / bit_clear_margins will get
    wrong colors.

    Signed-off-by: Thomas Pfaff
    Cc: "Antonino A. Daplas"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Thomas Pfaff
     
  • Ensure that the default display parameter passed in via the
    device's platform data is valid. It turns out when mach-bast.c
    was updated, the default_display was set outside of the display
    array bounds, causing a panic on startup.

    If the default_display is bigger than num_displays, then generate
    an error and refuse to initialise the driver.

    Signed-off-by: Ben Dooks
    Cc: "Antonino A. Daplas"
    Cc: Vincent Sanders
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ben Dooks
     
  • Change the initial pattern in the s3c2410 framebuffer driver
    to black.

    Signed-off-by: Ben Dooks
    Cc: "Antonino A. Daplas"
    Cc: Vincent Sanders
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ben Dooks
     
  • Update the debugging in the s3c2410 framebuffer driver.

    Signed-off-by: Ben Dooks
    Cc: "Antonino A. Daplas"
    Cc: Vincent Sanders
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ben Dooks
     
  • Add support for the S3C2412 to the S3C2410 frame buffer driver
    by ensuring that any moved registers can be dealt with.

    Signed-off-by: Ben Dooks
    Cc: "Antonino A. Daplas"
    Cc: Vincent Sanders
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ben Dooks
     
  • Move the console suspend to before we save the state of
    the framebuffer to ensure that it does not try and change
    the fb state again once we have copied it out.

    Signed-off-by: Ben Dooks
    Cc: "Antonino A. Daplas"
    Cc: Vincent Sanders
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ben Dooks
     
  • Fix garbled letters on big endian machines with acceleration enabled.

    This makes pm2fb works fine with full acceleration on sparc machine (card
    known as Sun PGX-32 or TechSource Raptor GFX-8P).

    Signed-off-by: Krzysztof Helt
    Cc: Geert Uytterhoeven
    Cc: "David S. Miller"
    Cc: "Antonino A. Daplas"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Krzysztof Helt
     
  • Fix modedb typos

    Signed-off-by: Geoff Levand
    Signed-off-by: Geert Uytterhoeven
    Cc: "Antonino A. Daplas"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Geoff Levand
     
  • cleanup sweep:
    - Kill ps3fb_priv.xdr_ea and ps3fb_priv.xdr_size, use info->screen_base and
    info->fix.smem_len instead.
    - Kill superfluous assignments to info->fix.smem_start, info->fix.smem_len,
    and info->screen_base in ps3fb_set_par(). Their values never change.
    - Add sparse annotations to casts to kill address space warnings

    Signed-off-by: Geert Uytterhoeven
    Cc: "Antonino A. Daplas"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Geert Uytterhoeven
     
  • Round up arbitrary video modes until they fit (if possible)

    Signed-off-by: Geert Uytterhoeven
    Cc: "Antonino A. Daplas"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Geert Uytterhoeven
     
  • Reorganize modedb handling:
    - Reorder the video modes in ps3fb_modedb, for easier indexing using
    PS3AV_MODE_* numbers,
    - Introduce ps3fb_native_vmode(), to convert from native (PS3AV_MODE_*) mode
    numbers to struct fb_videomode *,
    - Rename and move ps3fb_default_mode() to ps3fb_vmode().

    Signed-off-by: Geert Uytterhoeven
    Cc: "Antonino A. Daplas"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Geert Uytterhoeven
     
  • Allow all video modes where the visible resolution plus the black borders
    matches a native resolution

    Signed-off-by: Geert Uytterhoeven
    Cc: "Antonino A. Daplas"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Geert Uytterhoeven
     
  • Frame buffer offsets don't have to be `unsigned long', `unsigned int' is
    sufficient

    Signed-off-by: Geert Uytterhoeven
    Cc: "Antonino A. Daplas"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Geert Uytterhoeven
     
  • kill ps3fb_res[], as all information it contains can be obtained in some other
    way.

    Signed-off-by: Geert Uytterhoeven
    Cc: "Antonino A. Daplas"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Geert Uytterhoeven
     
  • Open-code the X_OFF(), Y_OFF(), WIDTH(), HEIGHT(), and VP_OFF() macros, as
    they're used in one place only

    Signed-off-by: Geert Uytterhoeven
    Cc: "Antonino A. Daplas"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Geert Uytterhoeven
     
  • Kill PS3FB_FULL_MODE_BIT, use PS3AV_MODE_FULL instead

    Signed-off-by: Geert Uytterhoeven
    Cc: "Antonino A. Daplas"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Geert Uytterhoeven
     
  • Use symbolic names for video modes

    Signed-off-by: Geert Uytterhoeven
    Cc: "Antonino A. Daplas"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Geert Uytterhoeven
     
  • 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
     
  • Avoid displaying garbage on unused framebuffers. For most users a single
    framebuffer is used together with fbcon. sm501fb supports two framebuffers
    where one often is assigned to fbcon and the other one is left unused during
    the boot.

    The problem here is that framebuffers not in use by fbcon happen to display
    garbage. This can easily be solved by making sure that framebuffer memory and
    palette ram are cleared.

    The problem can be observed by using looking at the panel output (fb1) after
    booting the kernel with fbcon on crt (fb0). This is the default
    configuration. It's also possible to watch the garbage on the crt framebuffer
    by passing "fbcon=map:1" on the kernel cmdline. This will assign fbcon to the
    panel (fb1) and leave the crt (fb0) unused.

    Signed-off-by: Magnus Damm
    Cc: "Antonino A. Daplas"
    Cc: Paul Mundt
    Cc: Ben Dooks
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Magnus Damm
     
  • This patch makes it possible to control panel pins usage with flags passed
    from the platform data. Without this patch the sm501fb driver always controls
    the VBIASEN and FPEN pins. The polarity and use of these pins are very
    platform specific, so this patch introduces the flags
    SM501FB_FLAG_PANEL_USE_VBIASEN and SM501FB_FLAG_PANEL_USE_FPEN which enable
    the use of these pins.

    This patch is needed to support the a Sharp LQ104V1DG21 lcd panel on SuperH
    platforms such as R2D-1 and R2D-PLUS boards. Letting the sm501fb driver
    control the FPEN and VBIASEN pins like today just results in lcd panel
    flicker.

    Signed-off-by: Magnus Damm
    Cc: "Antonino A. Daplas"
    Cc: Paul Mundt
    Cc: Ben Dooks
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Magnus Damm
     
  • pci_get_device does a pci_dev_get, so pci_dev_put needs to be called in an
    error case

    The problem was fixed using the following semantic patch.
    (http://www.emn.fr/x-info/coccinelle/)

    //
    @exists@
    type T1,T2;
    identifier E;
    statement S,S1;
    expression x1,x2,x3;
    expression test;
    int ret != 0;
    @@

    struct pci_dev *E;
    ...
    (
    E = \(pci_get_slot\|pci_get_device\|pci_get_bus_and_slot\)(...);
    if (E == NULL) S
    |
    if ((E = \(pci_get_slot\|pci_get_device\|pci_get_bus_and_slot\)(...)) == NULL) S
    )
    ... when != pci_dev_put(...,(T1)E,...)
    when != if (E != NULL) { ... pci_dev_put(...,(T1)E,...); ...}
    when != x1 = (T1)E
    when != E = x3;
    when any
    (
    if (E == NULL) S1
    |
    if (test)
    + {
    (
    + pci_dev_put(E);
    return;
    |
    + pci_dev_put(E);
    return ret;
    )
    + }
    |
    if (test) {
    ... when != pci_dev_put(...,(T2)E,...)
    when != if (E != NULL) { ... pci_dev_put(...,(T2)E,...); ...}
    when != x2 = (T2)E
    (
    + pci_dev_put(E);
    return;
    |
    + pci_dev_put(E);
    return ret;
    )
    }
    )
    //

    Signed-off-by: Julia Lawall
    Cc: "David S. Miller"
    Cc: "Antonino A. Daplas"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Julia Lawall
     
  • Some cleanups in uvesafb:
    - The custom module_param() get/set functions don't need to be inlined
    since it is referred to via a pointer in a struct.
    - don't end a #define with a ';'
    - remove one of the single quote marks in "''ypan'"

    Signed-off-by: Randy Dunlap
    Cc: "Antonino A. Daplas"
    Cc: Michal Januszewski
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • tdfxfb_setup() can be __init. This fixes the modpost section mismatch
    warnings:

    WARNING: vmlinux.o(.text+0x4cff9b): Section mismatch: reference to .init.data:mode_option (between 'tdfxfb_setup' and 'getclkMHz')
    WARNING: vmlinux.o(.text+0x4cffa8): Section mismatch: reference to .init.data: (between 'tdfxfb_setup' and 'getclkMHz')

    [krzysztof.h1@poczta.fm: use __init, not __devinit]
    Cc: Krzysztof Helt
    Signed-off-by: Randy Dunlap
    Cc: "Antonino A. Daplas"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • The current nvidiafb_check_var() simply bails out if the selected mode is
    out of range of the panel dimensions. A good question would be why the
    bogus mode is being selected in the first place -- the panel dimensions
    that are read back are certainly bogus, but alas, I have no idea where to
    even begin looking at the i2c/EDID/DDC mess:

    nvidiafb: Device ID: 10de0165
    nvidiafb: CRTC0 analog not found
    nvidiafb: CRTC1 analog not found
    nvidiafb: EDID found from BUS1
    nvidiafb: CRTC 0 is currently programmed for DFP
    nvidiafb: Using DFP on CRTC 0
    nvidiafb: Panel size is 1280 x 1024
    nvidiafb: Panel is TMDS
    nvidiafb: unable to setup MTRR
    nvidiafb: Flat panel dithering disabled
    nvidiafb: PCI nVidia NV16 framebuffer (64MB @ 0xC0000000)

    In my .config I presently have:

    CONFIG_FIRMWARE_EDID=y
    CONFIG_FB_DDC=y
    CONFIG_FB_NVIDIA_I2C=y

    I've not tried fiddling with these options, as I haven't the vaguest idea
    what I should be looking at.

    As a workaround, simply groveling for a new mode based on the probed
    dimensions seems to work ok. While it would be nice to debug this further
    and sort out why the panel information is bogus, I think it's still worth
    retrying the mode based on the panel information at hand as a last-ditch
    effort, rather than simply bailing out completely.

    Signed-off-by: Paul Mundt
    Cc: Antonino A. Daplas
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Paul Mundt
     
  • __ALIGN_MASK() is an internal implementation detail of ALIGN(). Let's not
    needlessly fatten the interface in this driver.

    [fujita.tomonori@lab.ntt.co.jp: fix it]
    Cc: Alan Hourihane
    Cc: "Antonino A. Daplas"
    Cc: FUJITA Tomonori
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     
  • Fix bug identified by Marcio Buss in
    http://bugzilla.kernel.org/show_bug.cgi?id=9565 - neofb can overwrite a field
    in the fb_info struct.

    This fix will result in truncated device identification strings - perhaps
    fb_innfo.fix.id can be made larger?

    Cc: Marcio Buss
    Cc: "Antonino A. Daplas"
    Cc: Christian Trefzer
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     
  • WARNING: vmlinux.o(.text+0x46e456): Section mismatch: reference to .init.data: (between 'pm3fb_size_memory' and 'update_crtc2')
    WARNING: vmlinux.o(.text+0x46e45c): Section mismatch: reference to .init.data: (between 'pm3fb_size_memory' and 'update_crtc2')
    WARNING: vmlinux.o(.text+0x46e49b): Section mismatch: reference to .init.data: (between 'pm3fb_size_memory' and 'update_crtc2')
    WARNING: vmlinux.o(.text+0x46e4a0): Section mismatch: reference to .init.data: (between 'pm3fb_size_memory' and 'update_crtc2')
    WARNING: vmlinux.o(.text+0x46e4bc): Section mismatch: reference to .init.data: (between 'pm3fb_size_memory' and 'update_crtc2')
    WARNING: vmlinux.o(.text+0x46e4c2): Section mismatch: reference to .init.data: (between 'pm3fb_size_memory' and 'update_crtc2')
    WARNING: vmlinux.o(.text+0x46e5c1): Section mismatch: reference to .init.data: (between 'pm3fb_size_memory' and 'update_crtc2')
    WARNING: vmlinux.o(.text+0x46e5c7): Section mismatch: reference to .init.data: (between 'pm3fb_size_memory' and 'update_crtc2')

    Signed-off-by: Adrian Bunk
    Cc: Krzysztof Helt
    Cc: Antonino Daplas
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Adrian Bunk
     
  • Signed-off-by: Marcin Slusarz
    Cc: "Antonino A. Daplas"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Marcin Slusarz
     
  • Signed-off-by: Marcin Slusarz
    Cc: "Antonino A. Daplas"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Marcin Slusarz
     
  • Signed-off-by: Marcin Slusarz
    Cc: "Antonino A. Daplas"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Marcin Slusarz
     
  • 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
     
  • Convert fb defio from nopage to fault.
    Switch from OOM to SIGBUS if the resource is not available.

    Signed-off-by: Nick Piggin
    Cc: "Antonino A. Daplas"
    Cc: Paul Mundt
    Cc: Jaya Kumar
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Nick Piggin
     
  • [akpm@linux-foundation.org: coding-style fixes]
    Signed-off-by: Andre Haupt
    Cc: "Antonino A. Daplas"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andre Haupt