04 Oct, 2012

1 commit

  • Pull devicetree updates from Rob Herring:
    - Import of latest upstream device tree compiler (dtc)
    - New function of_get_child_by_name
    - Support for #size-cells of 0 and #addr-cells of >2
    - Couple of DT binding documentation updates

    Fix up trivial conflicts due to of_get_child_by_name() having been added
    next to the new of_get_next_available_child().

    * tag 'dt-for-3.7' of git://sources.calxeda.com/kernel/linux:
    MAINTAINERS: add scripts/dtc under Devicetree maintainers
    dtc: import latest upstream dtc
    dt: Document general interrupt controller bindings
    dt/s3c64xx/spi: Use of_get_child_by_name to get a named child
    dt: introduce of_get_child_by_name to get child node by name
    of: i2c: add support for wakeup-source property
    of/address: Handle #address-cells > 2 specially
    DT: export of_irq_to_resource_table()
    devicetree: serial: Add documentation for imx serial
    devicetree: pwm: mxs-pwm.txt: Fix reg field annotation
    of: Allow busses with #size-cells=0

    Linus Torvalds
     

03 Oct, 2012

1 commit

  • Pull spi updates from Mark Brown:
    "No framework work here, only a bunch of driver updates of varying
    sizes:

    - Factoring out of the core hardware support from the MXS MMC driver
    by Marek Vasut to allow the hardware to also be used for SPI.
    - Lots of error handling cleanups from Guenter Roeck
    - Removal of the existing Tegra driver which is quite comprehensively
    broken as detailed in the changelog for the removal.
    - DT suppport for the PL022 and GPIO drivers.
    - pinctrl support for OMAP and PL022."

    Pulling from Mark Brown as Grant Likely is still busy moving.

    * tag 'spi-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/misc: (53 commits)
    spi: remove completely broken Tegra driver
    spi/imx: set the inactive state of the clock according to the clock polarity
    spi/pl022: get/put resources on suspend/resume
    spi/pl022: use more managed resources
    spi/pl022: Devicetree support w/o platform data
    spi/s3c64xx: Don't free controller_data on non-dt platforms
    spi: omap2-mcspi: add pinctrl support
    spi/pl022: adopt pinctrl support
    spi: omap2-mcspi: Cleanup the omap2_mcspi_txrx_dma function
    spi/gpio: Fix stub for spi_gpio_probe_dt()
    spi/mxs: Make the SPI block clock speed configurable via DT
    spi: spi-sh-hspi: drop frees of devm_ alloc'd data
    spi/pl022: Fix chipselects pointer computation
    spi: spi-tle62x0: Use module_spi_driver macro
    mxs/spi: Rework the mxs_ssp_timeout to be more readable
    mxs/spi: Decrement the DMA/PIO border
    mxs/spi: Increment the transfer length only if transfer succeeded
    mxs/spi: Fix issues when doing long continuous transfer
    spi: spi-gpio: Add DT bindings
    spi: spi-gpio: store chipselect information in private structure
    ...

    Linus Torvalds
     

02 Oct, 2012

