Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1626370 > unrolled thread
| Started by | Andrey Smirnov <andrew.smirnov@gmail.com> |
|---|---|
| First post | 2017-04-19 17:30 +0200 |
| Last post | 2017-04-19 18:10 +0200 |
| Articles | 6 — 3 participants |
Back to article view | Back to linux.kernel
[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
| From | Andrey Smirnov <andrew.smirnov@gmail.com> |
|---|---|
| Date | 2017-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]
| From | Andrey Smirnov <andrew.smirnov@gmail.com> |
|---|---|
| Date | 2017-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]
| From | Marek Vasut <marek.vasut@gmail.com> |
|---|---|
| Date | 2017-04-19 17:50 +0200 |
| Subject | Re: [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]
| From | Andrey Smirnov <andrew.smirnov@gmail.com> |
|---|---|
| Date | 2017-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]
| From | David Woodhouse <dwmw2@infradead.org> |
|---|---|
| Date | 2017-04-19 17:40 +0200 |
| Subject | Re: [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]
| From | Andrey Smirnov <andrew.smirnov@gmail.com> |
|---|---|
| Date | 2017-04-19 18:10 +0200 |
| Subject | Re: [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