28 Dec, 2011

5 commits

  • * samsung/dt: (27 commits)
    ARM: dts: Add intial dts file for EXYNOS4210 SoC, SMDKV310 and ORIGEN
    ARM: EXYNOS: Add Exynos4 device tree enabled board file
    rtc: rtc-s3c: Add device tree support
    input: samsung-keypad: Add device tree support
    ARM: S5PV210: Modify platform data for pl330 driver
    ARM: S5PC100: Modify platform data for pl330 driver
    ARM: S5P64x0: Modify platform data for pl330 driver
    ARM: EXYNOS: Add a alias for pdma clocks
    ARM: EXYNOS: Limit usage of pl330 device instance to non-dt build
    ARM: SAMSUNG: Add device tree support for pl330 dma engine wrappers
    DMA: PL330: Add device tree support
    ARM: EXYNOS: Modify platform data for pl330 driver
    DMA: PL330: Infer transfer direction from transfer request instead of platform data
    DMA: PL330: move filter function into driver
    serial: samsung: Fix build for non-Exynos4210 devices
    serial: samsung: add device tree support
    serial: samsung: merge probe() function from all SoC specific extensions
    serial: samsung: merge all SoC specific port reset functions
    ARM: SAMSUNG: register uart clocks to clock lookup list
    serial: samsung: remove all uses of get_clksrc and set_clksrc
    ...

    Arnd Bergmann
     
  • * tegra/dt:
    arm/tegra: Seaboard: Add GPIO key device tree nodes
    arm/dt: Add ADT7461 to Seaboard
    arm/dt: tegra: Use new compatible value for DVC I2C controller
    arm/tegra: initial device tree for tegra30
    arm/tegra: convert tegra20 to GIC devicetree binding
    arm/dt: tegra: Fix SDHCI nodes to match board files
    arm/dt: tegra: Fix serial nodes to match board files
    arm/dt: tegra: Fix I2C nodes to match board files
    arm/dt: tegra: Remove /chosen node
    arm/dt: tegra: Remove /memreserve/ from device-tree files
    arm/tegra: board-dt: Enable audio-related clocks
    arm/tegra: board-dt: Fix AUXDATA typo
    arm/dt: tegra: add dts file for paz00
    arm/tegra: Add device-tree support for TrimSlice board
    arm/dt: tegra: Clean up I2S and DAS nodes
    USB: ehci-tegra: add probing through device tree
    arm/dt: add basic usb nodes to tegra device trees
    arm/tegra: fix variable formatting in makefile

    Conflicts:
    arch/arm/mach-tegra/Makefile

    Arnd Bergmann
     
  • Dependency for tegra/dt

    Signed-off-by: Arnd Bergmann

    Arnd Bergmann
     
  • …el/git/kgene/linux-samsung into samsung/dt

    Arnd Bergmann
     
  • Arnd Bergmann
     

23 Dec, 2011

