* [PATCH 1/4] spi: sh-msiof: Remove unneeded clock name @ 2012-09-21 11:00 Bastian Hecht [not found] ` <1348225249-1294-1-git-send-email-hechtb-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 0 siblings, 1 reply; 5+ messages in thread From: Bastian Hecht @ 2012-09-21 11:00 UTC (permalink / raw) To: spi-devel-general-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f Cc: magnus.damm-Re5JQEeQqe8AvxtiuMwx3w clk_get() no longer needs a character string for associating the right clock as this is done via the device struct now. Signed-off-by: Bastian Hecht <hechtb-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> --- drivers/spi/spi-sh-msiof.c | 6 ++---- 1 files changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/spi/spi-sh-msiof.c b/drivers/spi/spi-sh-msiof.c index 1f466bc..96358d0 100644 --- a/drivers/spi/spi-sh-msiof.c +++ b/drivers/spi/spi-sh-msiof.c @@ -597,7 +597,6 @@ static int sh_msiof_spi_probe(struct platform_device *pdev) struct resource *r; struct spi_master *master; struct sh_msiof_spi_priv *p; - char clk_name[16]; int i; int ret; @@ -614,10 +613,9 @@ static int sh_msiof_spi_probe(struct platform_device *pdev) p->info = pdev->dev.platform_data; init_completion(&p->done); - snprintf(clk_name, sizeof(clk_name), "msiof%d", pdev->id); - p->clk = clk_get(&pdev->dev, clk_name); + p->clk = clk_get(&pdev->dev, NULL); if (IS_ERR(p->clk)) { - dev_err(&pdev->dev, "cannot get clock \"%s\"\n", clk_name); + dev_err(&pdev->dev, "cannot get clock\n"); ret = PTR_ERR(p->clk); goto err1; } -- 1.7.5.4 ------------------------------------------------------------------------------ Got visibility? Most devs has no idea what their production app looks like. Find out how fast your code is with AppDynamics Lite. http://ad.doubleclick.net/clk;262219671;13503038;y? http://info.appdynamics.com/FreeJavaPerformanceDownload.html ^ permalink raw reply related [flat|nested] 5+ messages in thread
[parent not found: <1348225249-1294-1-git-send-email-hechtb-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>]
* [PATCH 2/4] spi: Add SH Mobile series as dependency to MSIOF controller [not found] ` <1348225249-1294-1-git-send-email-hechtb-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> @ 2012-09-21 11:00 ` Bastian Hecht 2012-09-21 11:00 ` [PATCH 3/4] spi: sh-msiof: Add device tree parsing to driver Bastian Hecht 2012-09-21 11:00 ` [PATCH 4/4] devicetree: Add Renesas SH Mobile MSIOF spi controller binding doc Bastian Hecht 2 siblings, 0 replies; 5+ messages in thread From: Bastian Hecht @ 2012-09-21 11:00 UTC (permalink / raw) To: spi-devel-general-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f Cc: magnus.damm-Re5JQEeQqe8AvxtiuMwx3w The MSIOF hardware block is used in the SH Mobile series as well, so we add it here. Signed-off-by: Bastian Hecht <hechtb-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> --- drivers/spi/Kconfig | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/spi/Kconfig b/drivers/spi/Kconfig index cd2fe35..cf77a4b 100644 --- a/drivers/spi/Kconfig +++ b/drivers/spi/Kconfig @@ -318,10 +318,10 @@ config SPI_S3C64XX config SPI_SH_MSIOF tristate "SuperH MSIOF SPI controller" - depends on SUPERH && HAVE_CLK + depends on (SUPERH || ARCH_SHMOBILE) && HAVE_CLK select SPI_BITBANG help - SPI driver for SuperH MSIOF blocks. + SPI driver for SuperH and SH Mobile MSIOF blocks. config SPI_SH tristate "SuperH SPI controller" -- 1.7.5.4 ------------------------------------------------------------------------------ Got visibility? Most devs has no idea what their production app looks like. Find out how fast your code is with AppDynamics Lite. http://ad.doubleclick.net/clk;262219671;13503038;y? http://info.appdynamics.com/FreeJavaPerformanceDownload.html ^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 3/4] spi: sh-msiof: Add device tree parsing to driver [not found] ` <1348225249-1294-1-git-send-email-hechtb-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 2012-09-21 11:00 ` [PATCH 2/4] spi: Add SH Mobile series as dependency to MSIOF controller Bastian Hecht @ 2012-09-21 11:00 ` Bastian Hecht 2012-09-21 11:00 ` [PATCH 4/4] devicetree: Add Renesas SH Mobile MSIOF spi controller binding doc Bastian Hecht 2 siblings, 0 replies; 5+ messages in thread From: Bastian Hecht @ 2012-09-21 11:00 UTC (permalink / raw) To: spi-devel-general-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f Cc: magnus.damm-Re5JQEeQqe8AvxtiuMwx3w This adds the capability to retrieve setup data from the device tree node. The usage of platform data is still available. The type of chip_select has been changed from u16 to int so that of_property_read_u32 does not overwrite other data. Signed-off-by: Bastian Hecht <hechtb-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> --- drivers/spi/spi-sh-msiof.c | 51 +++++++++++++++++++++++++++++++++++++++++- include/linux/spi/sh_msiof.h | 2 +- 2 files changed, 51 insertions(+), 2 deletions(-) diff --git a/drivers/spi/spi-sh-msiof.c b/drivers/spi/spi-sh-msiof.c index 96358d0..467d645 100644 --- a/drivers/spi/spi-sh-msiof.c +++ b/drivers/spi/spi-sh-msiof.c @@ -20,6 +20,7 @@ #include <linux/io.h> #include <linux/kernel.h> #include <linux/module.h> +#include <linux/of.h> #include <linux/platform_device.h> #include <linux/pm_runtime.h> @@ -592,6 +593,32 @@ static u32 sh_msiof_spi_txrx_word(struct spi_device *spi, unsigned nsecs, return 0; } +#ifdef CONFIG_OF +static struct sh_msiof_spi_info *sh_msiof_spi_parse_dt(struct device *dev) +{ + struct sh_msiof_spi_info *info; + struct device_node *np = dev->of_node; + + info = devm_kzalloc(dev, sizeof(struct sh_msiof_spi_info), GFP_KERNEL); + if (!info) { + dev_err(dev, "failed to allocate setup data\n"); + return NULL; + } + + /* Parse the MSIOF properties */ + of_property_read_u32(np, "chip-select", &info->num_chipselect); + of_property_read_u32(np, "tx_fifo_size", &info->tx_fifo_override); + of_property_read_u32(np, "rx_fifo_size", &info->rx_fifo_override); + + return info; +} +#else +static struct sh_msiof_spi_info *sh_msiof_spi_parse_dt(struct device *dev) +{ + return NULL; +} +#endif + static int sh_msiof_spi_probe(struct platform_device *pdev) { struct resource *r; @@ -610,7 +637,17 @@ static int sh_msiof_spi_probe(struct platform_device *pdev) p = spi_master_get_devdata(master); platform_set_drvdata(pdev, p); - p->info = pdev->dev.platform_data; + if (pdev->dev.of_node) + p->info = sh_msiof_spi_parse_dt(&pdev->dev); + else + p->info = pdev->dev.platform_data; + + if (!p->info) { + dev_err(&pdev->dev, "failed to obtain device info\n"); + ret = -ENXIO; + goto err1; + } + init_completion(&p->done); p->clk = clk_get(&pdev->dev, NULL); @@ -715,6 +752,17 @@ static int sh_msiof_spi_runtime_nop(struct device *dev) return 0; } +#ifdef CONFIG_OF +static const struct of_device_id sh_msiof_match[] = { + { .compatible = "renesas,sh-msiof", }, + { .compatible = "renesas,sh-mobile-msiof", }, + {}, +}; +MODULE_DEVICE_TABLE(of, sh_msiof_match); +#else +#define sh_msiof_match NULL +#endif + static struct dev_pm_ops sh_msiof_spi_dev_pm_ops = { .runtime_suspend = sh_msiof_spi_runtime_nop, .runtime_resume = sh_msiof_spi_runtime_nop, @@ -727,6 +775,7 @@ static struct platform_driver sh_msiof_spi_drv = { .name = "spi_sh_msiof", .owner = THIS_MODULE, .pm = &sh_msiof_spi_dev_pm_ops, + .of_match_table = sh_msiof_match, }, }; module_platform_driver(sh_msiof_spi_drv); diff --git a/include/linux/spi/sh_msiof.h b/include/linux/spi/sh_msiof.h index 2e8db3d..58bc0e1 100644 --- a/include/linux/spi/sh_msiof.h +++ b/include/linux/spi/sh_msiof.h @@ -4,7 +4,7 @@ struct sh_msiof_spi_info { int tx_fifo_override; int rx_fifo_override; - u16 num_chipselect; + int num_chipselect; }; #endif /* __SPI_SH_MSIOF_H__ */ -- 1.7.5.4 ------------------------------------------------------------------------------ Got visibility? Most devs has no idea what their production app looks like. Find out how fast your code is with AppDynamics Lite. http://ad.doubleclick.net/clk;262219671;13503038;y? http://info.appdynamics.com/FreeJavaPerformanceDownload.html ^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 4/4] devicetree: Add Renesas SH Mobile MSIOF spi controller binding doc [not found] ` <1348225249-1294-1-git-send-email-hechtb-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 2012-09-21 11:00 ` [PATCH 2/4] spi: Add SH Mobile series as dependency to MSIOF controller Bastian Hecht 2012-09-21 11:00 ` [PATCH 3/4] spi: sh-msiof: Add device tree parsing to driver Bastian Hecht @ 2012-09-21 11:00 ` Bastian Hecht 2 siblings, 0 replies; 5+ messages in thread From: Bastian Hecht @ 2012-09-21 11:00 UTC (permalink / raw) To: spi-devel-general-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f Cc: magnus.damm-Re5JQEeQqe8AvxtiuMwx3w Add binding documentation for Renesas' MSIOF SPI controller. Signed-off-by: Bastian Hecht <hechtb-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> --- Documentation/devicetree/bindings/spi/sh-msiof.txt | 12 ++++++++++++ 1 files changed, 12 insertions(+), 0 deletions(-) create mode 100644 Documentation/devicetree/bindings/spi/sh-msiof.txt diff --git a/Documentation/devicetree/bindings/spi/sh-msiof.txt b/Documentation/devicetree/bindings/spi/sh-msiof.txt new file mode 100644 index 0000000..0d60e04 --- /dev/null +++ b/Documentation/devicetree/bindings/spi/sh-msiof.txt @@ -0,0 +1,12 @@ +Renesas MSIOF spi controller + +Required properties: +- compatible : "renesas,sh-msiof" for SuperH or + "renesas,sh-mobile-msiof" for SH Mobile series +- reg : Offset and length of the register set for the device +- interrupts : interrupt line used by MSIOF + +Optional properties: +- chip_select : Chip select, needed if not 0 +- tx_fifo_size : Overrides the default tx fifo size given in words +- rx_fifo_size : Overrides the default rx fifo size given in words -- 1.7.5.4 ------------------------------------------------------------------------------ Got visibility? Most devs has no idea what their production app looks like. Find out how fast your code is with AppDynamics Lite. http://ad.doubleclick.net/clk;262219671;13503038;y? http://info.appdynamics.com/FreeJavaPerformanceDownload.html ^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH RESEND 0/4] spi: sh-msiof: Add DT support @ 2012-11-07 11:40 Bastian Hecht 2012-11-07 11:40 ` [PATCH 2/4] spi: Add SH Mobile series as dependency to MSIOF controller Bastian Hecht 0 siblings, 1 reply; 5+ messages in thread From: Bastian Hecht @ 2012-11-07 11:40 UTC (permalink / raw) To: spi-devel-general; +Cc: linux-sh, linux-arm-kernel, Magnus Damm Patch resend from 21st september, this time cover letter included. Added ARM-ML and SH-ML as recipients too. The first patch contains a minor cleanup that becomes possible due to older changes in the SuperH code. In the 2nd patch we add the SH-Mobile chips as possible architecture requirement for the MSIOF driver. Then we come to the core of the patchset: DeviceTree support for sh-msiof in patch 3 and patch 4. There are minimal changes to the first publication to the patchset like changing a comment string, so I just resend it as v1 again as there are no comments to the original patchset. Bastian Hecht (4): spi: sh-msiof: Remove unneeded clock name spi: Add SH Mobile series as dependency to MSIOF controller spi: sh-msiof: Add device tree parsing to driver devicetree: Add Renesas SH Mobile MSIOF spi controller binding doc Documentation/devicetree/bindings/spi/sh-msiof.txt | 12 ++++ drivers/spi/Kconfig | 4 +- drivers/spi/spi-sh-msiof.c | 60 ++++++++++++++++++-- 3 files changed, 69 insertions(+), 7 deletions(-) create mode 100644 Documentation/devicetree/bindings/spi/sh-msiof.txt -- 1.7.5.4 ^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 2/4] spi: Add SH Mobile series as dependency to MSIOF controller 2012-11-07 11:40 [PATCH RESEND 0/4] spi: sh-msiof: Add DT support Bastian Hecht @ 2012-11-07 11:40 ` Bastian Hecht 0 siblings, 0 replies; 5+ messages in thread From: Bastian Hecht @ 2012-11-07 11:40 UTC (permalink / raw) To: spi-devel-general; +Cc: linux-sh, linux-arm-kernel, Magnus Damm The MSIOF hardware block is used in the SH Mobile series as well, so we add it here. Signed-off-by: Bastian Hecht <hechtb@gmail.com> --- drivers/spi/Kconfig | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/spi/Kconfig b/drivers/spi/Kconfig index 1acae35..d0c0ae6 100644 --- a/drivers/spi/Kconfig +++ b/drivers/spi/Kconfig @@ -341,10 +341,10 @@ config SPI_SC18IS602 config SPI_SH_MSIOF tristate "SuperH MSIOF SPI controller" - depends on SUPERH && HAVE_CLK + depends on (SUPERH || ARCH_SHMOBILE) && HAVE_CLK select SPI_BITBANG help - SPI driver for SuperH MSIOF blocks. + SPI driver for SuperH and SH Mobile MSIOF blocks. config SPI_SH tristate "SuperH SPI controller" -- 1.7.5.4 ^ permalink raw reply related [flat|nested] 5+ messages in thread
end of thread, other threads:[~2012-11-07 11:40 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2012-09-21 11:00 [PATCH 1/4] spi: sh-msiof: Remove unneeded clock name Bastian Hecht [not found] ` <1348225249-1294-1-git-send-email-hechtb-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 2012-09-21 11:00 ` [PATCH 2/4] spi: Add SH Mobile series as dependency to MSIOF controller Bastian Hecht 2012-09-21 11:00 ` [PATCH 3/4] spi: sh-msiof: Add device tree parsing to driver Bastian Hecht 2012-09-21 11:00 ` [PATCH 4/4] devicetree: Add Renesas SH Mobile MSIOF spi controller binding doc Bastian Hecht -- strict thread matches above, loose matches on Subject: below -- 2012-11-07 11:40 [PATCH RESEND 0/4] spi: sh-msiof: Add DT support Bastian Hecht 2012-11-07 11:40 ` [PATCH 2/4] spi: Add SH Mobile series as dependency to MSIOF controller Bastian Hecht
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).