19 Apr, 2017

1 commit

  • The dw_mmio driver disables the block clock before unregistering
    the host. The code unregistering the host may access the SPI block
    registers. If register access happens with block clock disabled,
    this may lead to a bus hang. Disable the clock after unregistering
    the host to prevent such situation.

    This bug was observed on Altera Cyclone V SoC.

    Signed-off-by: Marek Vasut
    Cc: Andy Shevchenko
    Cc: Mark Brown
    Signed-off-by: Mark Brown

    Marek Vasut
     

06 Feb, 2016

1 commit


20 Oct, 2015

1 commit


22 Aug, 2015

1 commit

  • The commit dd11444327ce ("spi: dw-spi: Convert 16bit accesses to 32bit
    accesses") changed all 16bit accesses in the DW_apb_ssi driver to 32bit.
    This, unfortunately, breaks data register access on picoXcell, where the
    DW IP needs data register accesses to be word accesses (all other
    accesses appear to be OK).

    This change introduces a new master variable to allow interface drivers
    to specify that 16bit data transfer I/O is required. This change also
    introduces the ability to set this variable via device tree bindings in
    the MMIO interface driver. Both the core and the MMIO interface driver
    default to the current 32bit behaviour.

    Before this change, on a picoXcell pc3x3:
    spi_master spi32766: interrupt_transfer: fifo overrun/underrun
    m25p80 spi32766.0: error -5 reading 9f
    m25p80: probe of spi32766.0 failed with error -5

    After this change:
    m25p80 spi32766.0: m25p40 (512 Kbytes)

    Fixes: dd11444327ce ("spi: dw-spi: Convert 16bit accesses to 32bit accesses")
    Signed-off-by: Michael van der Westhuizen
    Reviewed-by: Andy Shevchenko
    Signed-off-by: Mark Brown

    Michael van der Westhuizen
     

20 Oct, 2014

1 commit


04 Jul, 2014

1 commit


25 Apr, 2014

1 commit


03 Feb, 2014

1 commit


31 Dec, 2013

2 commits


17 Sep, 2013

1 commit

  • Free_irq is not needed if there has been no request_irq. Free_irq is
    removed from both the probe and remove functions. The correct request_irq
    and free_irq appear to be in the add_host and remove_host functions in
    spi-dw.c.

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

    //
    @@
    expression e;
    @@

    *e = platform_get_irq(...);
    ... when != request_irq(e,...)
    *free_irq(e,...)
    //

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

    Julia Lawall
     

13 May, 2013

1 commit

  • The driver core clears the driver data to NULL after device_release
    or on probe failure, since commit 0998d0631001288a5974afc0b2a5f568bcdecb4d
    (device-core: Ensure drvdata = NULL when no driver is bound).
    Thus, it is not needed to manually clear the device driver data to NULL.

    Signed-off-by: Jingoo Han
    Acked-by: Grant Likely
    Signed-off-by: Mark Brown

    Jingoo Han
     

08 Dec, 2012

1 commit

  • CONFIG_HOTPLUG is going away as an option. As result the __dev*
    markings will be going away.

    Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst,
    and __devexit.

    Bill Pemberton has done most of the legwork on this series. I've used
    his script to purge the attributes from the drivers/gpio tree.

    Reported-by: Bill Pemberton
    Signed-off-by: Grant Likely

    Grant Likely
     

01 Nov, 2011

1 commit


25 Oct, 2011

1 commit

  • For simple modules that contain a single platform_driver without any
    additional setup code then ends up being a block of duplicated
    boilerplate. This patch adds a new macro, module_platform_driver(),
    which replaces the module_init()/module_exit() registrations with
    template functions.

    Signed-off-by: Grant Likely
    Acked-by: Greg Kroah-Hartman
    Reviewed-by: Magnus Damm
    Reviewed-by: Mark Brown
    Reviewed-by: Stephen Boyd

    Grant Likely
     

06 Jun, 2011

1 commit

  • Sort the SPI makefile and enforce the naming convention spi_*.c for
    spi drivers.

    This change also rolls the contents of atmel_spi.h into the .c file
    since there is only one user of that particular include file.

    v2: - Use 'spi-' prefix instead of 'spi_' to match what seems to be
    be the predominant pattern for subsystem prefixes.
    - Clean up filenames in Kconfig and header comment blocks

    Signed-off-by: Grant Likely
    Acked-by: Wolfram Sang
    Acked-by: Linus Walleij

    Grant Likely