[PATCH 1/3 v5] spi: s3c64xx: fix broken "cs_gpios" usage in the driver

Doug Anderson dianders at chromium.org
Fri Jun 20 14:18:08 PDT 2014


Mark or Kukjin,

On Thu, Jun 12, 2014 at 8:59 PM, Naveen Krishna Chatradhi
<ch.naveen at samsung.com> wrote:
> Since, (3146bee spi: s3c64xx: Added provision for dedicated cs pin)
>
> spi-s3c64xx.c driver expects
> 1. chip select gpios from "cs-gpio"(singular) under the
>    "controller-data" node of the client/slave device of the SPI.
>
> 2. "cs-gpio"(singular) entry to be present in the SPI device node.
>
> Eg of current broken usage:
> &spi_1 {
>         cs-gpio <>;     /* this entry is checked during probe */
>         ...
>         slave_node {
>                 controller-data {
>                         cs-gpio <&gpioa2 5 0>;
>                         /* This field is parsed during .setup() */
>                 }
>         };
> };
>
> The following dts files which were using this driver. But,
> din't have the "cs-gpio" entry under SPI node.
> -- arch/arm/boot/dts/exynos4210-smdkv310.dts
> -- arch/arm/boot/dts/exynos4412-trats2.dts
> -- arch/arm/boot/dts/exynos5250-smdk5250.dts
>
> Also, the SPI core and many drivers moved on to using "cs-gpios"
> from SPI node and removed the gpio handling code from drivers
> (including spi-s3c64xx.c).
>
> Hence, spi-s3c64xx.c is broken since "Jun 21 11:26:12 2013" and
> considering the time with no compliants about the breakage.
>
> We are assuming it is safe to remove the "cs-gpio"(singular) usage
> from device tree binding of spi-samsung.txt and makes appropriate
> changes in the driver to use "cs-gpios"(plural) from
> SPI device node.
>
> Signed-off-by: Naveen Krishna Chatradhi <ch.naveen at samsung.com>
> Acked-by: Rob Herring <robh at kernel.org>
> Reviewed-by: Javier Martinez Canillas <javier.martinez at collabora.co.uk>
> Tested-by: Doug Anderson <dianders at chromium.org>
> Cc: Tomasz Figa <t.figa at samsung.com>
> ---
> Changes since v4:
> 1. Added reviewed by from Javier and Tested by from Doug
>
> Changes since v3:
> 1. Remove the sdd->cs_gpio and use gpio_is_valid(spi->cs_gpio) instead
> 2. Keep cs->line only for Non-DT platforms and use spi->cs_gpio
>    for DT platforms
>
>  .../devicetree/bindings/spi/spi-samsung.txt        |    8 ++--
>  drivers/spi/spi-s3c64xx.c                          |   41 ++++++++------------
>  2 files changed, 20 insertions(+), 29 deletions(-)

Is one of you two planning to apply (parts 1 and 2)?  I know that
Kukjin needs to handle the part 3 (the .dts files)...

Ideally it seems like it could go to 3.16 since it is a bugfix...

Thanks!

-Doug



More information about the linux-arm-kernel mailing list