4 commits

  • Pull ARM soc multiplatform enablement from Olof Johansson:
    "This is a pretty significant branch. It's the introduction of the
    first multiplatform support on ARM, and with this (and the later
    branch) merged, it is now possible to build one kernel that contains
    support for highbank, vexpress, mvebu, socfpga, and picoxcell. More
    platforms will be convered over in the next few releases.

    Two critical last things had to be done for this to be practical and
    possible:
    * Today each platform has its own include directory under
    mach-/include/mach/*, and traditionally that is where a lot
    of driver/platform shared definitions have gone, such as platform
    data structures. They now need to move out to a common location
    instead, and this branch moves a large number of those out to
    include/linux/platform_data.
    * Each platform used to list the device trees to compile for its
    boards in mach-/Makefile.boot.

    Both of the above changes will mean that there are some merge
    conflicts to come (and some to resolve here). It's a one-time move
    and once it settles in, we should be good for quite a while. Sorry
    for the overhead."

    Fix conflicts as per Olof.

    * tag 'multiplatform' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (51 commits)
    ARM: add v7 multi-platform defconfig
    ARM: msm: Move core.h contents into common.h
    ARM: highbank: call highbank_pm_init from .init_machine
    ARM: dtb: move all dtb targets to common Makefile
    ARM: spear: move platform_data definitions
    ARM: samsung: move platform_data definitions
    ARM: orion: move platform_data definitions
    ARM: vexpress: convert to multi-platform
    ARM: initial multiplatform support
    ARM: mvebu: move armada-370-xp.h in mach dir
    ARM: vexpress: remove dependency on mach/* headers
    ARM: picoxcell: remove dependency on mach/* headers
    ARM: move all dtb targets out of Makefile.boot
    ARM: picoxcell: move debug macros to include/debug
    ARM: socfpga: move debug macros to include/debug
    ARM: mvebu: move debug macros to include/debug
    ARM: vexpress: move debug macros to include/debug
    ARM: highbank: move debug macros to include/debug
    ARM: move debug macros to common location
    ARM: make mach/gpio.h headers optional
    ...

    Linus Torvalds
     
  • Pull ARM soc general cleanups from Olof Johansson:
    "This is a large branch that contains a handful of different cleanups:

    - Fixing up the I/O space remapping on PCI on ARM. This is a series
    from Rob Herring that restructures how all pci devices allocate I/O
    space, and it's part of the work to allow multiplatform kernels.
    - A number of cleanup series for OMAP, moving and removing some
    headers, sparse irq rework and in general preparation for
    multiplatform.
    - Final removal of all non-DT boards for Tegra, it is now
    device-tree-only!
    - Removal of a stale platform, nxp4008. It's an old mobile chipset
    that is no longer in use, and was very likely never really used
    with a mainline kernel. We have not been able to find anyone
    interested in keeping it around in the kernel.
    - Removal of the legacy dmaengine driver on tegra

    + A handful of other things that I haven't described above."

    Fix up some conflicts with the staging tree (and because nxp4008 was
    removed)

    * tag 'cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (184 commits)
    ARM: OMAP2+: serial: Change MAX_HSUART_PORTS to 6
    ARM: OMAP4: twl-common: Support for additional devices on i2c1 bus
    ARM: mmp: using for_each_set_bit to simplify the code
    ARM: tegra: harmony: fix ldo7 regulator-name
    ARM: OMAP2+: Make omap4-keypad.h local
    ARM: OMAP2+: Make l4_3xxx.h local
    ARM: OMAP2+: Make l4_2xxx.h local
    ARM: OMAP2+: Make l3_3xxx.h local
    ARM: OMAP2+: Make l3_2xxx.h local
    ARM: OMAP1: Move irda.h from plat to mach
    ARM: OMAP2+: Make hdq1w.h local
    ARM: OMAP2+: Make gpmc-smsc911x.h local
    ARM: OMAP2+: Make gpmc-smc91x.h local
    ARM: OMAP1: Move flash.h from plat to mach
    ARM: OMAP2+: Make debug-devices.h local
    ARM: OMAP1: Move board-voiceblue.h from plat to mach
    ARM: OMAP1: Move board-sx1.h from plat to mach
    ARM: OMAP2+: Make omap-wakeupgen.h local
    ARM: OMAP2+: Make omap-secure.h local
    ARM: OMAP2+: Make ctrl_module_wkup_44xx.h local
    ...

    Linus Torvalds
     
  • Pull non-critical ARM soc bug fixes from Olof Johansson:
    "These were submitted as bug fixes before v3.6 but not considered
    important enough to be included in it. Some of them cross over to
    cleanup territory as well, and aren't strictly bugfixes."

    * tag 'fixes-non-critical' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (48 commits)
    ARM: nomadik: remove NAND_NO_READRDY use
    ARM: pxa: fix return value check in pxa2xx_drv_pcmcia_probe()
    ARM: SAMSUNG: Add missing variable declaration in s3c64xx_spi1_set_platdata()
    ARM: S3C24XX: removes unnecessary semicolon
    ARM: S3C24xx: delete double assignment
    ARM: EXYNOS: fix address for EXYNOS4 MDMA1
    ARM: EXYNOS: fixed SYSMMU setup definition to mate parameter name
    ARM: ep93xx: Move ts72xx.h out of include/mach
    ARM: ep93xx: use __iomem pointers for MMIO
    ARM: msm: Fix early debug uart mapping on some memory configs
    ARM: msm: io: Change the default static iomappings to be shared
    ARM: msm: io: Remove 7x30 iomap region from 7x00
    ARM: msm: Remove call to missing FPGA init on 8660
    ARM: OMAP4: wakeupgen: remove duplicate AUXCOREBOOT* read/write
    ARM: OMAP4: wakeupgen: Fix the typo in AUXCOREBOOT register save
    dma: tegra: make data used as *of_device_id.data const
    can: mpc5xxx_can: make data used as *of_device_id.data const
    macintosh/mediabay: make data used as *of_device_id.data const
    i2c/mpc: make data used as *of_device_id.data const
    mfd/da9052: make i2c_device_id array const
    ...

    Linus Torvalds
     
  • Pull the trivial tree from Jiri Kosina:
    "Tiny usual fixes all over the place"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (34 commits)
    doc: fix old config name of kprobetrace
    fs/fs-writeback.c: cleanup riteback_sb_inodes kerneldoc
    btrfs: fix the commment for the action flags in delayed-ref.h
    btrfs: fix trivial typo for the comment of BTRFS_FREE_INO_OBJECTID
    vfs: fix kerneldoc for generic_fh_to_parent()
    treewide: fix comment/printk/variable typos
    ipr: fix small coding style issues
    doc: fix broken utf8 encoding
    nfs: comment fix
    platform/x86: fix asus_laptop.wled_type module parameter
    mfd: printk/comment fixes
    doc: getdelays.c: remember to close() socket on error in create_nl_socket()
    doc: aliasing-test: close fd on write error
    mmc: fix comment typos
    dma: fix comments
    spi: fix comment/printk typos in spi
    Coccinelle: fix typo in memdup_user.cocci
    tmiofb: missing NULL pointer checks
    tools: perf: Fix typo in tools/perf
    tools/testing: fix comment / output typos
    ...

    Linus Torvalds
     

01 Oct, 2012

2 commits

  • As follow-up to "dt: introduce of_get_child_by_name to get child node by
    name." patch, This patch removes some of the code duplication in the
    driver by replacing it with of_get_child_by_name instead.

    Signed-off-by: Srinivas Kandagatla
    Signed-off-by: Rob Herring

    Srinivas Kandagatla
     
  • The current SPI driver has many issues. Examples are:

    * Segfaulting on most transfers due to expecting all transfers to have
    both RX and TX buffers.
    * Hanging on TX transfers since the whole driver flow is driven by RX
    DMA completion, but the HW is only told to enable RX for RX transfers.
    * Use of clk_disable_unprepare() from atomic context.
    * Once those and other minor issues are fixed, the driver still doesn't
    actually work.
    * The driver also implements a deprecated API to the SPI core.

    For this reason, simply remove the driver completely. This has two
    advantages:

    1) This will remove the last use of Tegra's , which will
    allow that file to be removed, which is required for single zImage
    work.

    2) The downstream driver is significaly different from the current
    code. I believe a patch to re-add the downstream driver (with
    appropriate cleanup) will be much simpler to review if it's a new
    file rather than randomly interspered with essentially unrelated
    existing code.

    Signed-off-by: Stephen Warren
    Signed-off-by: Mark Brown

    Stephen Warren
     

28 Sep, 2012

4 commits


25 Sep, 2012

4 commits

  • Linux 3.6-rc6

    Conflicts (overlap between moving code that accesses registers around
    and factoring the register access out into a SSP layer):
    drivers/mmc/host/mxs-mmc.c

    Mark Brown
     
  • Linux 3.6-rc6

    Conflicts:
    drivers/spi/spi-omap2-mcspi.c

    Mark Brown
     
  • Even with devicetree support, we needed platform data to provide some data,
    leading to mixed device tree and platform data. This patch makes it possible to
    provide all that information via device tree. Now, the data must be provided
    via platform data _or_ device tree completely.

    Only in case of DMA where a callback specification is necessary (dma_filter()),
    platform data is the only option.

    Signed-off-by: Roland Stigge
    Acked-by: Arnd Bergmann
    Acked-by: Linus Walleij
    Signed-off-by: Mark Brown

    Roland Stigge
     
  • When s3c64xx-spi is instantiated from device tree an instance of
    struct s3c64xx_spi_csinfo is dynamically allocated in the driver.
    For non-dt platform it is passed from board code through
    spi_register_board_info(). On error path in s3c64xx_spi_setup()
    function there is an attempt to free this data struct
    s3c64xx_spi_csinfo object as it would have been allocated in the
    driver for both, dt and non-dt based platforms. This leads to
    following bug when gpio request fails:

    spi spi1.0: Failed to get /CS gpio [21]: -16
    kernel BUG at mm/slub.c:3478!
    Internal error: Oops - BUG: 0 [#1] PREEMPT SMP ARM
    Modules linked in:
    CPU: 0 Not tainted (3.6.0-rc5-00092-g9b0b493-dirty #6111)
    PC is at kfree+0x148/0x158
    LR is at s3c64xx_spi_setup+0xac/0x290
    pc : [] lr : [] psr: 40000013
    sp : ee043e10 ip : c032883c fp : c0481f7c
    r10: ee0abd80 r9 : 00000063 r8 : 00000000
    r7 : ee129e78 r6 : ee104a00 r5 : fffffff0 r4 : c047bc64
    r3 : 40000400 r2 : c047bc64 r1 : c04def60 r0 : 0004047b
    Flags: nZcv IRQs on FIQs on Mode SVC_32 ISA ARM Segment kernel
    Control: 10c5387d Table: 4000404a DAC: 00000015
    Process swapper/0 (pid: 1, stack limit = 0xee0422f0)
    Stack: (0xee043e10 to 0xee044000)
    ...
    [] (kfree+0x148/0x158) from [] (s3c64xx_spi_setup+0xac/0x290)
    [] (s3c64xx_spi_setup+0xac/0x290) from [] (spi_setup+0x34/0x4c)
    [] (spi_setup+0x34/0x4c) from [] (spi_add_device+0x98/0x128)
    [] (spi_add_device+0x98/0x128) from [] (spi_new_device+0x74/0xa8)
    [] (spi_new_device+0x74/0xa8) from [] (spi_match_master_to_boardinfo+0x24/0x44)
    [] (spi_match_master_to_boardinfo+0x24/0x44) from [] (spi_register_master+0xf4/0x2a8)
    [] (spi_register_master+0xf4/0x2a8) from [] (s3c64xx_spi_probe+0x34c/0x42c)
    [] (s3c64xx_spi_probe+0x34c/0x42c) from [] (platform_drv_probe+0x18/0x1c)

    There should be no attempt to kfree controller_data when it was
    externally provided through the board code. Fix this by freeing
    controller_data only when dev->of_node is not null.

    Signed-off-by: Sylwester Nawrocki
    Signed-off-by: Kyungmin Park
    Acked-by: Kukjin Kim
    Signed-off-by: Mark Brown

    Sylwester Nawrocki
     

23 Sep, 2012

1 commit


22 Sep, 2012

1 commit

  • * multiplatform/platform-data:
    ARM: spear: move platform_data definitions
    ARM: samsung: move platform_data definitions
    ARM: orion: move platform_data definitions
    ARM: nomadik: move platform_data definitions
    ARM: w90x900: move platform_data definitions
    ARM: vt8500: move platform_data definitions
    ARM: tegra: move sdhci platform_data definition
    ARM: sa1100: move platform_data definitions
    ARM: pxa: move platform_data definitions
    ARM: netx: move platform_data definitions
    ARM: msm: move platform_data definitions
    ARM: imx: move platform_data definitions
    ARM: ep93xx: move platform_data definitions
    ARM: davinci: move platform_data definitions
    ARM: at91: move platform_data definitions

    Conflicts due to removed files:
    arch/arm/mach-tegra/board-harmony.c
    arch/arm/mach-tegra/board-trimslice.c

    Conflicts due to code removal:
    arch/arm/mach-tegra/board-paz00.c

    Context conflicts in:
    drivers/mmc/host/sdhci-tegra.c
    drivers/net/irda/pxaficp_ir.c

    Signed-off-by: Olof Johansson

    Olof Johansson
     

21 Sep, 2012

3 commits

  • …linux/kernel/git/tmlind/linux-omap into next/cleanup

    From Tony Lindgren:
    This branch contains mostly scripted changes to make omap
    header files local where possible to get us closer to supporting
    the ARM single zImage. After these changes mach includes are
    pretty much out of the way for omap2+, but still lots of manual
    work remains to sort through the remaining plat includes.

    * tag 'omap-cleanup-local-headers-for-v3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (26 commits)
    ARM: OMAP2+: Make omap4-keypad.h local
    ARM: OMAP2+: Make l4_3xxx.h local
    ARM: OMAP2+: Make l4_2xxx.h local
    ARM: OMAP2+: Make l3_3xxx.h local
    ARM: OMAP2+: Make l3_2xxx.h local
    ARM: OMAP1: Move irda.h from plat to mach
    ARM: OMAP2+: Make hdq1w.h local
    ARM: OMAP2+: Make gpmc-smsc911x.h local
    ARM: OMAP2+: Make gpmc-smc91x.h local
    ARM: OMAP1: Move flash.h from plat to mach
    ARM: OMAP2+: Make debug-devices.h local
    ARM: OMAP1: Move board-voiceblue.h from plat to mach
    ARM: OMAP1: Move board-sx1.h from plat to mach
    ARM: OMAP2+: Make omap-wakeupgen.h local
    ARM: OMAP2+: Make omap-secure.h local
    ARM: OMAP2+: Make ctrl_module_wkup_44xx.h local
    ARM: OMAP2+: Make ctrl_module_pad_wkup_44xx.h local
    ARM: OMAP2+: Make ctrl_module_pad_core_44xx.h local
    ARM: OMAP2+: Make ctrl_module_core_44xx.h local
    ARM: OMAP2+: Make board-rx51.h local
    ...

    Olof Johansson
     
  • …/git/swarren/linux-tegra into next/cleanup

    ARM: tegra: switch to dmaengine

    The Tegra code-base has contained both a legacy DMA and a dmaengine
    driver since v3.6-rcX. This series flips Tegra's defconfig to enable
    dmaengine rather than the legacy driver, and removes the legacy driver
    and all client code.

    * tag 'tegra-for-3.7-dmaengine' of git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-tegra:
    ASoC: tegra: remove support of legacy DMA driver based access
    spi: tegra: remove support of legacy DMA driver based access
    ARM: tegra: apbio: remove support of legacy DMA driver based access
    ARM: tegra: dma: remove legacy APB DMA driver
    ARM: tegra: config: enable dmaengine based APB DMA driver
    + sync to 3.6-rc6

    Olof Johansson
     
  • We are moving omap2+ to use the device tree based pinctrl-single.c
    and will be removing the old mux framework. This will remove the
    omap1 specific parts from plat-omap.

    Acked-by: Felipe Balbi
    Cc: Grant Likely
    Cc: Alan Stern
    Cc: Greg Kroah-Hartman
    Cc: Richard Purdie
    Cc: Florian Tobias Schandinat
    Cc: Tomi Valkeinen
    Cc: linux-usb@vger.kernel.org
    Cc: linux-pcmcia@lists.infradead.org
    Cc: spi-devel-general@lists.sourceforge.net
    Signed-off-by: Tony Lindgren

    Tony Lindgren
     

20 Sep, 2012

1 commit

  • Amend the PL022 pin controller to optionally take a pin control
    handle and set the state of the pins to "default" on boot and
    runtime resume, and to "sleep" at runtime suspend. This way we
    will dynamically save power on the SPI busses, for example some
    electronic designs may be able to ground the pins when unused
    instead of pull-up. Some pin controllers may want to set the
    pins as wake-up sources when sleeping.

    Effect on platforms using the PL022 driver:

    - If the platform does not use pin control - no semantic effect,
    the pinctrl stubs will kick in and resolve the situation.

    - Platforms using this driver and have pin control but no
    function defined for the PL022 need to either supply a
    "default" function in their map or enable pinctrl dummies
    so the driver is satisfied.

    - Platforms using this driver with hogs for setting up the PL022
    pin control - stop using hogs to take the pl022 pin control
    handle, let the driver handle this.

    I'be looked at some platforms that may be affected:

    - SPEAr: appears to define the proper functions in their device
    trees and not hogging them, so things should be smooth, the
    driver will simply start to take its pins.

    - Ux500: the proper function is defined and will be taken properly
    by the driver. New sleep states introduced by a separate patch to
    ux500 but no regression, since the default state is sufficient.

    - U300: old hog deleted as part of this patch.

    - LPC32xx: does not appear to be using pinctrl.

    - ARM Integrator IMPD1, RealView & Versatile: does not use pinctrl.

    Tested-by: Roland Stigge
    Signed-off-by: Patrice Chotard
    Signed-off-by: Linus Walleij
    Signed-off-by: Mark Brown

    Patrice Chotard
     

19 Sep, 2012

2 commits

  • Platform data for device drivers should be defined in
    include/linux/platform_data/*.h, not in the architecture
    and platform specific directories.

    This moves such data out of the samsung include directories

    Signed-off-by: Arnd Bergmann
    Acked-by: Mark Brown
    Acked-by: Greg Kroah-Hartman
    Acked-by: Nicolas Pitre
    Acked-by: Mauro Carvalho Chehab
    Cc: Kukjin Kim
    Cc: Kyungmin Park
    Cc: Ben Dooks
    Cc: Jeff Garzik
    Cc: Guenter Roeck
    Cc: "Wolfram Sang (embedded platforms)"
    Cc: Dmitry Torokhov
    Cc: Bryan Wu
    Cc: Richard Purdie
    Cc: Sylwester Nawrocki
    Cc: Chris Ball
    Cc: David Woodhouse
    Cc: Grant Likely
    Cc: Felipe Balbi
    Cc: Alan Stern
    Cc: Sangbeom Kim
    Cc: Liam Girdwood
    Cc: linux-samsung-soc@vger.kernel.org

    Arnd Bergmann
     
  • Platform data for device drivers should be defined in
    include/linux/platform_data/*.h, not in the architecture
    and platform specific directories.

    This moves such data out of the omap include directories

    Signed-off-by: Arnd Bergmann
    Acked-by: Mark Brown
    Acked-by: Greg Kroah-Hartman
    Acked-by: Nicolas Pitre
    Acked-by: Tony Lindgren
    Cc: Kevin Hilman
    Cc: "Benoît Cousson"
    Cc: Dmitry Torokhov
    Cc: David Woodhouse
    Cc: Kyungmin Park
    Cc: Ohad Ben-Cohen
    Cc: Grant Likely
    Cc: Omar Ramirez Luna
    Cc: Tomi Valkeinen
    Cc: Florian Tobias Schandinat
    Cc: Peter Ujfalusi
    Cc: Jarkko Nikula
    Cc: Liam Girdwood
    Cc: Artem Bityutskiy
    Cc: Jean Pihet
    Cc: J Keerthy
    Cc: linux-omap@vger.kernel.org

    Arnd Bergmann
     

17 Sep, 2012

1 commit


14 Sep, 2012

4 commits

  • Platform data for device drivers should be defined in
    include/linux/platform_data/*.h, not in the architecture
    and platform specific directories.

    This moves such data out of the w90x900 include directories

    Signed-off-by: Arnd Bergmann
    Acked-by: Mark Brown
    Acked-by: Greg Kroah-Hartman
    Acked-by: Nicolas Pitre
    Cc: Wan ZongShun
    Cc: "Ben Dooks (embedded platforms)"
    Cc: "Wolfram Sang (embedded platforms)"
    Cc: Dmitry Torokhov
    Cc: Grant Likely
    Cc: Florian Tobias Schandinat

    Arnd Bergmann
     
  • Platform data for device drivers should be defined in
    include/linux/platform_data/*.h, not in the architecture
    and platform specific directories.

    This moves such data out of the imx include directories

    Signed-off-by: Arnd Bergmann
    Acked-by: Mark Brown
    Acked-by: Greg Kroah-Hartman
    Acked-by: Nicolas Pitre
    Acked-by: Mauro Carvalho Chehab
    Acked-by: Sascha Hauer
    Acked-by: Vinod Koul
    Cc: Russell King
    Cc: Dan Williams
    Cc: "Ben Dooks (embedded platforms)"
    Cc: "Wolfram Sang (embedded platforms)"
    Cc: Chris Ball
    Cc: David Woodhouse
    Cc: Grant Likely
    Cc: Alan Cox
    Cc: Felipe Balbi
    Cc: Alan Stern
    Cc: Florian Tobias Schandinat
    Cc: Liam Girdwood
    Cc: Javier Martin
    Cc: Shawn Guo
    Cc: Guennadi Liakhovetski

    Arnd Bergmann
     
  • Platform data for device drivers should be defined in
    include/linux/platform_data/*.h, not in the architecture
    and platform specific directories.

    This moves such data out of the ep93xx include directories

    Signed-off-by: Arnd Bergmann
    Acked-by: Mark Brown
    Acked-by: Greg Kroah-Hartman
    Acked-by: Nicolas Pitre
    Acked-by: Hartley Sweeten
    Acked-by: Ryan Mallon
    Acked-by: Vinod Koul
    Cc: Grant Likely
    Cc: Jeff Garzik
    Cc: Dan Williams
    Cc: Dmitry Torokhov
    Cc: Florian Tobias Schandinat
    Cc: Liam Girdwood
    Cc: Jaroslav Kysela
    Cc: Takashi Iwai
    Cc: Mika Westerberg
    Cc: Axel Lin

    Arnd Bergmann
     
  • Platform data for device drivers should be defined in
    include/linux/platform_data/*.h, not in the architecture
    and platform specific directories.

    This moves such data out of the davinci include directories

    Signed-off-by: Arnd Bergmann
    Acked-by: Mark Brown
    Acked-by: Greg Kroah-Hartman
    Acked-by: Nicolas Pitre
    Acked-by: Mauro Carvalho Chehab
    Acked-by: Felipe Balbi
    Cc: Sekhar Nori
    Cc: Kevin Hilman
    Cc: "Ben Dooks"
    Cc: "Wolfram Sang"
    Cc: Dmitry Torokhov
    Cc: Chris Ball
    Cc: David Woodhouse
    Cc: Grant Likely
    Cc: Alan Stern
    Cc: Liam Girdwood
    Cc: davinci-linux-open-source@linux.davincidsp.com

    Arnd Bergmann
     

13 Sep, 2012

2 commits

  • From "Uwe Kleine-König" :

    this is the 2nd version of this series whose goal is to make struct
    of_device_id.data const. Conceptually a driver must not modify the data
    contained there so making it const is the right thing.

    v1 of this series was sent with Message-id:
    1342182734-321-1-git-send-email-y. Changes since then are:
    - powerpc fixes
    - several new consts that were found by Arnd that are possible after
    patch 19.

    Arnd suggested to take this series via arm-soc late for 3.6 in one go
    because patch 19 depends on the former patches but is a precondition to
    the latter and it fixes a few warnings. So getting it in via the
    respective maintainer trees would need a much bigger coordination
    effort. That means I prefer getting Acks over you taking the patch.

    Vinod Koul already took
    dmaengine: at_hdmac: add a few const qualifiers
    that is in next-20120723 as 7fd63ccdad72 now. Vinod, I don't follow your
    pull requests, but assuming you didn't let it already pull for 3.6 I
    suggest you drop it from your queue and I just take your Ack.

    This series was build tested for arm (all defconfigs) and powerpc (all
    defconfigs and an allyesconfig) and grep didn't find more issues. As
    before it introduces a warning in drivers/regulator/twl-regulator.c.
    This driver does modify its .of_match_table when a device is bound which
    doesn't fits the concept of independant devices. Arnd noticed another
    new warning in drivers/scsi/qlogicpti.c that isn't that easy to resolve,
    because the pointer to (now) const data is passed as first argument to
    scsi_host_alloc. To fix that properly struct Scsi_Host.hostt needs to
    get a const, too. Alternatively I could introduce a cast removing the
    const, but I don't like that.

    * 'ofdeviceiddata' of git://git.pengutronix.de/git/ukl/linux: (25 commits)
    dma: tegra: make data used as *of_device_id.data const
    can: mpc5xxx_can: make data used as *of_device_id.data const
    macintosh/mediabay: make data used as *of_device_id.data const
    i2c/mpc: make data used as *of_device_id.data const
    mfd/da9052: make i2c_device_id array const
    powerpc/fsl_msi: drop unneeded cast to non-const pointer
    gpio/gpio-omap: make platformdata used as *of_device_id.data const
    of: add const to struct *of_device_id.data
    dma: tegra: make tegra_dma.chip_data a pointer to const data
    watchdog/mpc8xxx: add a const qualifier
    powerpc/celleb_pci: add a const qualifier
    powerpc/fsl_msi: add a const qualifier
    powerpc/83xx: add a const qualifier
    macintosh/mediabay: add a const qualifier
    mmc/omap_hsmmc: add a const qualifier
    i2c/mpc: add a const qualifier
    i2c/i2c-omap: add a const qualifier
    gpio/mpc8xxx: add a const qualifier
    gpio/gpio-omap.c: add a const qualifier
    misc/atmel_tc: make atmel_tc.tcb_config member point to const data

    Signed-off-by: Arnd Bergmann
    [olof: repulled a v3 version of the branch that rebased to add some more
    acked-bys and added one more patch on top for tegra]
    Signed-off-by: Olof Johansson

    Olof Johansson
     
  • There's no need to have these in plat-omap any longer. Note that these
    could eventually be made local to mach-omap1 instead of being in mach.

    But to do that, at least various driver access using omap7xxx.h registers
    needs to be fixed first.

    Cc: spi-devel-general@lists.sourceforge.net
    Cc: Grant Likely
    Signed-off-by: Tony Lindgren

    Tony Lindgren
     

12 Sep, 2012

1 commit

  • Currently in omap2_mcspi_txrx_dma the tx and the rx support is
    interleaved. Make the rx related code in omap2_mcspi_rx_dma
    and the tx related code omap2_mcspi_tx_dma and call the functions.

    While at it remove the braces in the if statements which has only
    one line.
    Also fix ["foo * bar" to "foo *bar"] warn for the rx and tx variables.

    Only a cleanup no functional change.

    Signed-off-by: Shubhrajyoti D
    Tested-by: Felipe Balbi
    Signed-off-by: Mark Brown

    Shubhrajyoti D
     

07 Sep, 2012

1 commit


06 Sep, 2012

7 commits

  • Add "clock-frequency" property, which allows configuring the SPI block's
    base speed.

    Signed-off-by: Marek Vasut
    Signed-off-by: Mark Brown

    Marek Vasut
     
  • devm free functions should not have to be explicitly used.

    A semantic match that finds this problem is as follows:
    (http://coccinelle.lip6.fr/)

    //
    @@
    @@

    (
    * devm_kfree(...);
    |
    * devm_free_irq(...);
    |
    * devm_iounmap(...);
    |
    * devm_release_region(...);
    |
    * devm_release_mem_region(...);
    )
    //

    Signed-off-by: Julia Lawall
    Signed-off-by: Mark Brown

    Julia Lawall
     
  • The new chip select handling via GPIO introduced a pointer computation bug:

    (int *) pl022 + sizeof(struct pl022)

    doesn't point to the data immediately after the actual struct pl022 (as was
    intended) but to a multiple of bytes after it because of the (int *) type.

    Replacing the kludgy pointer arithmetic with managed memory allocation for the
    chip selects.

    Reported-by: Shiraz Hashim
    Signed-off-by: Roland Stigge
    Reviewed-by: Linus Walleij
    Signed-off-by: Mark Brown

    Roland Stigge
     
  • module_spi_driver eliminates module_init and module_exit
    calls and makes the code simpler.

    Signed-off-by: Sachin Kamat
    Signed-off-by: Mark Brown

    Sachin Kamat
     
  • Rework the mxs_ssp_timeout() function to make it a bit more readable
    and hopefully less error prone. Also, have only one successful exit
    from the function and one failing exit instead of two.

    Finally, discard the udelay() from this function altogether, as this
    tightloop is quick enough it's pointless.

    Signed-off-by: Marek Vasut
    Signed-off-by: Mark Brown

    Marek Vasut
     
  • This driver checks the length of transfer to be made and based
    on this information, either chooses to transfer data via DMA or
    PIO. Decrement this border further to gain better performace eg.
    during SPI flash writes.

    Empiric measurement shows that this gives extra 3kB/s write speed
    with a M25P80 flash clocked at 40MHz.

    Signed-off-by: Marek Vasut
    Signed-off-by: Mark Brown

    Marek Vasut
     
  • The transfer function incremented (struct spi_message)->actual_length
    unconditionally, even if the transfer failed. Rectify this by incrementing
    this only if transfer succeeded.

    Signed-off-by: Marek Vasut
    Signed-off-by: Mark Brown

    Marek Vasut