[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1548142975-14219-1-git-send-email-yamada.masahiro@socionext.com>
Date: Tue, 22 Jan 2019 16:42:53 +0900
From: Masahiro Yamada <yamada.masahiro@...ionext.com>
To: linux-mtd@...ts.infradead.org,
Boris Brezillon <boris.brezillon@...tlin.com>,
Miquel Raynal <miquel.raynal@...tlin.com>
Cc: Masahiro Yamada <yamada.masahiro@...ionext.com>,
Thierry Reding <thierry.reding@...il.com>,
Brian Norris <computersforpeace@...il.com>,
Jonathan Hunter <jonathanh@...dia.com>,
Linus Walleij <linus.walleij@...aro.org>,
linux-kernel@...r.kernel.org, Marek Vasut <marek.vasut@...il.com>,
Stefan Agner <stefan@...er.ch>,
Richard Weinberger <richard@....at>,
David Woodhouse <dwmw2@...radead.org>,
Janusz Krzysztofik <jmkrzyszt@...il.com>,
linux-tegra@...r.kernel.org,
Boris Brezillon <bbrezillon@...nel.org>,
Lucas Stach <dev@...xeye.de>
Subject: [PATCH 0/2] mtd: nand: use unnamed union field
The new exec_op() scheme takes advantage of union
in order to store instruction private data, which is mutually
exclusive.
I felt a bit annoyed with the long accessors.
At least, we can omit "ctx." by making the union anonymous.
I converted nand_op_instr and nand_op_parser_pattern_elem.
I still see more instances, e.g.
struct nand_op_data_instr {
unsigned int len;
union {
void *in;
const void *out;
} buf;
bool force_8bit;
};
We could convert this into:
struct nand_op_data_instr {
unsigned int len;
union {
void *ibuf;
const void *obuf;
};
bool force_8bit;
};
Or, if we want to match the struct to NAND_OP_*_INSTR,
we can split it into two structures.
struct nand_op_data_in_instr {
unsigned int len;
void *buf;
bool force_8bit;
};
struct nand_op_data_out_instr {
unsigned int len;
const void *buf;
bool force_8bit;
};
Anyway, let's see if people are positive about
this shortning.
Masahiro Yamada (2):
mtd: rawnand: use unnamed union in struct nand_op_instr
mtd: rawnand: use unnamed union in struct nand_op_parser_pattern_elem
drivers/mtd/nand/raw/ams-delta.c | 18 +++++------
drivers/mtd/nand/raw/fsmc_nand.c | 41 +++++++++++-------------
drivers/mtd/nand/raw/marvell_nand.c | 16 +++++-----
drivers/mtd/nand/raw/nand_base.c | 64 ++++++++++++++++++-------------------
drivers/mtd/nand/raw/tegra_nand.c | 10 +++---
drivers/mtd/nand/raw/vf610_nfc.c | 14 ++++----
include/linux/mtd/rawnand.h | 36 ++++++++++-----------
7 files changed, 97 insertions(+), 102 deletions(-)
--
2.7.4
Powered by blists - more mailing lists