All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ludovic Barre <ludovic.barre@st.com>
To: Lee Jones <lee.jones@linaro.org>,
	<linux-arm-kernel@lists.infradead.org>,
	<linux-kernel@vger.kernel.org>
Cc: olivier.clergeaud@st.com, Angus.Clark@st.com,
	linus.walleij@linaro.org, linux-mtd@lists.infradead.org,
	computersforpeace@gmail.com, dwmw2@infradead.org,
	DCG_UPD_stlinux_kernel@list.st.com
Subject: Re: [PATCH RESEND v4 01/37] mtd: st_spi_fsm: Allocate resources and register with MTD framework
Date: Thu, 23 Jan 2014 15:16:20 +0100	[thread overview]
Message-ID: <52E12434.7030000@st.com> (raw)
In-Reply-To: <1390473085-24626-2-git-send-email-lee.jones@linaro.org>

On 01/23/2014 11:30 AM, Lee Jones wrote:
> This is a new driver. It's used to communicate with a special type of
> optimised Serial Flash Controller called the FSM. The FSM uses a subset
> of the SPI protocol to communicate with supported NOR-Flash devices.
>
> Signed-off-by: Lee Jones <lee.jones@linaro.org>
> ---
>   drivers/mtd/devices/Kconfig      |   8 +++
>   drivers/mtd/devices/Makefile     |   1 +
>   drivers/mtd/devices/st_spi_fsm.c | 109 +++++++++++++++++++++++++++++++++++++++
>   drivers/mtd/devices/st_spi_fsm.h |  27 ++++++++++
>   4 files changed, 145 insertions(+)
>   create mode 100644 drivers/mtd/devices/st_spi_fsm.c
>   create mode 100644 drivers/mtd/devices/st_spi_fsm.h
>
> diff --git a/drivers/mtd/devices/Kconfig b/drivers/mtd/devices/Kconfig
> index 74ab4b7..0cf48ac 100644
> --- a/drivers/mtd/devices/Kconfig
> +++ b/drivers/mtd/devices/Kconfig
> @@ -217,6 +217,14 @@ config MTD_DOCG3
>   	  M-Systems and now Sandisk. The support is very experimental,
>   	  and doesn't give access to any write operations.
>
> +config MTD_ST_SPI_FSM
> +	tristate "ST Microelectronics SPI FSM Serial Flash Controller"
> +	depends on ARM || SH
> +	help
> +	  This provides an MTD device driver for the ST Microelectronics
> +	  SPI FSM Serial Flash Controller and support for a subset of
> +	  connected Serial Flash devices.
> +
>   if MTD_DOCG3
>   config BCH_CONST_M
>   	default 14
> diff --git a/drivers/mtd/devices/Makefile b/drivers/mtd/devices/Makefile
> index d83bd73..c68868f 100644
> --- a/drivers/mtd/devices/Makefile
> +++ b/drivers/mtd/devices/Makefile
> @@ -16,6 +16,7 @@ obj-$(CONFIG_MTD_NAND_OMAP_BCH)	+= elm.o
>   obj-$(CONFIG_MTD_SPEAR_SMI)	+= spear_smi.o
>   obj-$(CONFIG_MTD_SST25L)	+= sst25l.o
>   obj-$(CONFIG_MTD_BCM47XXSFLASH)	+= bcm47xxsflash.o
> +obj-$(CONFIG_MTD_ST_SPI_FSM)    += st_spi_fsm.o
>
>
>   CFLAGS_docg3.o			+= -I$(src)
> diff --git a/drivers/mtd/devices/st_spi_fsm.c b/drivers/mtd/devices/st_spi_fsm.c
> new file mode 100644
> index 0000000..fe66342
> --- /dev/null
> +++ b/drivers/mtd/devices/st_spi_fsm.c
> @@ -0,0 +1,109 @@
> +/*
> + * st_spi_fsm.c	Support for ST Serial Flash Controller
> + *
> + * Author: Angus Clark <angus.clark@st.com>
> + *
> + * Copyright (C) 2010-2013 STicroelectronics Limited
> + *
> + * JEDEC probe based on drivers/mtd/devices/m25p80.c
> + *
> + * This code is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License version 2 as
> + * published by the Free Software Foundation.
> + *
> + */
> +#include <linux/kernel.h>
> +#include <linux/module.h>
> +#include <linux/platform_device.h>
> +#include <linux/mtd/mtd.h>
> +#include <linux/sched.h>
> +#include <linux/delay.h>
> +#include <linux/io.h>
> +#include <linux/of.h>
> +
> +#include "st_spi_fsm.h"
> +
> +static int stfsm_probe(struct platform_device *pdev)
> +{
> +	struct device_node *np = pdev->dev.of_node;
> +	struct resource *res;
> +	struct stfsm *fsm;
> +
> +	if (!np) {
> +		dev_err(&pdev->dev, "No DT found\n");
> +		return -EINVAL;
> +	}
> +
> +	fsm = devm_kzalloc(&pdev->dev, sizeof(*fsm), GFP_KERNEL);
> +	if (!fsm)
> +		return -ENOMEM;
> +
> +	fsm->dev = &pdev->dev;
> +
> +	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> +	if (!res) {
> +		dev_err(&pdev->dev, "Resource not found\n");
> +		return -ENODEV;
> +	}
> +
> +	fsm->region = devm_request_mem_region(&pdev->dev, res->start,
> +					      resource_size(res), pdev->name);
> +	if (!fsm->region) {
> +		dev_err(&pdev->dev,
> +			"Failed to reserve memory region [0x%08x-0x%08x]\n",
> +			res->start, res->end);
> +		return -EBUSY;
> +	}
> +
> +	fsm->base = devm_ioremap_nocache(&pdev->dev,
> +					 res->start, resource_size(res));
> +	if (!fsm->base) {
> +		dev_err(&pdev->dev, "Failed to ioremap [0x%08x]\n", res->start);
> +		return -EINVAL;
> +	}
> +
you can replace  "devm_request_mem_region" & "devm_ioremap_nocache" by 
"devm_ioremap_resource"

> +	mutex_init(&fsm->lock);
> +
> +	platform_set_drvdata(pdev, fsm);
> +
> +	fsm->mtd.dev.parent	= &pdev->dev;
> +	fsm->mtd.type		= MTD_NORFLASH;
> +	fsm->mtd.writesize	= 4;
> +	fsm->mtd.writebufsize	= fsm->mtd.writesize;
> +	fsm->mtd.flags		= MTD_CAP_NORFLASH;
> +
> +	return mtd_device_parse_register(&fsm->mtd, NULL, NULL, NULL, 0);
> +}
> +
> +static int stfsm_remove(struct platform_device *pdev)
> +{
> +	struct stfsm *fsm = platform_get_drvdata(pdev);
> +	int err;
> +
> +	err = mtd_device_unregister(&fsm->mtd);
> +	if (err)
> +		return err;
> +
> +	return 0;
> +}
> +
> +static struct of_device_id stfsm_match[] = {
> +	{ .compatible = "st,spi-fsm", },
> +	{},
> +};
> +MODULE_DEVICE_TABLE(of, stfsm_match);
> +
> +static struct platform_driver stfsm_driver = {
> +	.probe		= stfsm_probe,
> +	.remove		= stfsm_remove,
> +	.driver		= {
> +		.name	= "st-spi-fsm",
> +		.owner	= THIS_MODULE,
> +		.of_match_table = stfsm_match,
> +	},
> +};
> +module_platform_driver(stfsm_driver);
> +
> +MODULE_AUTHOR("Angus Clark <angus.clark@st.com>");
> +MODULE_DESCRIPTION("ST SPI FSM driver");
> +MODULE_LICENSE("GPL");
> diff --git a/drivers/mtd/devices/st_spi_fsm.h b/drivers/mtd/devices/st_spi_fsm.h
> new file mode 100644
> index 0000000..df45e1a
> --- /dev/null
> +++ b/drivers/mtd/devices/st_spi_fsm.h
> @@ -0,0 +1,27 @@
> +/*
> + * st_spi_fsm.c	Support for ST Serial Flash Controller
> + *
> + * Author: Angus Clark <angus.clark@st.com>
> + *
> + * Copyright (C) 2010-2013 STicroelectronics Limited
> + *
> + * JEDEC probe based on drivers/mtd/devices/m25p80.c
> + *
> + * This code is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License version 2 as
> + * published by the Free Software Foundation.
> + *
> + */
> +
> +#ifndef ST_SPI_FSM_H
> +#define ST_SPI_FSM_H
> +
> +struct stfsm {
> +	struct device		*dev;
> +	void __iomem		*base;
> +	struct resource		*region;
> +	struct mtd_info		mtd;
> +	struct mutex		lock;
> +};
> +
> +#endif	/* ST_SPI_FSM_H */
>

