29 Oct, 2012

1 commit


25 Oct, 2012

1 commit

  • Pull spi fixes from Mark Brown:
    "A bunch of fixes here, mostly minor except for the pl022 which has
    just been a bit of a shambles all round, the recent runtime PM changes
    have as far as I can tell never worked so they're just getting thrown
    out."

    * tag 'spi-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/misc:
    spi/pl022: Revert recent runtime PM changes
    spi: tsc2005: delete soon-obsolete e-mail address
    spi: spi-rspi: fix build error for the latest shdma driver

    Linus Torvalds
     

23 Oct, 2012

1 commit

  • [Originally sent by Ulf as two changes, squashed down into one with a
    redone changelog, thanks to Russell King for analysis. -- broonie]

    This reverts commit 688723 (spi/pl022: enable runtime PM) and commit
    2fb30d (spi/pl022: fix spi-pl022 pm enable at probe).

    Commit "spi/pl022: enable runtime PM" introduced runtime PM issues as it
    interacted badly with the work Russell King had done to move core
    runtime PM handling into the bus. Due to that commit, "spi/pl022: fix
    spi-pl022 pm enable at probe" was merged to fix part of those issues.

    Instead of adding another fix, let's clean up and revert everything
    back to when it was already fine.

    Signed-off-by: Ulf Hansson
    Reviewed-by: Linus Walleij
    Signed-off-by: Mark Brown

    Revert "spi/pl022: enable runtime PM"

    Conflicts:
    drivers/spi/spi-pl022.c

    Ulf Hansson
     

20 Oct, 2012

1 commit

  • …nel/git/arm/arm-soc into fixes

    A collection of warning fixes on non-ARM code from Arnd Bergmann:

    * 'testing/driver-warnings' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
    ARM: s3c: mark s3c2440_clk_add as __init_refok
    spi/s3c64xx: use correct dma_transfer_direction type
    pcmcia: sharpsl: don't discard sharpsl_pcmcia_ops
    USB: EHCI: mark ehci_orion_conf_mbus_windows __devinit
    mm/slob: use min_t() to compare ARCH_SLAB_MINALIGN
    SCSI: ARM: make fas216_dumpinfo function conditional
    SCSI: ARM: ncr5380/oak uses no interrupts

    Olof Johansson
     

17 Oct, 2012

4 commits

  • There is a subtle difference between dma_transfer_direction and
    dma_data_direction: the former is used by the dmaengine framework,
    while the latter is used by the dma-mapping API. Although the
    purpose is comparable, the actual values are different and must
    not be mixed. In this case, the driver just wants to use
    dma_transfer_direction.

    Without this patch, building s3c6400_defconfig results in:

    drivers/spi/spi-s3c64xx.c: In function 's3c64xx_spi_dmacb':
    drivers/spi/spi-s3c64xx.c:239:21: warning: comparison between
    'enum dma_data_direction' and 'enum dma_transfer_direction' [-Wenum-compare]

    As pointed out by Kukjin Kim, this also changes the use of constants
    from DMA_FROM_DEVICE/DMA_TO_DEVICE to DMA_DEV_TO_MEM/DMA_MEM_TO_DEV.

    Signed-off-by: Arnd Bergmann
    Acked-by: Kukjin Kim
    Cc: Ben Dooks
    Cc: Grant Likely
    Cc: linux-arm-kernel@lists.infradead.org
    Cc: linux-samsung-soc@vger.kernel.org
    Cc: spi-devel-general@lists.sourceforge.net

    Arnd Bergmann
     
  • Because the latest shdma driver changed, it caused build error in
    the spi-rspi driver. This patch fixed the build error.

    Signed-off-by: Yoshihiro Shimoda
    Signed-off-by: Mark Brown

    Shimoda, Yoshihiro
     
  • In case the SPI DMA times out, the DMA might still be in some kind of
    inconsistent state. Issue dmaengine_terminate_all() on the particular
    channel to kill off all operations before continuing.

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

    Marek Vasut
     
  • In the current code implementing the MXS SPI driver, every transferred
    message had assigned status = 0, which is not correct. Properly assign
    status returned from the I/O functions.

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

    Marek Vasut
     

