Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1626370 > unrolled thread

[PATCH v3 1/6] mtd: dataflash: Replace C99 types with their kernel counterparts

Started byAndrey Smirnov <andrew.smirnov@gmail.com>
First post2017-04-19 17:30 +0200
Last post2017-04-19 18:10 +0200
Articles 6 — 3 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH v3 1/6] mtd: dataflash: Replace C99 types with their kernel counterparts Andrey Smirnov <andrew.smirnov@gmail.com> - 2017-04-19 17:30 +0200
    [PATCH v3 4/6] mtd: dataflash: Get rid of loop counter in jedec_probe() Andrey Smirnov <andrew.smirnov@gmail.com> - 2017-04-19 17:30 +0200
      Re: [PATCH v3 4/6] mtd: dataflash: Get rid of loop counter in  jedec_probe() Marek Vasut <marek.vasut@gmail.com> - 2017-04-19 17:50 +0200
    [PATCH v3 2/6] mtd: dataflash: Improve coding style in jedec_probe() Andrey Smirnov <andrew.smirnov@gmail.com> - 2017-04-19 17:30 +0200
    Re: [PATCH v3 1/6] mtd: dataflash: Replace C99 types with their  kernel counterparts David Woodhouse <dwmw2@infradead.org> - 2017-04-19 17:40 +0200
      Re: [PATCH v3 1/6] mtd: dataflash: Replace C99 types with their  kernel counterparts Andrey Smirnov <andrew.smirnov@gmail.com> - 2017-04-19 18:10 +0200

#1626370 — [PATCH v3 1/6] mtd: dataflash: Replace C99 types with their kernel counterparts

FromAndrey Smirnov <andrew.smirnov@gmail.com>
Date2017-04-19 17:30 +0200
Subject[PATCH v3 1/6] mtd: dataflash: Replace C99 types with their kernel counterparts
Message-ID<txZIm-56L-15@gated-at.bofh.it>
No functional change intended.

Cc: cphealy@gmail.com
Cc: David Woodhouse <dwmw2@infradead.org>
Cc: Brian Norris <computersforpeace@gmail.com>
Cc: Boris Brezillon <boris.brezillon@free-electrons.com>
Cc: Richard Weinberger <richard@nod.at>
Cc: Cyrille Pitchen <cyrille.pitchen@atmel.com>
Cc: linux-kernel@vger.kernel.org
Acked-by: Marek Vasut <marek.vasut@gmail.com>
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
---

Changes since [v2]:

	- Re-worded commit message

	- Collected Acked-by from Marek

Not present in v1

[v2]: http://lkml.kernel.org/r/20170418142127.23301-1-andrew.smirnov@gmail.com


 drivers/mtd/devices/mtd_dataflash.c | 40 ++++++++++++++++++-------------------
 1 file changed, 20 insertions(+), 20 deletions(-)