WARNING: multiple messages have this Message-ID (diff)
From: ludovic.barre@st.com (Ludovic Barre)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH RESEND v4 01/37] mtd: st_spi_fsm: Allocate resources and register with MTD framework
Date: Thu, 23 Jan 2014 15:16:20 +0100	[thread overview]
Message-ID: <52E12434.7030000@st.com> (raw)
In-Reply-To: <1390473085-24626-2-git-send-email-lee.jones@linaro.org>

On 01/23/2014 11:30 AM, Lee Jones wrote:
> This is a new driver. It's used to communicate with a special type of
> optimised Serial Flash Controller called the FSM. The FSM uses a subset
> of the SPI protocol to communicate with supported NOR-Flash devices.
>
> Signed-off-by: Lee Jones <lee.jones@linaro.org>
> ---
>   drivers/mtd/devices/Kconfig      |   8 +++
>   drivers/mtd/devices/Makefile     |   1 +
>   drivers/mtd/devices/st_spi_fsm.c | 109 +++++++++++++++++++++++++++++++++++++++
>   drivers/mtd/devices/st_spi_fsm.h |  27 ++++++++++
>   4 files changed, 145 insertions(+)
>   create mode 100644 drivers/mtd/devices/st_spi_fsm.c
>   create mode 100644 drivers/mtd/devices/st_spi_fsm.h
>
> diff --git a/drivers/mtd/devices/Kconfig b/drivers/mtd/devices/Kconfig
> index 74ab4b7..0cf48ac 100644
> --- a/drivers/mtd/devices/Kconfig
> +++ b/drivers/mtd/devices/Kconfig
> @@ -217,6 +217,14 @@ config MTD_DOCG3
>   	  M-Systems and now Sandisk. The support is very experimental,
>   	  and doesn't give access to any write operations.
>
> +config MTD_ST_SPI_FSM
> +	tristate "ST Microelectronics SPI FSM Serial Flash Controller"
> +	depends on ARM || SH
> +	help
> +	  This provides an MTD device driver for the ST Microelectronics
> +	  SPI FSM Serial Flash Controller and support for a subset of
> +	  connected Serial Flash devices.
> +
>   if MTD_DOCG3
>   config BCH_CONST_M
>   	default 14
> diff --git a/drivers/mtd/devices/Makefile b/drivers/mtd/devices/Makefile
> index d83bd73..c68868f 100644
> --- a/drivers/mtd/devices/Makefile
> +++ b/drivers/mtd/devices/Makefile
> @@ -16,6 +16,7 @@ obj-$(CONFIG_MTD_NAND_OMAP_BCH)	+= elm.o
>   obj-$(CONFIG_MTD_SPEAR_SMI)	+= spear_smi.o
>   obj-$(CONFIG_MTD_SST25L)	+= sst25l.o
>   obj-$(CONFIG_MTD_BCM47XXSFLASH)	+= bcm47xxsflash.o
> +obj-$(CONFIG_MTD_ST_SPI_FSM)    += st_spi_fsm.o
>
>
>   CFLAGS_docg3.o			+= -I$(src)
> diff --git a/drivers/mtd/devices/st_spi_fsm.c b/drivers/mtd/devices/st_spi_fsm.c
> new file mode 100644
> index 0000000..fe66342
> --- /dev/null
> +++ b/drivers/mtd/devices/st_spi_fsm.c
> @@ -0,0 +1,109 @@
> +/*
> + * st_spi_fsm.c	Support for ST Serial Flash Controller
> + *
> + * Author: Angus Clark <angus.clark@st.com>
> + *
> + * Copyright (C) 2010-2013 STicroelectronics Limited
> + *
> + * JEDEC probe based on drivers/mtd/devices/m25p80.c
> + *
> + * This code is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License version 2 as
> + * published by the Free Software Foundation.
> + *
> + */
> +#include <linux/kernel.h>
> +#include <linux/module.h>
> +#include <linux/platform_device.h>
> +#include <linux/mtd/mtd.h>
> +#include <linux/sched.h>
> +#include <linux/delay.h>
> +#include <linux/io.h>
> +#include <linux/of.h>
> +
> +#include "st_spi_fsm.h"
> +
> +static int stfsm_probe(struct platform_device *pdev)
> +{
> +	struct device_node *np = pdev->dev.of_node;
> +	struct resource *res;
> +	struct stfsm *fsm;
> +
> +	if (!np) {
> +		dev_err(&pdev->dev, "No DT found\n");
> +		return -EINVAL;
> +	}
> +
> +	fsm = devm_kzalloc(&pdev->dev, sizeof(*fsm), GFP_KERNEL);
> +	if (!fsm)
> +		return -ENOMEM;
> +
> +	fsm->dev = &pdev->dev;
> +
> +	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> +	if (!res) {
> +		dev_err(&pdev->dev, "Resource not found\n");
> +		return -ENODEV;
> +	}
> +
> +	fsm->region = devm_request_mem_region(&pdev->dev, res->start,
> +					      resource_size(res), pdev->name);
> +	if (!fsm->region) {
> +		dev_err(&pdev->dev,
> +			"Failed to reserve memory region [0x%08x-0x%08x]\n",
> +			res->start, res->end);
> +		return -EBUSY;
> +	}
> +
> +	fsm->base = devm_ioremap_nocache(&pdev->dev,
> +					 res->start, resource_size(res));
> +	if (!fsm->base) {
> +		dev_err(&pdev->dev, "Failed to ioremap [0x%08x]\n", res->start);
> +		return -EINVAL;
> +	}
> +
you can replace  "devm_request_mem_region" & "devm_ioremap_nocache" by 
"devm_ioremap_resource"

> +	mutex_init(&fsm->lock);
> +
> +	platform_set_drvdata(pdev, fsm);
> +
> +	fsm->mtd.dev.parent	= &pdev->dev;
> +	fsm->mtd.type		= MTD_NORFLASH;
> +	fsm->mtd.writesize	= 4;
> +	fsm->mtd.writebufsize	= fsm->mtd.writesize;
> +	fsm->mtd.flags		= MTD_CAP_NORFLASH;
> +
> +	return mtd_device_parse_register(&fsm->mtd, NULL, NULL, NULL, 0);
> +}
> +
> +static int stfsm_remove(struct platform_device *pdev)
> +{
> +	struct stfsm *fsm = platform_get_drvdata(pdev);
> +	int err;
> +
> +	err = mtd_device_unregister(&fsm->mtd);
> +	if (err)
> +		return err;
> +
> +	return 0;
> +}
> +
> +static struct of_device_id stfsm_match[] = {
> +	{ .compatible = "st,spi-fsm", },
> +	{},
> +};
> +MODULE_DEVICE_TABLE(of, stfsm_match);
> +
> +static struct platform_driver stfsm_driver = {
> +	.probe		= stfsm_probe,
> +	.remove		= stfsm_remove,
> +	.driver		= {
> +		.name	= "st-spi-fsm",
> +		.owner	= THIS_MODULE,
> +		.of_match_table = stfsm_match,
> +	},
> +};
> +module_platform_driver(stfsm_driver);
> +
> +MODULE_AUTHOR("Angus Clark <angus.clark@st.com>");
> +MODULE_DESCRIPTION("ST SPI FSM driver");
> +MODULE_LICENSE("GPL");
> diff --git a/drivers/mtd/devices/st_spi_fsm.h b/drivers/mtd/devices/st_spi_fsm.h
> new file mode 100644
> index 0000000..df45e1a
> --- /dev/null
> +++ b/drivers/mtd/devices/st_spi_fsm.h
> @@ -0,0 +1,27 @@
> +/*
> + * st_spi_fsm.c	Support for ST Serial Flash Controller
> + *
> + * Author: Angus Clark <angus.clark@st.com>
> + *
> + * Copyright (C) 2010-2013 STicroelectronics Limited
> + *
> + * JEDEC probe based on drivers/mtd/devices/m25p80.c
> + *
> + * This code is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License version 2 as
> + * published by the Free Software Foundation.
> + *
> + */
> +
> +#ifndef ST_SPI_FSM_H
> +#define ST_SPI_FSM_H
> +
> +struct stfsm {
> +	struct device		*dev;
> +	void __iomem		*base;
> +	struct resource		*region;
> +	struct mtd_info		mtd;
> +	struct mutex		lock;
> +};
> +
> +#endif	/* ST_SPI_FSM_H */
>

