From: "Heiko Stübner" <heiko@sntech.de>
To: Thomas Abraham <thomas.abraham@linaro.org>
Cc: spi-devel-general@lists.sourceforge.net,
devicetree-discuss@lists.ozlabs.org,
linux-arm-kernel@lists.infradead.org,
linux-samsung-soc@vger.kernel.org, rob.herring@calxeda.com,
grant.likely@secretlab.ca, kgene.kim@samsung.com,
jaswinder.singh@linaro.org
Subject: Re: [PATCH 07/10] spi: s3c64xx: Remove the 'set_level' callback from controller data
Date: Wed, 9 May 2012 11:20:41 +0200 [thread overview]
Message-ID: <201205091120.41978.heiko@sntech.de> (raw)
In-Reply-To: <1336514694-22393-8-git-send-email-thomas.abraham@linaro.org>
Am Mittwoch, 9. Mai 2012, 00:04:51 schrieb Thomas Abraham:
> The set_level callback in the controller data, which is used to configure
> the slave select line, cannot be supported when migrating the driver to
> device tree based discovery. Since all the platforms currently use gpio
> as the slave select line, this callback can be removed from the
> controller data and replaced with call to gpio_set_value in the driver.
I was quite fond of the set_level callback. On one of the machines I'm working
on there is some sort of multiplexer (TI-sn74cbtlv3257) sitting between the
controller and spi devices to provide support for more than one device.
So I was doing the switch to the correct device in the set_level callback,
which worked quite well.
In the end, I'm still ok with this consolidation, as the device line has
reached it's end of life and the second device (an epaper controller)
provides another form of access to it through the display controller of the
s3c2416.
Heiko
[1] https://github.com/mmind/linux-es600/blob/topic/es600-devel/arch/arm/mach-s3c24xx/common-es600.c#L1155
> Cc: Jaswinder Singh <jaswinder.singh@linaro.org>
> Signed-off-by: Thomas Abraham <thomas.abraham@linaro.org>
> ---
> arch/arm/plat-samsung/include/plat/s3c64xx-spi.h | 2 --
> drivers/spi/spi-s3c64xx.c | 8 ++++----
> 2 files changed, 4 insertions(+), 6 deletions(-)
>
> diff --git a/arch/arm/plat-samsung/include/plat/s3c64xx-spi.h
> b/arch/arm/plat-samsung/include/plat/s3c64xx-spi.h index a733ce9..48a6495
> 100644
> --- a/arch/arm/plat-samsung/include/plat/s3c64xx-spi.h
> +++ b/arch/arm/plat-samsung/include/plat/s3c64xx-spi.h
> @@ -18,7 +18,6 @@ struct platform_device;
> * @fb_delay: Slave specific feedback delay.
> * Refer to FB_CLK_SEL register definition in SPI chapter.
> * @line: Custom 'identity' of the CS line.
> - * @set_level: CS line control.
> *
> * This is per SPI-Slave Chipselect information.
> * Allocate and initialize one in machine init code and make the
> @@ -27,7 +26,6 @@ struct platform_device;
> struct s3c64xx_spi_csinfo {
> u8 fb_delay;
> unsigned line;
> - void (*set_level)(unsigned line_id, int lvl);
> };
>
> /**
> diff --git a/drivers/spi/spi-s3c64xx.c b/drivers/spi/spi-s3c64xx.c
> index f6bc0e3..d84ce7f 100644
> --- a/drivers/spi/spi-s3c64xx.c
> +++ b/drivers/spi/spi-s3c64xx.c
> @@ -406,14 +406,14 @@ static inline void enable_cs(struct
> s3c64xx_spi_driver_data *sdd, if (sdd->tgl_spi != spi) { /* if last mssg
> on diff device */
> /* Deselect the last toggled device */
> cs = sdd->tgl_spi->controller_data;
> - cs->set_level(cs->line,
> - spi->mode & SPI_CS_HIGH ? 0 : 1);
> + gpio_set_value(cs->line,
> + spi->mode & SPI_CS_HIGH ? 0 : 1);
> }
> sdd->tgl_spi = NULL;
> }
>
> cs = spi->controller_data;
> - cs->set_level(cs->line, spi->mode & SPI_CS_HIGH ? 1 : 0);
> + gpio_set_value(cs->line, spi->mode & SPI_CS_HIGH ? 1 : 0);
> }
>
> static int wait_for_xfer(struct s3c64xx_spi_driver_data *sdd,
> @@ -499,7 +499,7 @@ static inline void disable_cs(struct
> s3c64xx_spi_driver_data *sdd, if (sdd->tgl_spi == spi)
> sdd->tgl_spi = NULL;
>
> - cs->set_level(cs->line, spi->mode & SPI_CS_HIGH ? 0 : 1);
> + gpio_set_value(cs->line, spi->mode & SPI_CS_HIGH ? 0 : 1);
> }
>
> static void s3c64xx_spi_config(struct s3c64xx_spi_driver_data *sdd)
next prev parent reply other threads:[~2012-05-09 9:20 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-05-08 22:04 [PATCH 00/10] spi: s3c64xx: add support for device tree Thomas Abraham
2012-05-08 22:04 ` [PATCH 01/10] spi: s3c64xx: remove unused S3C64XX_SPI_ST_TRLCNTZ macro Thomas Abraham
2012-05-20 4:41 ` Grant Likely
2012-05-08 22:04 ` [PATCH 02/10] spi: s3c64xx: move controller information into driver data Thomas Abraham
2012-05-20 4:42 ` Grant Likely
2012-05-30 7:23 ` Olof Johansson
2012-05-30 8:00 ` Thomas Abraham
2012-05-08 22:04 ` [PATCH 03/10] ARM: Samsung: Remove spi hardware controller information from platform data Thomas Abraham
2012-05-08 22:04 ` [PATCH 04/10] ARM: Samsung: Remove pdev pointer paremeter from spi gpio setup functions Thomas Abraham
2012-05-08 22:04 ` [PATCH 05/10] ARM: Samsung: Update the device names for spi clock lookup Thomas Abraham
2012-05-09 8:52 ` Mark Brown
2012-05-09 13:40 ` Thomas Abraham
2012-05-09 14:28 ` Mark Brown
[not found] ` <20120509142836.GT3955-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org>
2012-05-09 17:17 ` Thomas Abraham
2012-05-13 14:51 ` Mark Brown
2012-05-20 4:43 ` Grant Likely
2012-05-08 22:04 ` [PATCH 06/10] ARM: Samsung: Modify s3c64xx_spi{0|1|2}_set_platdata function Thomas Abraham
2012-05-09 8:56 ` Mark Brown
[not found] ` <20120509085617.GB28702-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2012-05-09 9:10 ` Heiko Stübner
2012-05-09 10:55 ` Mark Brown
2012-05-09 14:22 ` Thomas Abraham
2012-05-09 14:33 ` Mark Brown
2012-05-09 15:06 ` Thomas Abraham
2012-05-08 22:04 ` [PATCH 07/10] spi: s3c64xx: Remove the 'set_level' callback from controller data Thomas Abraham
2012-05-09 8:03 ` Jassi Brar
2012-05-09 9:20 ` Heiko Stübner [this message]
2012-05-09 10:31 ` Jassi Brar
2012-05-20 4:45 ` Grant Likely
2012-05-08 22:04 ` [PATCH 08/10] ARM: Exynos4: Fix the incorrect hierarchy of spi controller bus clock Thomas Abraham
2012-05-08 22:04 ` [PATCH 09/10] ARM: Exynos5: Add spi clock support Thomas Abraham
2012-05-08 22:04 ` [PATCH 10/10] spi: s3c64xx: add device tree support Thomas Abraham
[not found] ` <1336514694-22393-11-git-send-email-thomas.abraham-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2012-05-09 9:07 ` Mark Brown
2012-05-09 14:13 ` Thomas Abraham
2012-05-09 14:32 ` Mark Brown
2012-05-09 16:39 ` Thomas Abraham
2012-05-09 16:47 ` Mark Brown
2012-05-09 17:19 ` Thomas Abraham
2012-05-09 8:17 ` [PATCH 00/10] spi: s3c64xx: add support for device tree Jassi Brar
[not found] ` <1336514694-22393-1-git-send-email-thomas.abraham-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2012-05-22 12:35 ` padma venkat
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=201205091120.41978.heiko@sntech.de \
--to=heiko@sntech.de \
--cc=devicetree-discuss@lists.ozlabs.org \
--cc=grant.likely@secretlab.ca \
--cc=jaswinder.singh@linaro.org \
--cc=kgene.kim@samsung.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=rob.herring@calxeda.com \
--cc=spi-devel-general@lists.sourceforge.net \
--cc=thomas.abraham@linaro.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).