diff --git a/drivers/mtd/devices/mtd_dataflash.c b/drivers/mtd/devices/mtd_dataflash.c
index f9e9bd1..a566231 100644
--- a/drivers/mtd/devices/mtd_dataflash.c
+++ b/drivers/mtd/devices/mtd_dataflash.c
@@ -84,7 +84,7 @@
 
 
 struct dataflash {
-	uint8_t			command[4];
+	u8			command[4];
 	char			name[24];
 
 	unsigned short		page_offset;	/* offset in flash address */
@@ -153,8 +153,8 @@ static int dataflash_erase(struct mtd_info *mtd, struct erase_info *instr)
 	struct spi_transfer	x = { };
 	struct spi_message	msg;
 	unsigned		blocksize = priv->page_size << 3;
-	uint8_t			*command;
-	uint32_t		rem;
+	u8			*command;
+	u32			rem;
 
 	pr_debug("%s: erase addr=0x%llx len 0x%llx\n",
 	      dev_name(&spi->dev), (long long)instr->addr,
@@ -187,8 +187,8 @@ static int dataflash_erase(struct mtd_info *mtd, struct erase_info *instr)
 		pageaddr = pageaddr << priv->page_offset;
 
 		command[0] = do_block ? OP_ERASE_BLOCK : OP_ERASE_PAGE;
-		command[1] = (uint8_t)(pageaddr >> 16);
-		command[2] = (uint8_t)(pageaddr >> 8);
+		command[1] = (u8)(pageaddr >> 16);
+		command[2] = (u8)(pageaddr >> 8);
 		command[3] = 0;
 
 		pr_debug("ERASE %s: (%x) %x %x %x [%i]\n",
@@ -239,7 +239,7 @@ static int dataflash_read(struct mtd_info *mtd, loff_t from, size_t len,
 	struct spi_transfer	x[2] = { };
 	struct spi_message	msg;
 	unsigned int		addr;
-	uint8_t			*command;
+	u8			*command;
 	int			status;
 
 	pr_debug("%s: read 0x%x..0x%x\n", dev_name(&priv->spi->dev),
@@ -271,9 +271,9 @@ static int dataflash_read(struct mtd_info *mtd, loff_t from, size_t len,
 	 * fewer "don't care" bytes.  Both buffers stay unchanged.
 	 */
 	command[0] = OP_READ_CONTINUOUS;
-	command[1] = (uint8_t)(addr >> 16);
-	command[2] = (uint8_t)(addr >> 8);
-	command[3] = (uint8_t)(addr >> 0);
+	command[1] = (u8)(addr >> 16);
+	command[2] = (u8)(addr >> 8);
+	command[3] = (u8)(addr >> 0);
 	/* plus 4 "don't care" bytes */
 
 	status = spi_sync(priv->spi, &msg);
@@ -308,7 +308,7 @@ static int dataflash_write(struct mtd_info *mtd, loff_t to, size_t len,
 	size_t			remaining = len;
 	u_char			*writebuf = (u_char *) buf;
 	int			status = -EINVAL;
-	uint8_t			*command;
+	u8			*command;
 
 	pr_debug("%s: write 0x%x..0x%x\n",
 		dev_name(&spi->dev), (unsigned)to, (unsigned)(to + len));
@@ -455,11 +455,11 @@ static int dataflash_get_otp_info(struct mtd_info *mtd, size_t len,
 }
 
 static ssize_t otp_read(struct spi_device *spi, unsigned base,
-		uint8_t *buf, loff_t off, size_t len)
+		u8 *buf, loff_t off, size_t len)
 {
 	struct spi_message	m;
 	size_t			l;
-	uint8_t			*scratch;
+	u8			*scratch;
 	struct spi_transfer	t;
 	int			status;
 
@@ -538,7 +538,7 @@ static int dataflash_write_user_otp(struct mtd_info *mtd,
 {
 	struct spi_message	m;
 	const size_t		l = 4 + 64;
-	uint8_t			*scratch;
+	u8			*scratch;
 	struct spi_transfer	t;
 	struct dataflash	*priv = mtd->priv;
 	int			status;
@@ -689,14 +689,14 @@ struct flash_info {
 	/* JEDEC id has a high byte of zero plus three data bytes:
 	 * the manufacturer id, then a two byte device id.
 	 */
-	uint32_t	jedec_id;
+	u32		jedec_id;
 
 	/* The size listed here is what works with OP_ERASE_PAGE. */
 	unsigned	nr_pages;
-	uint16_t	pagesize;
-	uint16_t	pageoffset;
+	u16		pagesize;
+	u16		pageoffset;
 
-	uint16_t	flags;
+	u16		flags;
 #define SUP_POW2PS	0x0002		/* supports 2^N byte pages */
 #define IS_POW2PS	0x0001		/* uses 2^N byte pages */
 };
@@ -739,9 +739,9 @@ static struct flash_info dataflash_data[] = {
 static struct flash_info *jedec_probe(struct spi_device *spi)
 {
 	int			tmp;
-	uint8_t			code = OP_READ_ID;
-	uint8_t			id[3];
-	uint32_t		jedec;
+	u8			code = OP_READ_ID;
+	u8			id[3];
+	u32			jedec;
 	struct flash_info	*info;
 	int status;
 
-- 
2.9.3

[toc] | [next] | [standalone]


#1626372 — [PATCH v3 4/6] mtd: dataflash: Get rid of loop counter in jedec_probe()

FromAndrey Smirnov <andrew.smirnov@gmail.com>
Date2017-04-19 17:30 +0200
Subject[PATCH v3 4/6] mtd: dataflash: Get rid of loop counter in jedec_probe()
Message-ID<txZIo-56L-49@gated-at.bofh.it>
In reply to#1626370
"For" loop in jedec_probe can be simplified to not need counter
'i'. Convert the code and get rid of the variable.

Cc: cphealy@gmail.com
Cc: David Woodhouse <dwmw2@infradead.org>
Cc: Brian Norris <computersforpeace@gmail.com>
Cc: Boris Brezillon <boris.brezillon@free-electrons.com>
Cc: Marek Vasut <marek.vasut@gmail.com>
Cc: Richard Weinberger <richard@nod.at>
Cc: Cyrille Pitchen <cyrille.pitchen@atmel.com>
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
---

Not present in v2, v1.

 drivers/mtd/devices/mtd_dataflash.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/mtd/devices/mtd_dataflash.c b/drivers/mtd/devices/mtd_dataflash.c
index ccd1e02..2d3e403 100644
--- a/drivers/mtd/devices/mtd_dataflash.c
+++ b/drivers/mtd/devices/mtd_dataflash.c
@@ -736,7 +736,7 @@ static struct flash_info dataflash_data[] = {
 
 static struct flash_info *jedec_probe(struct spi_device *spi)
 {
-	int ret, i;
+	int ret;
 	u8 code = OP_READ_ID;
 	u8 id[3];
 	u32 jedec;
@@ -767,9 +767,9 @@ static struct flash_info *jedec_probe(struct spi_device *spi)
 	jedec = jedec << 8;
 	jedec |= id[2];
 
-	for (i = 0, info = dataflash_data;
-			i < ARRAY_SIZE(dataflash_data);
-			i++, info++) {
+	for (info = dataflash_data;
+	     info < dataflash_data + ARRAY_SIZE(dataflash_data);
+	     info++) {
 		if (info->jedec_id == jedec) {
 			dev_dbg(&spi->dev, "OTP, sector protect%s\n",
 				(info->flags & SUP_POW2PS) ?
-- 
2.9.3

[toc] | [prev] | [next] | [standalone]


#1626412 — Re: [PATCH v3 4/6] mtd: dataflash: Get rid of loop counter in jedec_probe()

FromMarek Vasut <marek.vasut@gmail.com>
Date2017-04-19 17:50 +0200
SubjectRe: [PATCH v3 4/6] mtd: dataflash: Get rid of loop counter in jedec_probe()
Message-ID<ty01H-5db-13@gated-at.bofh.it>
In reply to#1626372
On 04/19/2017 05:23 PM, Andrey Smirnov wrote:
> "For" loop in jedec_probe can be simplified to not need counter
> 'i'. Convert the code and get rid of the variable.
> 
> Cc: cphealy@gmail.com
> Cc: David Woodhouse <dwmw2@infradead.org>
> Cc: Brian Norris <computersforpeace@gmail.com>
> Cc: Boris Brezillon <boris.brezillon@free-electrons.com>
> Cc: Marek Vasut <marek.vasut@gmail.com>
> Cc: Richard Weinberger <richard@nod.at>
> Cc: Cyrille Pitchen <cyrille.pitchen@atmel.com>
> Cc: linux-kernel@vger.kernel.org
> Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
> ---

Reviewed-by: Marek Vasut <marek.vasut@gmail.com>

-- 
Best regards,
Marek Vasut

[toc] | [prev] | [next] | [standalone]


#1626384 — [PATCH v3 2/6] mtd: dataflash: Improve coding style in jedec_probe()

FromAndrey Smirnov <andrew.smirnov@gmail.com>
Date2017-04-19 17:30 +0200
Subject[PATCH v3 2/6] mtd: dataflash: Improve coding style in jedec_probe()
Message-ID<txZIo-56L-75@gated-at.bofh.it>
In reply to#1626370
Change the following:

   - Replace indentation between type and name of local variable from
     tabs to spaces

   - Replace magic number 0x1F with CFI_MFR_ATMEL macro

   - Replace variable 'tmp' with 'ret' and 'i' where appropriate

   - Reformat multi-line comments and add newlines where appropriate

No functional change intended.

Cc: cphealy@gmail.com
Cc: David Woodhouse <dwmw2@infradead.org>
Cc: Brian Norris <computersforpeace@gmail.com>
Cc: Boris Brezillon <boris.brezillon@free-electrons.com>
Cc: Richard Weinberger <richard@nod.at>
Cc: Cyrille Pitchen <cyrille.pitchen@atmel.com>
Cc: linux-kernel@vger.kernel.org
Acked-by: Marek Vasut <marek.vasut@gmail.com>
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
---

Changes since [v2]:

	- Re-worded commit message

	- Collected Acked-by from Marek

Not present in v1

[v2] http://lkml.kernel.org/r/20170418142127.23301-2-andrew.smirnov@gmail.com

 drivers/mtd/devices/mtd_dataflash.c | 31 +++++++++++++++++--------------
 1 file changed, 17 insertions(+), 14 deletions(-)

diff --git a/drivers/mtd/devices/mtd_dataflash.c b/drivers/mtd/devices/mtd_dataflash.c
index a566231..5b7a8c3 100644
--- a/drivers/mtd/devices/mtd_dataflash.c
+++ b/drivers/mtd/devices/mtd_dataflash.c
@@ -82,6 +82,7 @@
 #define OP_WRITE_SECURITY_REVC	0x9A
 #define OP_WRITE_SECURITY	0x9B	/* revision D */
 
+#define CFI_MFR_ATMEL		0x1F
 
 struct dataflash {
 	u8			command[4];
@@ -738,14 +739,15 @@ static struct flash_info dataflash_data[] = {
 
 static struct flash_info *jedec_probe(struct spi_device *spi)
 {
-	int			tmp;
-	u8			code = OP_READ_ID;
-	u8			id[3];
-	u32			jedec;
-	struct flash_info	*info;
+	int ret, i;
+	u8 code = OP_READ_ID;
+	u8 id[3];
+	u32 jedec;
+	struct flash_info *info;
 	int status;
 
-	/* JEDEC also defines an optional "extended device information"
+	/*
+	 * JEDEC also defines an optional "extended device information"
 	 * string for after vendor-specific data, after the three bytes
 	 * we use here.  Supporting some chips might require using it.
 	 *
@@ -753,13 +755,14 @@ static struct flash_info *jedec_probe(struct spi_device *spi)
 	 * That's not an error; only rev C and newer chips handle it, and
 	 * only Atmel sells these chips.
 	 */
-	tmp = spi_write_then_read(spi, &code, 1, id, 3);
-	if (tmp < 0) {
+	ret = spi_write_then_read(spi, &code, 1, id, 3);
+	if (ret < 0) {
 		pr_debug("%s: error %d reading JEDEC ID\n",
-			dev_name(&spi->dev), tmp);
-		return ERR_PTR(tmp);
+			dev_name(&spi->dev), ret);
+		return ERR_PTR(ret);
 	}
-	if (id[0] != 0x1f)
+
+	if (id[0] != CFI_MFR_ATMEL)
 		return NULL;
 
 	jedec = id[0];
@@ -768,9 +771,9 @@ static struct flash_info *jedec_probe(struct spi_device *spi)
 	jedec = jedec << 8;
 	jedec |= id[2];
 
-	for (tmp = 0, info = dataflash_data;
-			tmp < ARRAY_SIZE(dataflash_data);
-			tmp++, info++) {
+	for (i = 0, info = dataflash_data;
+			i < ARRAY_SIZE(dataflash_data);
+			i++, info++) {
 		if (info->jedec_id == jedec) {
 			pr_debug("%s: OTP, sector protect%s\n",
 				dev_name(&spi->dev),
-- 
2.9.3

[toc] | [prev] | [next] | [standalone]


#1626403 — Re: [PATCH v3 1/6] mtd: dataflash: Replace C99 types with their kernel counterparts

FromDavid Woodhouse <dwmw2@infradead.org>
Date2017-04-19 17:40 +0200
SubjectRe: [PATCH v3 1/6] mtd: dataflash: Replace C99 types with their kernel counterparts
Message-ID<txZS3-59Y-45@gated-at.bofh.it>
In reply to#1626370

[Multipart message — attachments visible in raw view] — view raw

On Wed, 2017-04-19 at 08:23 -0700, Andrey Smirnov wrote:
> No functional change intended.

FWIW I *deliberately* used the proper C datatypes throughout all of the
MTD code instead of the silly kernel-speshul datatypes. To the extent
of *fixing* submissions to be written in C when they were using the
silly kernel types instead.

There is a reason for the __u32 type in userspace APIs. There is
basically no reason for 'u32' et al, just to save a trivial few
characters in the type name. We might as well be using the proper
language types.

I appreciate that not everyone agrees with that, but at least it used
to be consistent throughout the code I was maintaining. I'll defer to
the currently active maintainers though...

[toc] | [prev] | [next] | [standalone]


#1626421 — Re: [PATCH v3 1/6] mtd: dataflash: Replace C99 types with their kernel counterparts

FromAndrey Smirnov <andrew.smirnov@gmail.com>
Date2017-04-19 18:10 +0200
SubjectRe: [PATCH v3 1/6] mtd: dataflash: Replace C99 types with their kernel counterparts
Message-ID<ty0l4-5yM-5@gated-at.bofh.it>
In reply to#1626403
[ +cc: Marek, since I accidentally dropped him off CC list ]

On Wed, Apr 19, 2017 at 8:35 AM, David Woodhouse <dwmw2@infradead.org> wrote:
> On Wed, 2017-04-19 at 08:23 -0700, Andrey Smirnov wrote:
>> No functional change intended.
>
> FWIW I *deliberately* used the proper C datatypes throughout all of the
> MTD code instead of the silly kernel-speshul datatypes. To the extent
> of *fixing* submissions to be written in C when they were using the
> silly kernel types instead.
>
> There is a reason for the __u32 type in userspace APIs. There is
> basically no reason for 'u32' et al, just to save a trivial few
> characters in the type name. We might as well be using the proper
> language types.
>
> I appreciate that not everyone agrees with that, but at least it used
> to be consistent throughout the code I was maintaining. I'll defer to
> the currently active maintainers though...

This conversion was an explicit request from Marek, see
https://marc.info/?l=linux-kernel&m=149192751625941

Thanks,
Andrey Smirnov

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web