WARNING: multiple messages have this Message-ID (diff)
From: Ludovic Barre <ludovic.barre@st.com>
To: Lee Jones <lee.jones@linaro.org>,
	<linux-arm-kernel@lists.infradead.org>,
	<linux-kernel@vger.kernel.org>
Cc: <linus.walleij@linaro.org>, <dwmw2@infradead.org>,
	<linux-mtd@lists.infradead.org>, <computersforpeace@gmail.com>,
	<Angus.Clark@st.com>, <DCG_UPD_stlinux_kernel@list.st.com>,
	<olivier.clergeaud@st.com>
Subject: Re: [PATCH RESEND v4 01/37] mtd: st_spi_fsm: Allocate resources and register with MTD framework
Date: Thu, 23 Jan 2014 15:16:20 +0100	[thread overview]
Message-ID: <52E12434.7030000@st.com> (raw)
In-Reply-To: <1390473085-24626-2-git-send-email-lee.jones@linaro.org>

On 01/23/2014 11:30 AM, Lee Jones wrote:
> This is a new driver. It's used to communicate with a special type of
> optimised Serial Flash Controller called the FSM. The FSM uses a subset
> of the SPI protocol to communicate with supported NOR-Flash devices.
>
> Signed-off-by: Lee Jones <lee.jones@linaro.org>
> ---
>   drivers/mtd/devices/Kconfig      |   8 +++
>   drivers/mtd/devices/Makefile     |   1 +
>   drivers/mtd/devices/st_spi_fsm.c | 109 +++++++++++++++++++++++++++++++++++++++
>   drivers/mtd/devices/st_spi_fsm.h |  27 ++++++++++
>   4 files changed, 145 insertions(+)
>   create mode 100644 drivers/mtd/devices/st_spi_fsm.c
>   create mode 100644 drivers/mtd/devices/st_spi_fsm.h
>
> diff --git a/drivers/mtd/devices/Kconfig b/drivers/mtd/devices/Kconfig
> index 74ab4b7..0cf48ac 100644
> --- a/drivers/mtd/devices/Kconfig
> +++ b/drivers/mtd/devices/Kconfig
> @@ -217,6 +217,14 @@ config MTD_DOCG3
>   	  M-Systems and now Sandisk. The support is very experimental,
>   	  and doesn't give access to any write operations.
>
> +config MTD_ST_SPI_FSM
> +	tristate "ST Microelectronics SPI FSM Serial Flash Controller"
> +	depends on ARM || SH
> +	help
> +	  This provides an MTD device driver for the ST Microelectronics
> +	  SPI FSM Serial Flash Controller and support for a subset of
> +	  connected Serial Flash devices.
> +
>   if MTD_DOCG3
>   config BCH_CONST_M
>   	default 14
> diff --git a/drivers/mtd/devices/Makefile b/drivers/mtd/devices/Makefile
> index d83bd73..c68868f 100644
> --- a/drivers/mtd/devices/Makefile
> +++ b/drivers/mtd/devices/Makefile
> @@ -16,6 +16,7 @@ obj-$(CONFIG_MTD_NAND_OMAP_BCH)	+= elm.o
>   obj-$(CONFIG_MTD_SPEAR_SMI)	+= spear_smi.o
>   obj-$(CONFIG_MTD_SST25L)	+= sst25l.o
>   obj-$(CONFIG_MTD_BCM47XXSFLASH)	+= bcm47xxsflash.o
> +obj-$(CONFIG_MTD_ST_SPI_FSM)    += st_spi_fsm.o
>
>
>   CFLAGS_docg3.o			+= -I$(src)
> diff --git a/drivers/mtd/devices/st_spi_fsm.c b/drivers/mtd/devices/st_spi_fsm.c
> new file mode 100644
> index 0000000..fe66342
> --- /dev/null
> +++ b/drivers/mtd/devices/st_spi_fsm.c
> @@ -0,0 +1,109 @@
> +/*
> + * st_spi_fsm.c	Support for ST Serial Flash Controller
> + *
> + * Author: Angus Clark <angus.clark@st.com>
> + *
> + * Copyright (C) 2010-2013 STicroelectronics Limited
> + *
> + * JEDEC probe based on drivers/mtd/devices/m25p80.c
> + *
> + * This code is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License version 2 as
> + * published by the Free Software Foundation.
> + *
> + */
> +#include <linux/kernel.h>
> +#include <linux/module.h>
> +#include <linux/platform_device.h>
> +#include <linux/mtd/mtd.h>
> +#include <linux/sched.h>
> +#include <linux/delay.h>
> +#include <linux/io.h>
> +#include <linux/of.h>
> +
> +#include "st_spi_fsm.h"
> +
> +static int stfsm_probe(struct platform_device *pdev)
> +{
> +	struct device_node *np = pdev->dev.of_node;
> +	struct resource *res;
> +	struct stfsm *fsm;
> +
> +	if (!np) {
> +		dev_err(&pdev->dev, "No DT found\n");
> +		return -EINVAL;
> +	}
> +
> +	fsm = devm_kzalloc(&pdev->dev, sizeof(*fsm), GFP_KERNEL);
> +	if (!fsm)
> +		return -ENOMEM;
> +
> +	fsm->dev = &pdev->dev;
> +
> +	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> +	if (!res) {
> +		dev_err(&pdev->dev, "Resource not found\n");
> +		return -ENODEV;
> +	}
> +
> +	fsm->region = devm_request_mem_region(&pdev->dev, res->start,
> +					      resource_size(res), pdev->name);
> +	if (!fsm->region) {
> +		dev_err(&pdev->dev,
> +			"Failed to reserve memory region [0x%08x-0x%08x]\n",
> +			res->start, res->end);
> +		return -EBUSY;
> +	}
> +
> +	fsm->base = devm_ioremap_nocache(&pdev->dev,
> +					 res->start, resource_size(res));
> +	if (!fsm->base) {
> +		dev_err(&pdev->dev, "Failed to ioremap [0x%08x]\n", res->start);
> +		return -EINVAL;
> +	}
> +
you can replace  "devm_request_mem_region" & "devm_ioremap_nocache" by 
"devm_ioremap_resource"

> +	mutex_init(&fsm->lock);
> +
> +	platform_set_drvdata(pdev, fsm);
> +
> +	fsm->mtd.dev.parent	= &pdev->dev;
> +	fsm->mtd.type		= MTD_NORFLASH;
> +	fsm->mtd.writesize	= 4;
> +	fsm->mtd.writebufsize	= fsm->mtd.writesize;
> +	fsm->mtd.flags		= MTD_CAP_NORFLASH;
> +
> +	return mtd_device_parse_register(&fsm->mtd, NULL, NULL, NULL, 0);
> +}
> +
> +static int stfsm_remove(struct platform_device *pdev)
> +{
> +	struct stfsm *fsm = platform_get_drvdata(pdev);
> +	int err;
> +
> +	err = mtd_device_unregister(&fsm->mtd);
> +	if (err)
> +		return err;
> +
> +	return 0;
> +}
> +
> +static struct of_device_id stfsm_match[] = {
> +	{ .compatible = "st,spi-fsm", },
> +	{},
> +};
> +MODULE_DEVICE_TABLE(of, stfsm_match);
> +
> +static struct platform_driver stfsm_driver = {
> +	.probe		= stfsm_probe,
> +	.remove		= stfsm_remove,
> +	.driver		= {
> +		.name	= "st-spi-fsm",
> +		.owner	= THIS_MODULE,
> +		.of_match_table = stfsm_match,
> +	},
> +};
> +module_platform_driver(stfsm_driver);
> +
> +MODULE_AUTHOR("Angus Clark <angus.clark@st.com>");
> +MODULE_DESCRIPTION("ST SPI FSM driver");
> +MODULE_LICENSE("GPL");
> diff --git a/drivers/mtd/devices/st_spi_fsm.h b/drivers/mtd/devices/st_spi_fsm.h
> new file mode 100644
> index 0000000..df45e1a
> --- /dev/null
> +++ b/drivers/mtd/devices/st_spi_fsm.h
> @@ -0,0 +1,27 @@
> +/*
> + * st_spi_fsm.c	Support for ST Serial Flash Controller
> + *
> + * Author: Angus Clark <angus.clark@st.com>
> + *
> + * Copyright (C) 2010-2013 STicroelectronics Limited
> + *
> + * JEDEC probe based on drivers/mtd/devices/m25p80.c
> + *
> + * This code is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License version 2 as
> + * published by the Free Software Foundation.
> + *
> + */
> +
> +#ifndef ST_SPI_FSM_H
> +#define ST_SPI_FSM_H
> +
> +struct stfsm {
> +	struct device		*dev;
> +	void __iomem		*base;
> +	struct resource		*region;
> +	struct mtd_info		mtd;
> +	struct mutex		lock;
> +};
> +
> +#endif	/* ST_SPI_FSM_H */
>


  reply	other threads:[~2014-01-23 14:16 UTC|newest]

