04 Oct, 2018

1 commit

  • commit 7001cab1dabc0b72b2b672ef58a90ab64f5e2343 upstream.

    Depending on the SPI instance one may get an interrupt storm upon
    requesting resp. interrupt unless the clock is explicitly enabled
    beforehand. This has been observed trying to bring up instance 4 on
    T20.

    Signed-off-by: Marcel Ziswiler
    Signed-off-by: Mark Brown
    Cc: stable@vger.kernel.org
    Signed-off-by: Greg Kroah-Hartman

    Marcel Ziswiler
     

20 Jul, 2017

1 commit

  • Commit a53e35db70d1 ("reset: Ensure drivers are explicit when requesting
    reset lines") started to transition the reset control request API calls
    to explicitly state whether the driver needs exclusive or shared reset
    control behavior. Convert all drivers requesting exclusive resets to the
    explicit API call so the temporary transition helpers can be removed.

    No functional changes.

    Cc: Laxman Dewangan
    Cc: Mark Brown
    Cc: Thierry Reding
    Cc: Jonathan Hunter
    Cc: linux-spi@vger.kernel.org
    Cc: linux-tegra@vger.kernel.org
    Signed-off-by: Philipp Zabel
    Signed-off-by: Mark Brown

    Philipp Zabel
     

25 Apr, 2017

1 commit


20 Oct, 2014

1 commit


08 May, 2014

1 commit


30 Mar, 2014

2 commits


16 Feb, 2014

1 commit

  • The purpose of commit 1e8a52e18cfb
    "spi: By default setup spi_masters with 1 chipselect and dynamics bus number"
    is to avoid setting default value for bus_num and num_chipselect in spi master
    drivers. So let's remove the duplicate code.

    Signed-off-by: Axel Lin
    Acked-by: Uwe Kleine-König
    Acked-By: David Daney
    Acked-by: Stephen Warren
    Signed-off-by: Mark Brown

    Axel Lin
     

13 Feb, 2014

1 commit


11 Feb, 2014

1 commit

  • Use master->max_speed_hz instead of tspi->spi_max_frequency, so spi core will
    handle checking transfer speed.

    In additional, since commit 052eb2d49006 'spi: core: Set max_speed_hz of
    spi_device default to max_speed_hz of controller',
    spi core will also set default spi->max_speed_hz if it is not set.
    So remove the duplicate code in tegra_slink_setup.

    Signed-off-by: Axel Lin
    Acked-by: Stephen Warren
    Signed-off-by: Mark Brown

    Axel Lin
     

03 Feb, 2014

1 commit


26 Jan, 2014

1 commit

  • Pull spi updates from Mark Brown:
    "A respun version of the merges for the pull request previously sent
    with a few additional fixes. The last two merges were fixed up by
    hand since the branches have moved on and currently have the prior
    merge in them.

    Quite a busy release for the SPI subsystem, mostly in cleanups big and
    small scattered through the stack rather than anything else:

    - New driver for the Broadcom BC63xx HSSPI controller
    - Fix duplicate device registration for ACPI
    - Conversion of s3c64xx to DMAEngine (this pulls in platform and DMA
    changes upon which the transiton depends)
    - Some small optimisations to reduce the amount of time we hold locks
    in the datapath, eliminate some redundant checks and the size of a
    spi_transfer
    - Lots of fixes, cleanups and general enhancements to drivers,
    especially the rspi and Atmel drivers"

    * tag 'spi-v3.14-2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi: (112 commits)
    spi: core: Fix transfer failure when master->transfer_one returns positive value
    spi: Correct set_cs() documentation
    spi: Clarify transfer_one() w.r.t. spi_finalize_current_transfer()
    spi: Spelling s/finised/finished/
    spi: sc18is602: Convert to use bits_per_word_mask
    spi: Remove duplicate code to set default bits_per_word setting
    spi/pxa2xx: fix compilation warning when !CONFIG_PM_SLEEP
    spi: clps711x: Add MODULE_ALIAS to support module auto-loading
    spi: rspi: Add missing clk_disable() calls in error and cleanup paths
    spi: rspi: Spelling s/transmition/transmission/
    spi: rspi: Add support for specifying CPHA/CPOL
    spi/pxa2xx: initialize DMA channels to -1 to prevent inadvertent match
    spi: rspi: Add more QSPI register documentation
    spi: rspi: Add more RSPI register documentation
    spi: rspi: Remove dependency on DMAE for SHMOBILE
    spi/s3c64xx: Correct indentation
    spi: sh: Use spi_sh_clear_bit() instead of open-coded
    spi: bitbang: Grammar s/make to make/to make/
    spi: sh-hspi: Spelling s/recive/receive/
    spi: core: Improve tx/rx_nbits check comments
    ...

    Linus Torvalds
     

17 Dec, 2013

1 commit

  • dma_request_slave_channel() returns NULL on error and not ERR_PTRs.
    I've fixed this by using dma_request_slave_channel_reason() which does
    return ERR_PTRs.

    Fixes: a915d150f68d ('spi: tegra: convert to standard DMA DT bindings')
    Signed-off-by: Dan Carpenter
    Signed-off-by: Stephen Warren

    Dan Carpenter
     

12 Dec, 2013

2 commits

  • By using dma_request_slave_channel_or_err(), the DMA slave ID can be
    looked up from standard DT properties, and squirrelled away during
    channel allocation. Hence, there's no need to use a custom DT property
    to store the slave ID.

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

    Stephen Warren
     
  • Tegra's clock driver now provides an implementation of the common
    reset API (include/linux/reset.h). Use this instead of the old Tegra-
    specific API; that will soon be removed.

    Signed-off-by: Stephen Warren
    Acked-by: Mark Brown
    Reviewed-by: Thierry Reding

    Stephen Warren
     

10 Dec, 2013

1 commit


15 Nov, 2013

1 commit


25 Oct, 2013

2 commits


17 Oct, 2013

2 commits

  • This is more idiomatic for the factored out message processing and gives a
    small simplification of the code since we always set the per-transfer
    parameters in the same fashion.

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

    Mark Brown
     
  • This is a half done conversion with minimal code reorganisation provided
    for bisection purposes. A further patch will move the first transfer
    preparation into tegra_slink_prepare_message().

    The cs_change and udelay handling is removed, these should be
    implemented by the framework and in any case are buggy - the two fields
    should not be related and the cs_change handling appears to at best only
    work the first time it's used in a message.

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

    Mark Brown
     

15 Oct, 2013

1 commit


08 Oct, 2013

1 commit


26 Sep, 2013

1 commit


17 Sep, 2013

1 commit


30 Jul, 2013

2 commits


23 May, 2013

1 commit

  • Use the wrapper functions for getting and setting the driver data using
    platform_device instead of using dev_{get,set}_drvdata() with &pdev->dev,
    so we can directly pass a struct platform_device.

    Signed-off-by: Jingoo Han
    Signed-off-by: Mark Brown

    Jingoo Han
     

08 Apr, 2013

1 commit


07 Apr, 2013

2 commits


04 Apr, 2013

1 commit


01 Apr, 2013

2 commits


13 Mar, 2013

1 commit


22 Feb, 2013

2 commits

  • Pull ARM SoC-specific updates from Arnd Bergmann:
    "This is a larger set of new functionality for the existing SoC
    families, including:

    - vt8500 gains support for new CPU cores, notably the Cortex-A9 based
    wm8850

    - prima2 gains support for the "marco" SoC family, its SMP based
    cousin

    - tegra gains support for the new Tegra4 (Tegra114) family

    - socfpga now supports a newer version of the hardware including SMP

    - i.mx31 and bcm2835 are now using DT probing for their clocks

    - lots of updates for sh-mobile

    - OMAP updates for clocks, power management and USB

    - i.mx6q and tegra now support cpuidle

    - kirkwood now supports PCIe hot plugging

    - tegra clock support is updated

    - tegra USB PHY probing gets implemented diffently"

    * tag 'soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (148 commits)
    ARM: prima2: remove duplicate v7_invalidate_l1
    ARM: shmobile: r8a7779: Correct TMU clock support again
    ARM: prima2: fix __init section for cpu hotplug
    ARM: OMAP: Consolidate OMAP USB-HS platform data (part 3/3)
    ARM: OMAP: Consolidate OMAP USB-HS platform data (part 1/3)
    arm: socfpga: Add SMP support for actual socfpga harware
    arm: Add v7_invalidate_l1 to cache-v7.S
    arm: socfpga: Add entries to enable make dtbs socfpga
    arm: socfpga: Add new device tree source for actual socfpga HW
    ARM: tegra: sort Kconfig selects for Tegra114
    ARM: tegra: enable ARCH_REQUIRE_GPIOLIB for Tegra114
    ARM: tegra: Fix build error w/ ARCH_TEGRA_114_SOC w/o ARCH_TEGRA_3x_SOC
    ARM: tegra: Fix build error for gic update
    ARM: tegra: remove empty tegra_smp_init_cpus()
    ARM: shmobile: Register ARM architected timer
    ARM: MARCO: fix the build issue due to gic-vic-to-irqchip move
    ARM: shmobile: r8a7779: Correct TMU clock support
    ARM: mxs_defconfig: Select CONFIG_DEVTMPFS_MOUNT
    ARM: mxs: decrease mxs_clockevent_device.min_delta_ns to 2 clock cycles
    ARM: mxs: use apbx bus clock to drive the timers on timrotv2
    ...

    Linus Torvalds
     
  • Pull driver core patches from Greg Kroah-Hartman:
    "Here is the big driver core merge for 3.9-rc1

    There are two major series here, both of which touch lots of drivers
    all over the kernel, and will cause you some merge conflicts:

    - add a new function called devm_ioremap_resource() to properly be
    able to check return values.

    - remove CONFIG_EXPERIMENTAL

    Other than those patches, there's not much here, some minor fixes and
    updates"

    Fix up trivial conflicts

    * tag 'driver-core-3.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (221 commits)
    base: memory: fix soft/hard_offline_page permissions
    drivercore: Fix ordering between deferred_probe and exiting initcalls
    backlight: fix class_find_device() arguments
    TTY: mark tty_get_device call with the proper const values
    driver-core: constify data for class_find_device()
    firmware: Ignore abort check when no user-helper is used
    firmware: Reduce ifdef CONFIG_FW_LOADER_USER_HELPER
    firmware: Make user-mode helper optional
    firmware: Refactoring for splitting user-mode helper code
    Driver core: treat unregistered bus_types as having no devices
    watchdog: Convert to devm_ioremap_resource()
    thermal: Convert to devm_ioremap_resource()
    spi: Convert to devm_ioremap_resource()
    power: Convert to devm_ioremap_resource()
    mtd: Convert to devm_ioremap_resource()
    mmc: Convert to devm_ioremap_resource()
    mfd: Convert to devm_ioremap_resource()
    media: Convert to devm_ioremap_resource()
    iommu: Convert to devm_ioremap_resource()
    drm: Convert to devm_ioremap_resource()
    ...

    Linus Torvalds
     

05 Feb, 2013

2 commits

  • SPI core make sure that all transfer has proper speed set
    before calling low level spi transfer. Hence, it is not
    require to have check in spi driver.

    Remove the check for speed validity from transfer and use it directly.

    Signed-off-by: Laxman Dewangan
    Signed-off-by: Grant Likely

    Laxman Dewangan
     
  • The spi core make sure that each transfer structure have the proper
    setting for bits_per_word before calling low level transfer APIs.

    Hence it is no more require to check again in low level driver for
    this field whether this is set correct or not. Removing such code
    from low level driver.

    The txx9 change also removes a test for bits_per_word set to 0, and
    forcing it to 8 in that case. This can also be removed now since
    spi_setup() ensures spi->bits_per_word is not zero.

    if (!spi->bits_per_word)
    spi->bits_per_word = 8;

    Signed-off-by: Laxman Dewangan
    Signed-off-by: Grant Likely

    Laxman Dewangan
     

29 Jan, 2013

1 commit