02 Aug, 2010

10 commits

  • This patch improves the recovery of the MPC's I2C bus from errors like bus
    hangs resulting in timeouts:
    1. make the bus timeout configurable, as it depends on the bus clock and
    the attached slave chip(s); default is still 1 second;
    2. detect any of the cases indicated by the CF, BB and RXAK MSR flags if a
    timeout occurs, and add a missing (required) MAL reset;
    3. use a more reliable method to fixup the bus if a hang has been detected.
    The sequence is sent 9 times which seems to be necessary if a slave
    "misses" more than one clock cycle. For 400 kHz bus speed, the fixup is
    also ~70us (81us vs. 150us) faster.

    Tested on a custom Lite5200b derived board, with a Dallas RTC, AD sensors
    and NXP IO expander chips attached to the i2c.

    Changes vs. v1:
    - use improved bus fixup sequence for all chips (not only the 5200)
    - calculate real clock from defaults if no clock is given in the device tree
    - better description (I hope) of the changes.

    I didn't split the changes in this file into three parts as recommended by
    Grant, as they actually belong together (i.e. they address one single
    problem, just in three places of one single source file).

    Signed-off-by: Albrecht Dreß
    [grant.likely@secretlab.ca: fixup for ->node to ->dev.of_node transition]
    Signed-off-by: Grant Likely

    Albrecht Dreß
     
  • * Add tft display module compatibility for new
    hardware modules

    Signed-off-by: Adrian Alonso
    Signed-off-by: Grant Likely

    Adrian Alonso
     
  • Adds support for encoding display mode information
    in the device tree using verbatim EDID block.

    If the EDID entry in the DIU node is present, the
    driver will build mode database using EDID data
    and allow setting the display modes from this database.
    Otherwise display mode will be set using mode
    entries from driver's internal database as usual.

    This patch also updates device tree bindings.

    Signed-off-by: Anatolij Gustschin
    Acked-by: Timur Tabi
    Signed-off-by: Grant Likely

    Anatolij Gustschin
     
  • Update compatible and interrupt properties description.
    Furthermore an example for the MPC5121 has been added.

    Signed-off-by: Anatolij Gustschin
    Acked-by: Timur Tabi
    Signed-off-by: Grant Likely

    Anatolij Gustschin
     
  • MPC5121 DIU configuration/setup as initialized by the boot
    loader currently will get lost while booting Linux. As a
    result displaying the boot splash is not possible through
    the boot process.

    To prevent this we reserve configured DIU frame buffer
    address range while booting and preserve AOI descriptor
    and gamma table so that DIU continues displaying through
    the whole boot process. On first open from user space
    DIU frame buffer driver releases the reserved frame
    buffer area and continues to operate as usual.

    Signed-off-by: John Rigby
    Signed-off-by: Anatolij Gustschin
    Acked-by: Timur Tabi
    Signed-off-by: Grant Likely

    Anatolij Gustschin
     
  • Some DIU structures will be used in platform code in
    subsequent MPC5121 DIU patch, so we move this header
    to be able to include it elsewhere.

    Signed-off-by: Anatolij Gustschin
    Acked-by: Timur Tabi
    Signed-off-by: Grant Likely

    Anatolij Gustschin
     
  • On MPC5121e Rev 2.0 re-configuring the DIU area descriptor
    by writing new descriptor address doesn't always work.
    As a result, DIU continues to display using old area descriptor
    even if the new one has been written to the descriptor register of
    the plane.

    Add the code from Freescale MPC5121EADS BSP for writing descriptor
    addresses properly. This fixes the problem for Rev 2.0 silicon.

    Signed-off-by: Anatolij Gustschin
    Signed-off-by: Grant Likely

    Anatolij Gustschin
     
  • Allows using clk_get()/clk_enable()/clk_disable() for VIU
    clock in the v4l2 video driver.

    Signed-off-by: Hongjun Chen
    Signed-off-by: Anatolij Gustschin
    Signed-off-by: Grant Likely

    Anatolij Gustschin
     
  • Adds IFM PDM360NG device tree and platform code.

    Currently following is supported:
    - Spansion S29GL512P 256 MB NOR flash
    - ST Micro NAND 1 GiB flash
    - DIU, please use "fbcon=map:5 video=fslfb:800x480-32@60"
    at the kernel command line to enable PrimeView PM070WL3
    Display support.
    - FEC
    - I2C
    - RTC, EEPROM
    - MSCAN
    - PSC UART, please pass "console=tty0 console=ttyPSC5,115200"
    on the kernel command line.
    - SPI, ADS7845 Touchscreen
    - USB0/1 Host
    - USB0 OTG Host/Device
    - VIU, Overlay/Capture support

    Signed-off-by: Markus Fischer
    Signed-off-by: Wolfgang Grandegger
    Signed-off-by: Michael Weiss
    Signed-off-by: Detlev Zundel
    Signed-off-by: Anatolij Gustschin
    Signed-off-by: Grant Likely

    Anatolij Gustschin
     
  • Allow board selection in a drop-down board sub-menu
    like many other platforms do.

    Before the patch:
    ...
    [ ] Freescale MPC5121E ADS
    [ ] Generic support for simple MPC5121 based boards
    [ ] 52xx-based boards
    ...

    Patched:
    ...
    [*] 512x-based boards
    [ ] Freescale MPC5121E ADS
    [ ] Generic support for simple MPC5121 based boards
    [ ] 52xx-based boards
    ...

    This is a cleanup before adding new board selection entry.

    Signed-off-by: Anatolij Gustschin
    Signed-off-by: Grant Likely

    Anatolij Gustschin
     