Thread overview: 126+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-01-23 10:30 [PATCH RESEND v4 00/37] mtd: st_spi_fsm: Add new driver Lee Jones
2014-01-23 10:30 ` Lee Jones
2014-01-23 10:30 ` Lee Jones
2014-01-23 10:30 ` [PATCH RESEND v4 01/37] mtd: st_spi_fsm: Allocate resources and register with MTD framework Lee Jones
2014-01-23 10:30   ` Lee Jones
2014-01-23 10:30   ` Lee Jones
2014-01-23 14:16   ` Ludovic Barre [this message]
2014-01-23 14:16     ` Ludovic Barre
2014-01-23 14:16     ` Ludovic Barre
2014-01-23 15:55     ` Lee Jones
2014-01-23 15:55       ` Lee Jones
2014-01-23 15:55       ` Lee Jones
2014-01-23 10:30 ` [PATCH RESEND v4 02/37] mtd: st_spi_fsm: Supply all register address and bit logic defines Lee Jones
2014-01-23 10:30   ` Lee Jones
2014-01-23 10:30   ` Lee Jones
2014-01-23 10:30 ` [PATCH RESEND v4 03/37] mtd: st_spi_fsm: Initialise and configure the FSM for normal working conditions Lee Jones
2014-01-23 10:30   ` Lee Jones
2014-01-23 10:30   ` Lee Jones
2014-01-23 10:30 ` [PATCH RESEND v4 04/37] mtd: st_spi_fsm: Supply framework for device requests Lee Jones
2014-01-23 10:30   ` Lee Jones
2014-01-23 10:30   ` Lee Jones
2014-01-23 10:30 ` [PATCH RESEND v4 05/37] mtd: st_spi_fsm: Supply a method to read from the FSM's FIFO Lee Jones
2014-01-23 10:30   ` Lee Jones
2014-01-23 10:30   ` Lee Jones
2014-01-23 10:30 ` [PATCH RESEND v4 06/37] mtd: st_spi_fsm: Supply defines for the possible flash command opcodes Lee Jones
2014-01-23 10:30   ` Lee Jones
2014-01-23 10:30   ` Lee Jones
2014-01-23 10:30 ` [PATCH RESEND v4 07/37] mtd: st_spi_fsm: Add support for JEDEC ID extraction Lee Jones
2014-01-23 10:30   ` Lee Jones
2014-01-23 10:30   ` Lee Jones
2014-01-23 10:30 ` [PATCH RESEND v4 08/37] mtd: devices: Provide header for shared OPCODEs and SFDP commands Lee Jones
2014-01-23 10:30   ` Lee Jones
2014-01-23 10:30   ` Lee Jones
2014-01-23 10:30 ` [PATCH RESEND v4 09/37] mtd: st_spi_fsm: Provide device look-up table Lee Jones
2014-01-23 10:30   ` Lee Jones
2014-01-23 10:30   ` Lee Jones
2014-01-23 10:30 ` [PATCH RESEND v4 10/37] mtd: st_spi_fsm: Dynamically setup flash device based on JEDEC ID Lee Jones
2014-01-23 10:30   ` Lee Jones
2014-01-23 10:30   ` Lee Jones
2014-01-23 10:30 ` [PATCH RESEND v4 11/37] mtd: st_spi_fsm: Search for preferred FSM message sequence configurations Lee Jones
2014-01-23 10:30   ` Lee Jones
2014-01-23 10:30   ` Lee Jones
2014-01-23 10:31 ` [PATCH RESEND v4 12/37] mtd: st_spi_fsm: Fetch platform specific configurations Lee Jones
2014-01-23 10:31   ` Lee Jones
2014-01-23 10:31   ` Lee Jones
2014-01-23 10:31 ` [PATCH RESEND v4 13/37] mtd: st_spi_fsm: Prepare the read/write FSM message sequence(s) Lee Jones
2014-01-23 10:31   ` Lee Jones
2014-01-23 10:31   ` Lee Jones
2014-01-23 10:31 ` [PATCH RESEND v4 14/37] mtd: st_spi_fsm: Add device-tree binding documentation Lee Jones
2014-01-23 10:31   ` Lee Jones
2014-01-23 10:31   ` Lee Jones
2014-01-23 10:31 ` [PATCH RESEND v4 15/37] mtd: st_spi_fsm: Fetch boot-device from mode pins Lee Jones
2014-01-23 10:31   ` Lee Jones
2014-01-23 10:31   ` Lee Jones
2014-01-23 10:31 ` [PATCH RESEND v4 16/37] mtd: st_spi_fsm: Provide the erase one sector sequence Lee Jones
2014-01-23 10:31   ` Lee Jones
2014-01-23 10:31   ` Lee Jones
2014-01-23 10:31 ` [PATCH RESEND v4 17/37] mtd: st_spi_fsm: Provide the sequence for enabling 32bit addressing mode Lee Jones
2014-01-23 10:31   ` Lee Jones
2014-01-23 10:31   ` Lee Jones
2014-01-23 10:31 ` [PATCH RESEND v4 18/37] mtd: st_spi_fsm: Prepare read/write sequences according to configuration Lee Jones
2014-01-23 10:31   ` Lee Jones
2014-01-23 10:31   ` Lee Jones
2014-01-23 10:31 ` [PATCH RESEND v4 19/37] mtd: st_spi_fsm: Add a check to if the chip can handle an SoC reset Lee Jones
2014-01-23 10:31   ` Lee Jones
2014-01-23 10:31   ` Lee Jones
2014-01-23 10:31 ` [PATCH RESEND v4 20/37] mtd: st_spi_fsm: Provide a method to put the chip into 32bit addressing mode Lee Jones
2014-01-23 10:31   ` Lee Jones
2014-01-23 10:31   ` Lee Jones
2014-01-23 10:31 ` [PATCH RESEND v4 21/37] mtd: st_spi_fsm: Update the flash Volatile Configuration Register Lee Jones
2014-01-23 10:31   ` Lee Jones
2014-01-23 10:31   ` Lee Jones
2014-01-23 10:31 ` [PATCH RESEND v4 22/37] mtd: st_spi_fsm: Provide the default read/write configurations Lee Jones
2014-01-23 10:31   ` Lee Jones
2014-01-23 10:31   ` Lee Jones
2014-01-23 10:31 ` [PATCH RESEND v4 23/37] mtd: st_spi_fsm: Supply the N25Qxxx specific read configurations Lee Jones
2014-01-23 10:31   ` Lee Jones
2014-01-23 10:31   ` Lee Jones
2014-01-23 10:31 ` [PATCH RESEND v4 24/37] mtd: st_spi_fsm: Supply the N25Qxxx chip specific configuration call-back Lee Jones
2014-01-23 10:31   ` Lee Jones
2014-01-23 10:31   ` Lee Jones
2014-01-23 10:31 ` [PATCH RESEND v4 25/37] mtd: st_spi_fsm: Prepare default sequences for read/write/erase Lee Jones
2014-01-23 10:31   ` Lee Jones
2014-01-23 10:31   ` Lee Jones
2014-01-23 10:31 ` [PATCH RESEND v4 26/37] mtd: st_spi_fsm: Add the ability to read from a Serial Flash device Lee Jones
2014-01-23 10:31   ` Lee Jones
2014-01-23 10:31   ` Lee Jones
2014-01-23 10:31 ` [PATCH RESEND v4 27/37] mtd: st_spi_fsm: Write to Flash via the FSM FIFO Lee Jones
2014-01-23 10:31   ` Lee Jones
2014-01-23 10:31   ` Lee Jones
2014-01-23 10:31 ` [PATCH RESEND v4 28/37] mtd: st_spi_fsm: Supply a busy wait for post-write status Lee Jones
2014-01-23 10:31   ` Lee Jones
2014-01-23 10:31   ` Lee Jones
2014-01-23 10:31 ` [PATCH RESEND v4 29/37] mtd: st_spi_fsm: Add the ability to write to a Serial Flash device Lee Jones
2014-01-23 10:31   ` Lee Jones
2014-01-23 10:31   ` Lee Jones
2014-01-23 10:31 ` [PATCH RESEND v4 30/37] mtd: st_spi_fsm: Erase partly or as a whole " Lee Jones
2014-01-23 10:31   ` Lee Jones
2014-01-23 10:31   ` Lee Jones
2014-01-23 10:31 ` [PATCH RESEND v4 31/37] mtd: st_spi_fsm: Add the ability to read the FSM's status Lee Jones
2014-01-23 10:31   ` Lee Jones
2014-01-23 10:31   ` Lee Jones
2014-01-23 10:31 ` [PATCH RESEND v4 32/37] mtd: st_spi_fsm: Add the ability to write to FSM's status register Lee Jones
2014-01-23 10:31   ` Lee Jones
2014-01-23 10:31   ` Lee Jones
2014-01-23 10:31 ` [PATCH RESEND v4 33/37] mtd: st_spi_fsm: Supply the MX25xxx chip specific configuration call-back Lee Jones
2014-01-23 10:31   ` Lee Jones
2014-01-23 10:31   ` Lee Jones
2014-01-23 10:31 ` [PATCH RESEND v4 34/37] mtd: st_spi_fsm: Supply the S25FLxxx " Lee Jones
2014-01-23 10:31   ` Lee Jones
2014-01-23 10:31   ` Lee Jones
2014-01-23 10:31 ` [PATCH RESEND v4 35/37] mtd: st_spi_fsm: Supply the W25Qxxx " Lee Jones
2014-01-23 10:31   ` Lee Jones
2014-01-23 10:31   ` Lee Jones
2014-01-23 10:31 ` [PATCH RESEND v4 36/37] mtd: st_spi_fsm: Move runtime configurable msg sequences into device's struct Lee Jones
2014-01-23 10:31   ` Lee Jones
2014-01-23 10:31   ` Lee Jones
2014-01-23 10:31 ` [PATCH RESEND v4 37/37] ARM: STi: Add support for the FSM Serial Flash Controller Lee Jones
2014-01-23 10:31   ` Lee Jones
2014-01-23 10:31   ` Lee Jones
2014-02-11 15:00 ` [PATCH RESEND v4 00/37] mtd: st_spi_fsm: Add new driver Angus Clark
2014-02-11 15:00   ` Angus Clark
2014-02-11 15:00   ` Angus Clark
2014-02-14 10:46   ` Lee Jones
2014-02-14 10:46     ` Lee Jones
2014-02-14 10:46     ` Lee Jones

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=52E12434.7030000@st.com \
    --to=ludovic.barre@st.com \
    --cc=Angus.Clark@st.com \
    --cc=DCG_UPD_stlinux_kernel@list.st.com \
    --cc=computersforpeace@gmail.com \
    --cc=dwmw2@infradead.org \
    --cc=lee.jones@linaro.org \
    --cc=linus.walleij@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mtd@lists.infradead.org \
    --cc=olivier.clergeaud@st.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.