10 Oct, 2012

1 commit

  • Pull slave-dmaengine updates from Vinod Koul:
    "This time we have Andy updates on dw_dmac which is attempting to make
    this IP block available as PCI and platform device though not fully
    complete this time.

    We also have TI EDMA moving the dma driver to use dmaengine APIs, also
    have a new driver for mmp-tdma, along with bunch of small updates.

    Now for your excitement the merge is little unusual here, while
    merging the auto merge on linux-next picks wrong choice for pl330
    (drivers/dma/pl330.c) and this causes build failure. The correct
    resolution is in linux-next. (DMA: PL330: Fix build error) I didn't
    back merge your tree this time as you are better than me so no point
    in doing that for me :)"

    Fixed the pl330 conflict as in linux-next, along with trivial header
    file conflicts due to changed includes.

    * 'next' of git://git.infradead.org/users/vkoul/slave-dma: (29 commits)
    dma: tegra: fix interrupt name issue with apb dma.
    dw_dmac: fix a regression in dwc_prep_dma_memcpy
    dw_dmac: introduce software emulation of LLP transfers
    dw_dmac: autoconfigure data_width or get it via platform data
    dw_dmac: autoconfigure block_size or use platform data
    dw_dmac: get number of channels from hardware if possible
    dw_dmac: fill optional encoded parameters in register structure
    dw_dmac: mark dwc_dump_chan_regs as inline
    DMA: PL330: return ENOMEM instead of 0 from pl330_alloc_chan_resources
    DMA: PL330: Remove redundant runtime_suspend/resume functions
    DMA: PL330: Remove controller clock enable/disable
    dmaengine: use kmem_cache_zalloc instead of kmem_cache_alloc/memset
    DMA: PL330: Set the capability of pdm0 and pdm1 as DMA_PRIVATE
    ARM: EXYNOS: Set the capability of pdm0 and pdm1 as DMA_PRIVATE
    dma: tegra: use list_move_tail instead of list_del/list_add_tail
    mxs/dma: Enlarge the CCW descriptor area to 4 pages
    dw_dmac: utilize slave_id to pass request line
    dmaengine: mmp_tdma: add dt support
    dmaengine: mmp-pdma support
    spi: davici - make davinci select edma
    ...

    Linus Torvalds
     

09 Oct, 2012

1 commit

  • Pull MIPS update from Ralf Baechle:
    "This is the MIPS update for 3.7.

    A fair chunk of them are platform updates to the Cavium Octeon SOC
    (which involves machine generated header files of considerable size),
    Atheros ATH79xx, RMI aka Netlogic aka Broadcom XLP, Broadcom BCM63xx
    platforms.

    Support for the commercial MIPS simulator MIPSsim has been removed as
    MIPS Technologies is shifting away from this product and Qemu is
    offering various more powerful platforms. The generic MIPS code can
    now also probe for no-execute / write-only TLB features implemented
    without the full SmartMIPS extension as permitted by the latest MIPS
    processor architecture. Lots of small changes to generic code."

    * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (78 commits)
    MIPS: ath79: Fix CPU/DDR frequency calculation for SRIF PLLs
    MIPS: ath79: use correct fractional dividers for {CPU,DDR}_PLL on AR934x
    MIPS: BCM63XX: Properly handle mac address octet overflow
    MIPS: Kconfig: Avoid build errors by hiding USE_OF from the user.
    MIPS: Replace `-' in defconfig filename wth `_' for consistency.
    MIPS: Wire kcmp syscall.
    MIPS: MIPSsim: Remove the MIPSsim platform.
    MIPS: NOTIFY_RESUME is not needed in TIF masks
    MIPS: Merge the identical "return from syscall" per-ABI code
    MIPS: Unobfuscate _TIF..._MASK
    MIPS: Prevent hitting do_notify_resume() with !user_mode(regs).
    MIPS: Replace 'kernel_uses_smartmips_rixi' with 'cpu_has_rixi'.
    MIPS: Add base architecture support for RI and XI.
    MIPS: Optimise TLB handlers for MIPS32/64 R2 cores.
    MIPS: uasm: Add INS and EXT instructions.
    MIPS: Avoid pipeline stalls on some MIPS32R2 cores.
    MIPS: Make VPE count to be one-based.
    MIPS: Add new end of interrupt functionality for GIC.
    MIPS: Add EIC support for GIC.
    MIPS: Code clean-ups for the GIC.
    ...

    Linus Torvalds
     