25 Jul, 2010

1 commit

  • On the MPC5200B, make very high baud rates (e.g. 3 MBaud) accessible and
    achieve a higher precision for high baud rates in general. This is done by
    selecting the appropriate prescaler (/4 or /32). As to keep the code clean,
    the getuartclk method has been dropped, and all calculations are done in a
    new set_baudrate method.

    Notes: only "fsl,mpc5200b-psc-uart" compatible devices benefit from these
    improvements.

    Tested on a custom 5200B based board, from 110 baud up to 3 MBaud, and with
    both "fsl,mpc5200b-psc-uart" and "fsl,mpc5200-psc-uart" devices.
    Also tested on the mpc5121ads board.

    Signed-off-by: Albrecht Dreß
    [agust: fixed mpc5121 prescaler comment]
    Signed-off-by: Anatolij Gustschin
    Signed-off-by: Grant Likely

    Albrecht Dreß
     

23 Jul, 2010

7 commits

  • Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
    Input: synaptics - relax capability ID checks on newer hardware
    Input: twl40300-keypad - fix handling of "all ground" rows
    Input: gamecon - reference correct pad in gc_psx_command()
    Input: gamecon - reference correct input device in NES mode
    Input: w90p910_keypad - change platfrom driver name to 'nuc900-kpi'
    Input: i8042 - add Gigabyte Spring Peak to dmi_noloop_table
    Input: qt2160 - rename kconfig symbol name

    Linus Torvalds
     
  • * 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6:
    drm/radeon/kms: add quirk to make HP DV5000 laptop resume
    drm/radeon/kms: fix RADEON_INFO_CRTC_FROM_ID info ioctl
    Fix ttm_page_alloc.c build breakage
    drm/radeon/kms: fix legacy LVDS dpms sequence
    drm/radeon/kms: drop taking lock around crtc lookup.

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
    crypto: talitos - fix bug in sg_copy_end_to_buffer

    Linus Torvalds
     
  • …/frob/linux-2.6-roland

    * 'x86/auditsyscall' of git://git.kernel.org/pub/scm/linux/kernel/git/frob/linux-2.6-roland:
    x86: auditsyscall: fix fastpath return value after reschedule

    Linus Torvalds
     
  • * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb:
    sysrq,kdb: Use __handle_sysrq() for kdb's sysrq function
    debug_core,kdb: fix kgdb_connected bit set in the wrong place
    Fix merge regression from external kdb to upstream kdb
    repair gdbstub to match the gdbserial protocol specification
    kdb: break out of kdb_ll() when command is terminated

    Linus Torvalds
     
  • Fix the security problem in the CIFS filesystem DNS lookup code in which a
    malicious redirect could be installed by a random user by simply adding a
    result record into one of their keyrings with add_key() and then invoking a
    CIFS CFS lookup [CVE-2010-2524].

    This is done by creating an internal keyring specifically for the caching of
    DNS lookups. To enforce the use of this keyring, the module init routine
    creates a set of override credentials with the keyring installed as the thread
    keyring and instructs request_key() to only install lookup result keys in that
    keyring.

    The override is then applied around the call to request_key().

    This has some additional benefits when a kernel service uses this module to
    request a key:

    (1) The result keys are owned by root, not the user that caused the lookup.

    (2) The result keys don't pop up in the user's keyrings.

    (3) The result keys don't come out of the quota of the user that caused the
    lookup.

    The keyring can be viewed as root by doing cat /proc/keys:

    2a0ca6c3 I----- 1 perm 1f030000 0 0 keyring .dns_resolver: 1/4

    It can then be listed with 'keyctl list' by root.

    # keyctl list 0x2a0ca6c3
    1 key in keyring:
    726766307: --alswrv 0 0 dns_resolver: foo.bar.com

    Signed-off-by: David Howells
    Reviewed-and-Tested-by: Jeff Layton
    Acked-by: Steve French
    Signed-off-by: Linus Torvalds

    David Howells
     