27 commits

  • Add initial dts file for EXYNOS4210 SoC. This dts file describes
    the SoC specific devices and properties. Along with this, add dts
    file for Samsung's SMDKV310 board and Insignal's ORIGEN board which
    uses the EXYNOS4210 dts file and extends it to describe the board
    specific properties.

    Signed-off-by: Thomas Abraham
    Acked-by: Grant Likely
    Signed-off-by: Kukjin Kim

    Thomas Abraham
     
  • Add a new EXYNOS4 compatible device tree enabled board file. Boards
    based on the EXYNOS4 family of SoC's can use this as the machine/board
    file. When using this machine fike, a corresponding device tree blob
    which describes the board's properties should be supplied at boot time
    to the kernel.

    Signed-off-by: Thomas Abraham
    Acked-by: Grant Likely
    Signed-off-by: Kukjin Kim

    Thomas Abraham
     
  • Add device tree based discovery support for Samsung's rtc controller.

    Cc: Ben Dooks
    Signed-off-by: Thomas Abraham
    Acked-by: Grant Likely
    Signed-off-by: Kukjin Kim

    Thomas Abraham
     
  • Add device tree based discovery support for Samsung's keypad controller.

    Cc: Joonyoung Shim
    Cc: Donghwa Lee
    Signed-off-by: Thomas Abraham
    Acked-by: Grant Likely
    Signed-off-by: Kukjin Kim

    Thomas Abraham
     
  • With the 'struct dma_pl330_peri' removed, the platfrom data for dma
    driver can be simplified to a simple list of peripheral request ids.

    Cc: Jassi Brar
    Acked-by: Boojin Kim
    Signed-off-by: Thomas Abraham
    Signed-off-by: Kukjin Kim

    Thomas Abraham
     
  • With the 'struct dma_pl330_peri' removed, the platfrom data for dma
    driver can be simplified to a simple list of peripheral request ids.

    Cc: Jassi Brar
    Acked-by: Boojin Kim
    Signed-off-by: Thomas Abraham
    Signed-off-by: Kukjin Kim

    Thomas Abraham
     
  • With the 'struct dma_pl330_peri' removed, the platfrom data for dma
    driver can be simplified to a simple list of peripheral request ids.

    Cc: Jassi Brar
    Cc: Boojin Kim
    Signed-off-by: Thomas Abraham
    Signed-off-by: Kukjin Kim

    Thomas Abraham
     
  • PDMA controllers when instantiated from device tree are registered using
    amba_device_register(). The registration process enables clock to the
    controllers to read the peripheral id of the PDMA amba device.

    In case of Exynos4, the clocks to the PDMA controllers are named as 'dma'
    but amba_device_register() looks up the clock using the name 'apb_pclk'.
    Hence, alias clocks with name 'apb_pclk' clock are created for clocks
    with name 'dma'.

    Signed-off-by: Thomas Abraham
    Signed-off-by: Kukjin Kim

    Thomas Abraham
     
  • The pl330 device instances and associated platform data is required only
    for non-device-tree builds. With device tree enabled, the data about the
    platform is obtained from the device tree. For images that include both
    dt and non-dt platforms, an addditional check is added to ensure that
    static amba device registrations is applicable to only non-dt platforms.

    Cc: Kukjin Kim
    Cc: Kyungmin Park
    Signed-off-by: Thomas Abraham
    Acked-by: Grant Likely
    Signed-off-by: Kukjin Kim

    Thomas Abraham
     
  • A new dma request id 'DMACH_DT_PROP' is introduced for client drivers
    requesting a dma channel. This request indicates that a device tree
    node property represting the dma channel is available in
    'struct samsung_dma_info'. The dma channel request wrapper uses the
    node property value as the value for the filter parameter.

    Signed-off-by: Thomas Abraham
    Acked-by: Grant Likely
    Signed-off-by: Kukjin Kim

    Thomas Abraham
     
  • For PL330 dma controllers instantiated from device tree, the channel
    lookup is based on phandle of the dma controller and dma request id
    specified by the client node. During probe, the private data of each
    channel of the controller is set to point to the device node of the
    dma controller. The 'chan_id' of the each channel is used as the
    dma request id.

    Client driver requesting dma channels specify the phandle of the
    dma controller and the request id. The pl330 filter function
    converts the phandle to the device node pointer and matches that
    with channel's private data. If a match is found, the request id
    from the client node and the 'chan_id' of the channel is matched.
    A channel is found if both the values match.

    Acked-by: Jassi Brar
    Acked-by: Boojin Kim
    Signed-off-by: Thomas Abraham
    Reviewed-by: Rob Herring
    Acked-by: Grant Likely
    Acked-by: Vinod Koul
    Signed-off-by: Kukjin Kim

    Thomas Abraham
     
  • With the 'struct dma_pl330_peri' removed, the platfrom data for dma
    driver can be simplified to a simple list of peripheral request ids.

    Cc: Jassi Brar
    Acked-by: Boojin Kim
    Signed-off-by: Thomas Abraham
    Acked-by: Grant Likely
    Acked-by: Vinod Koul
    Signed-off-by: Kukjin Kim

    Thomas Abraham
     
  • The transfer direction for a channel can be inferred from the transfer
    request and the need for specifying transfer direction in platfrom data
    can be eliminated. So the structure definition 'struct dma_pl330_peri'
    is no longer required.

    The channel's private data is set to point to a channel id specified in
    the platform data (instead of an instance of type 'struct dma_pl330_peri').
    The filter function is correspondingly modified to match the channel id.

    With the 'struct dma_pl330_peri' removed from platform data, the dma
    controller transfer capabilities cannot be inferred any more. Hence,
    the dma controller capabilities is specified using platform data.

    Acked-by: Jassi Brar
    Acked-by: Boojin Kim
    Signed-off-by: Thomas Abraham
    Acked-by: Grant Likely
    Acked-by: Vinod Koul
    Signed-off-by: Kukjin Kim

    Thomas Abraham
     
  • The dma channel selection filter function is moved from plat-samsung
    into the pl330 driver. In additon to that, a check is added in the
    filter function to ensure that the channel on which the filter has
    been invoked is pl330 channel instance (and avoid any incorrect
    access of chan->private in a system with multiple types of DMA
    drivers).

    Suggested-by: Russell King
    Signed-off-by: Thomas Abraham
    Acked-by: Jassi Brar
    Acked-by: Grant Likely
    Acked-by: Vinod Koul
    Signed-off-by: Kukjin Kim

    Thomas Abraham
     
  • exynos4120_serial_drv_data is only defined when building with support
    for Exynos4210 so use the already provided define to ensure that we
    don't reference it when building for other SoCs.

    Signed-off-by: Mark Brown
    [kgene.kim@samsung.com: Fixed build warning]
    Signed-off-by: Kukjin Kim

    Mark Brown
     
  • Add device tree based discovery support for Samsung's uart controller.

    Cc: Ben Dooks
    Acked-by: Grant Likely
    Signed-off-by: Thomas Abraham
    Signed-off-by: Kukjin Kim

    Thomas Abraham
     
  • With reset port, set clock and get clock functions in SoC specific extentions
    being removed, only the driver probe is left over in these extensions. The
    probe function itself can be merged into one and moved into the samsung common
    serial driver. With driver probe also moved, all the SoC specific extentions
    are no longer required and they are deleted.

    Cc: Ben Dooks
    Signed-off-by: Thomas Abraham
    Signed-off-by: Kukjin Kim

    Thomas Abraham
     
  • The port reset function in each of the platform specific extension performs
    the same operations and hence all the reset port functions can be merged into
    one and moved into the common samsung uart driver. The SoC specific port reset
    functions are removed from SoC extensions.

    Cc: Ben Dooks
    Signed-off-by: Thomas Abraham
    Signed-off-by: Kukjin Kim

    Thomas Abraham
     
  • Samsung uart driver lookups the clock using the connection id 'clk_uart_baud'.
    The uart clocks for all Samsung platforms are reorganized to register them
    with the lookup name as required by the uart driver.

    Cc: Ben Dooks
    Signed-off-by: Thomas Abraham
    Signed-off-by: Kukjin Kim

    Thomas Abraham
     
  • With clkdev based clock lookup support, the clock set and get operation
    using clock names communicated between the samsung uart driver and the
    SoC specific extension can be removed.

    In addition to that, for each platform specific extension, add the
    default clock selection, number of clock options for uart baud generator,
    clock selection bit mask and shift values which is required by the
    clkdev support in samsung uart driver.

    The default clock selection value 'def_clk_sel' specifies the default clock
    to be used as the source clock for baud rate generator in case the platform
    code does not specify the same.

    Cc: Ben Dooks
    Signed-off-by: Thomas Abraham
    Signed-off-by: Kukjin Kim

    Thomas Abraham
     
  • With clkdev based clock lookup added to samsung serial driver, the use
    of 'struct s3c24xx_uart_clksrc' to supply clock names in platform
    data is removed from all the Samsung platform code.

    Cc: Ben Dooks
    Cc: Ramax Lo
    Cc: Vasily Khoruzhick
    Signed-off-by: Thomas Abraham
    Signed-off-by: Kukjin Kim

    Thomas Abraham
     
  • Instead of using clock names supplied in platform data, use a generic
    clock name 'clk_uart_baud' to look up clocks. The platform code should
    register clocks with the name 'clk_uart_baud' which can be used by the
    baud rate generator. The clock lookup and selection of the best clock
    as baud rate clock is reworked.

    Platform code can specify the clocks that can be used as source for the
    baud clock (as supported previously by passing names of clocks). A new
    member is added to the platform data 'clk_sel' which holds a bit-field
    value with each bit representing a baud source clock. If a bit at any
    bit position is set, that clock is looked up to participate in the
    selection of the baud clock source.

    Cc: Ben Dooks
    Signed-off-by: Thomas Abraham
    Signed-off-by: Kukjin Kim

    Thomas Abraham
     
  • s3c2440 uses fclk/n (fclk divided by n) clock as one of the possible clocks used
    to generate the baud rate clock. The divider 'n' in this case can be logically
    represented outside of the uart controller.

    This patch creates a new clock by name "fclk_n" for s3c2440 based platforms to
    represent the fclk/n clock in the platform code. This clock provides a get_rate
    callback that checks the UCON0/1/2 registers to determine the clock rate. The
    samsung uart driver would receive the "fclk_n" clock name as one of the possible
    baud rate clock options and the driver need not determine clock rate of fclk/n.

    Cc: Ben Dooks
    Cc: Vasily Khoruzhick
    Signed-off-by: Thomas Abraham
    Signed-off-by: Kukjin Kim

    Thomas Abraham
     
  • Add a pointer to the location of the platform data in the driver's private
    data. When instantiated using device tree, pdev->dev->platform_data does not
    necessarily point to a valid instance of platform data. The platform data
    pointer in the driver's private data could be set to pdev->dev->platform_data
    or platform data instance created from device tree.

    Cc: Ben Dooks
    Signed-off-by: Thomas Abraham
    Signed-off-by: Kukjin Kim

    Thomas Abraham
     
  • As gpio chips get registered, a device tree node which represents the
    gpio chip is searched and attached to it. A translate function is also
    provided to convert the gpio specifier into actual platform settings
    for pin function selection, pull up/down and driver strength settings.

    Signed-off-by: Thomas Abraham
    Acked-by: Grant Likely
    [kgene.kim@samsung.com: fixed build error]
    Signed-off-by: Kukjin Kim

    Thomas Abraham
     
  • Enable conversion of device tree interrupt specifier to linux
    virq domain for GIC controller.

    Signed-off-by: Thomas Abraham
    Signed-off-by: Kukjin Kim

    Thomas Abraham
     
  • The timer irqs statically mapped from linux irq numbers 11 to 15 are
    moved to the end of the statically mapped linux irq space. The GIC PPI
    and SPI interrupts are relocated to start from 16 and 32 of the linux
    irq space. This is a required to add device tree support for GIC and
    Interrupt combiner for EXYNOS4.

    A new macro 'IRQ_TIMER_BASE' specifies a platform specific base of the
    linux virq number for the timer interrupts. For exynos4, this base is
    set to end of the linux virq space. For the other S5P platforms, the
    existing base '11' is retained.

    Signed-off-by: Thomas Abraham
    Signed-off-by: Kukjin Kim

    Thomas Abraham
     