07 Oct, 2012

1 commit

  • Pull late ARM soc platform updates from Olof Johansson:
    "This branch contains updates to OMAP and Marvell platforms (kirkwood,
    dove, mvebu) that came in after we had done the big multiplatform
    merges, so they were kept separate from the rest, and not separated
    into the traditional topics of cleanup/driver/platform features.

    For OMAP, the updates are:
    - Runtime PM conversions for the GPMC and RNG IP blocks
    - Preparation patches for the OMAP common clock framework conversion
    - clkdev alias additions required by other drivers
    - Performance Monitoring Unit (PMU) support for OMAP2, 3, and
    non-4430 OMAP4
    - OMAP hwmod code and data improvements
    - Preparation patches for the IOMMU runtime PM conversion
    - Preparation patches for OMAP4 full-chip retention support

    For Kirkwood/Dove/mvebu:
    - New driver for "address decoder controller" for mvebu, which is a
    piece of hardware that configures addressable devices and
    peripherals. First user is the boot rom aperture on armada XP
    since it is needed for SMP support.
    - New device tree bindings for peripherals such as gpio-fan, iconnect
    nand, mv_cesa and the above address decoder controller.
    - Some defconfig updates, mostly to enable new DT boards and a few
    drivers.
    - New drivers using the pincontrol subsystem for dove, kirkwood and
    mvebu
    - New clean gpio driver for mvebu"

    * tag 'soc-late' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (98 commits)
    ARM: mvebu: fix build breaks from multi-platform conversion
    ARM: OMAP4460/4470: PMU: Enable PMU for OMAP4460/70
    ARM: OMAP2+: PMU: Add runtime PM support
    ARM: OMAP4430: PMU: prepare to create PMU device via HWMOD
    ARM: OMAP2+: PMU: Convert OMAP2/3 devices to use HWMOD
    ARM: OMAP3: hwmod data: Add debugss HWMOD data
    ARM: OMAP2+: clockdomain/hwmod: add workaround for EMU clockdomain idle problems
    ARM: OMAP: Add a timer attribute for timers that can interrupt the DSP
    hwrng: OMAP: remove SoC restrictions from driver registration
    ARM: OMAP: split OMAP1, OMAP2+ RNG device registration
    hwrng: OMAP: convert to use runtime PM
    hwrng: OMAP: store per-device data in per-device variables, not file statics
    ARM: OMAP2xxx: hwmod/CM: add RNG integration data
    ARM: OMAP2+: gpmc: minimal driver support
    ARM: OMAP2+: gpmc: Adapt to HWMOD
    ARM: OMAP2/3: hwmod data: add gpmc
    ARM: OMAP4: hwmod data: add mmu hwmod for ipu and dsp
    ARM: OMAP3: hwmod data: add mmu data for iva and isp
    ARM: OMAP: iommu: fix including iommu.h without IOMMU_API selected
    ARM: OMAP4: hwmod data: add missing HWMOD_NO_IDLEST flags to some PRCM IP blocks
    ...

    Linus Torvalds
     

05 Oct, 2012

2 commits


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

2 commits


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

1 commit

  • 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