[PATCH 1/3 v5] spi: s3c64xx: fix broken "cs_gpios" usage in the driver
Kukjin Kim
kgene.kim at samsung.com
Wed Jun 25 04:29:42 PDT 2014
Doug Anderson wrote:
>
> Mark or Kukjin,
>
Hi,
> 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)...
>
Once Mark takes spi driver related patches, I will pick DT related patches into
samsung tree.
> Ideally it seems like it could go to 3.16 since it is a bugfix...
>
I think so but it depends on Mark's comments ;-)
Thanks,
Kukjin
More information about the linux-arm-kernel
mailing list