20 Dec, 2011

3 commits


18 Dec, 2011

1 commit


17 Dec, 2011

4 commits

  • Linus Torvalds
     
  • This reverts commit eb1711bb94991e93669c5a1b5f84f11be2d51ea1.

    It blows up the i915 seqno tracking, resulting in the

    BUG_ON(seqno == 0);

    in i915_wait_request() triggering, which will cause lock-ups.

    See for example
    https://bugs.launchpad.net/ubuntu/+source/linux/+bug/903010
    https://lkml.org/lkml/2011/12/14/395

    Reported-requested-and-tested-by: Dirk Hohndel
    Reported-by: Richard Eames
    Reported-by: Rocko Requin
    Acked-by: Daniel Vetter
    Cc: Dave Airlie
    Cc: Chris Wilson
    Cc: Keith Packard
    Cc: Eric Anholt
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
    sparc32: Be less strict in matching %lo part of relocation.
    sbus: convert drivers/sbus/char/* to use module_platform_driver()
    bbc_i2c: Remove unneeded err variable
    sparc: Use kmemdup rather than duplicating its implementation

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net:
    ipv6: Check dest prefix length on original route not copied one in rt6_alloc_cow().
    sch_gred: should not use GFP_KERNEL while holding a spinlock
    ipip, sit: copy parms.name after register_netdevice
    ipv6: Fix for adding multicast route for loopback device automatically.
    ssb: fix init regression with SoCs
    rtl8192{ce,cu,de,se}: avoid problems because of possible ERFOFF -> ERFSLEEP transition
    mac80211: fix another race in aggregation start
    fsl_pq_mdio: Clean up tbi address configuration
    ppp: fix pptp double release_sock in pptp_bind()
    net/fec: fix the use of pdev->id
    ath9k: fix check for antenna diversity support
    batman-adv: delete global entry in case of roaming
    batman-adv: in case of roaming mark the client with TT_CLIENT_ROAM
    Bluetooth: Correct version check in hci_setup
    btusb: fix a memory leak in btusb_send_frame()
    Bluetooth: bnep: Fix module reference
    Bluetooth: cmtp: Fix module reference
    Bluetooth: btmrvl: support Marvell Bluetooth device SD8797

    Linus Torvalds