22 Jul, 2010

17 commits


21 Jul, 2010

5 commits

  • Up to 2.6.34 pcmcia_release_irq() reset p_dev->_irq to 0 after releasing
    the irq. The IRQ is now released in pcmcia_disable_device(), however
    p_dev->_irq is not reset, triggering a warning in pcmcia_device_remove().

    Signed-off-by: Patrick McHardy
    Signed-off-by: Andrew Morton
    Signed-off-by: Dominik Brodowski

    Patrick McHardy
     
  • Add the shrinkers missed in the first conversion of the API in
    commit 7f8275d0d660c146de6ee3017e1e2e594c49e820 ("mm: add context argument to
    shrinker callback").

    Signed-off-by: Dave Chinner

    Dave Chinner
     
  • The Nokia RX51 board code (arch/arm/mach-omap2/board-rx51-peripherals.c)
    defines a key map for the matrix keypad keyboard. The hardware seems to
    use all of the 8 rows and 8 columns of the keypad, although not all
    possible locations are used.

    The TWL4030 supports keypads with at most 8 rows and 8 columns. Most keys
    are defined with a row and column number between 0 and 7, except

    KEY(0xff, 2, KEY_F9),
    KEY(0xff, 4, KEY_F10),
    KEY(0xff, 5, KEY_F11),

    which represent keycodes that should be emitted when entire row is
    connected to the ground. since the driver handles this case as if we
    had an extra column in the key matrix. Unfortunately we do not allocate
    enough space and end up owerwriting some random memory.

    Reported-and-tested-by: Laurent Pinchart
    Cc: stable@kernel.org
    Signed-off-by: Dmitry Torokhov

    Dmitry Torokhov
     
  • Otherwise we won't see any events from the gamepad.
    Addresses https://bugzilla.kernel.org/show_bug.cgi?id=16408

    Reported-and-tested-by: Eugene Yudin
    Cc: stable@kernel.org
    Signed-off-by: Dmitry Torokhov

    Dmitry Torokhov
     
  • We moved input devices from 'struct gc' to individial pads (struct
    gc-pad), but gc_nes_process_packet() was still trying to use old
    ones and crashing.

    Cc: stable@kernel.org
    Signed-off-by: Dmitry Torokhov

    Dmitry Torokhov