From: Boris Brezillon <boris.brezillon@collabora.com> To: Masahiro Yamada <yamada.masahiro@socionext.com> Cc: linux-mtd@lists.infradead.org, Miquel Raynal <miquel.raynal@bootlin.com>, Boris Brezillon <bbrezillon@kernel.org>, Brian Norris <computersforpeace@gmail.com>, linux-kernel@vger.kernel.org, Marek Vasut <marek.vasut@gmail.com>, Richard Weinberger <richard@nod.at>, David Woodhouse <dwmw2@infradead.org> Subject: Re: [PATCH v3 4/9] mtd: rawnand: denali: switch over to ->exec_op() from legacy hooks Date: Tue, 12 Mar 2019 10:02:57 +0100 [thread overview] Message-ID: <20190312100257.4fa142d1@collabora.com> (raw) In-Reply-To: <1552380290-19951-5-git-send-email-yamada.masahiro@socionext.com> On Tue, 12 Mar 2019 17:44:45 +0900 Masahiro Yamada <yamada.masahiro@socionext.com> wrote: > + > +static int denali_exec_instr(struct nand_chip *chip, > + const struct nand_op_instr *instr) > +{ > + struct denali_nand_info *denali = to_denali(chip); > + bool width16 = chip->options & NAND_BUSWIDTH_16; > + > + switch (instr->type) { > + case NAND_OP_CMD_INSTR: > + denali_exec_out8(denali, DENALI_MAP11_CMD, > + &instr->ctx.cmd.opcode, 1); > + return 0; > + case NAND_OP_ADDR_INSTR: > + denali_exec_out8(denali, DENALI_MAP11_ADDR, > + instr->ctx.addr.addrs, > + instr->ctx.addr.naddrs); > + return 0; > + case NAND_OP_DATA_IN_INSTR: > + (!instr->ctx.data.force_8bit && width16 ? > + denali_exec_in16 : > + denali_exec_in8)(denali, DENALI_MAP11_DATA, > + instr->ctx.data.buf.in, > + instr->ctx.data.len); I agree with Miquel, this statement tends to obfuscate the code, and it's not like an extra if will make a huge difference in term of LOC. > + return 0; > + case NAND_OP_DATA_OUT_INSTR: > + (!instr->ctx.data.force_8bit && width16 ? > + denali_exec_out16 : > + denali_exec_out8)(denali, DENALI_MAP11_DATA, > + instr->ctx.data.buf.out, > + instr->ctx.data.len); Ditto. > + return 0; > + case NAND_OP_WAITRDY_INSTR: > + return denali_exec_waitrdy(denali); > + default: > + WARN_ONCE(1, "unsupported NAND instruction type: %d\n", > + instr->type); > + > + return -EINVAL; > + } > +}
WARNING: multiple messages have this Message-ID (diff)
From: Boris Brezillon <boris.brezillon@collabora.com> To: Masahiro Yamada <yamada.masahiro@socionext.com> Cc: Boris Brezillon <bbrezillon@kernel.org>, Richard Weinberger <richard@nod.at>, linux-kernel@vger.kernel.org, Marek Vasut <marek.vasut@gmail.com>, linux-mtd@lists.infradead.org, Miquel Raynal <miquel.raynal@bootlin.com>, Brian Norris <computersforpeace@gmail.com>, David Woodhouse <dwmw2@infradead.org> Subject: Re: [PATCH v3 4/9] mtd: rawnand: denali: switch over to ->exec_op() from legacy hooks Date: Tue, 12 Mar 2019 10:02:57 +0100 [thread overview] Message-ID: <20190312100257.4fa142d1@collabora.com> (raw) In-Reply-To: <1552380290-19951-5-git-send-email-yamada.masahiro@socionext.com> On Tue, 12 Mar 2019 17:44:45 +0900 Masahiro Yamada <yamada.masahiro@socionext.com> wrote: > + > +static int denali_exec_instr(struct nand_chip *chip, > + const struct nand_op_instr *instr) > +{ > + struct denali_nand_info *denali = to_denali(chip); > + bool width16 = chip->options & NAND_BUSWIDTH_16; > + > + switch (instr->type) { > + case NAND_OP_CMD_INSTR: > + denali_exec_out8(denali, DENALI_MAP11_CMD, > + &instr->ctx.cmd.opcode, 1); > + return 0; > + case NAND_OP_ADDR_INSTR: > + denali_exec_out8(denali, DENALI_MAP11_ADDR, > + instr->ctx.addr.addrs, > + instr->ctx.addr.naddrs); > + return 0; > + case NAND_OP_DATA_IN_INSTR: > + (!instr->ctx.data.force_8bit && width16 ? > + denali_exec_in16 : > + denali_exec_in8)(denali, DENALI_MAP11_DATA, > + instr->ctx.data.buf.in, > + instr->ctx.data.len); I agree with Miquel, this statement tends to obfuscate the code, and it's not like an extra if will make a huge difference in term of LOC. > + return 0; > + case NAND_OP_DATA_OUT_INSTR: > + (!instr->ctx.data.force_8bit && width16 ? > + denali_exec_out16 : > + denali_exec_out8)(denali, DENALI_MAP11_DATA, > + instr->ctx.data.buf.out, > + instr->ctx.data.len); Ditto. > + return 0; > + case NAND_OP_WAITRDY_INSTR: > + return denali_exec_waitrdy(denali); > + default: > + WARN_ONCE(1, "unsupported NAND instruction type: %d\n", > + instr->type); > + > + return -EINVAL; > + } > +} ______________________________________________________ Linux MTD discussion mailing list http://lists.infradead.org/mailman/listinfo/linux-mtd/
next prev parent reply other threads:[~2019-03-12 9:03 UTC|newest] Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-03-12 8:44 [PATCH v3 0/9] mtd: rawnand: denali: exec_op(), controller/chip separation, and cleanups Masahiro Yamada 2019-03-12 8:44 ` Masahiro Yamada 2019-03-12 8:44 ` [PATCH v3 1/9] mtd: rawnand: denali: use nand_chip pointer more for internal functions Masahiro Yamada 2019-03-12 8:44 ` Masahiro Yamada 2019-03-12 8:44 ` [PATCH v3 2/9] mtd: rawnand: denali: refactor syndrome layout handling for raw access Masahiro Yamada 2019-03-12 8:44 ` Masahiro Yamada 2019-03-12 10:28 ` Miquel Raynal 2019-03-12 10:28 ` Miquel Raynal 2019-03-12 10:51 ` Masahiro Yamada 2019-03-12 10:51 ` Masahiro Yamada 2019-03-12 10:54 ` Miquel Raynal 2019-03-12 10:54 ` Miquel Raynal 2019-03-12 11:07 ` Masahiro Yamada 2019-03-12 11:07 ` Masahiro Yamada 2019-03-12 13:13 ` Miquel Raynal 2019-03-12 13:13 ` Miquel Raynal 2019-03-14 8:24 ` Masahiro Yamada 2019-03-14 8:24 ` Masahiro Yamada 2019-03-15 8:34 ` Miquel Raynal 2019-03-15 8:34 ` Miquel Raynal 2019-03-29 7:02 ` Masahiro Yamada 2019-03-29 7:02 ` Masahiro Yamada 2019-03-12 8:44 ` [PATCH v3 3/9] mtd: rawnand: denali: remove unneeded casts in denali_{read,write}_pio Masahiro Yamada 2019-03-12 8:44 ` [PATCH v3 3/9] mtd: rawnand: denali: remove unneeded casts in denali_{read, write}_pio Masahiro Yamada 2019-03-12 8:44 ` [PATCH v3 4/9] mtd: rawnand: denali: switch over to ->exec_op() from legacy hooks Masahiro Yamada 2019-03-12 8:44 ` Masahiro Yamada 2019-03-12 9:02 ` Boris Brezillon [this message] 2019-03-12 9:02 ` Boris Brezillon 2019-03-12 9:47 ` Masahiro Yamada 2019-03-12 9:47 ` Masahiro Yamada 2019-03-12 8:44 ` [PATCH v3 5/9] mtd: rawnand: denali: use bool type instead of int where appropriate Masahiro Yamada 2019-03-12 8:44 ` Masahiro Yamada 2019-03-12 8:44 ` [PATCH v3 6/9] mtd: rawnand: denali_pci: rename goto labels Masahiro Yamada 2019-03-12 8:44 ` Masahiro Yamada 2019-03-12 8:44 ` [PATCH v3 7/9] mtd: rawnand: denali: decouple controller and NAND chips Masahiro Yamada 2019-03-12 8:44 ` Masahiro Yamada 2019-03-12 8:44 ` [PATCH v3 8/9] mtd: rawnand: denali: remove DENALI_NR_BANKS macro Masahiro Yamada 2019-03-12 8:44 ` Masahiro Yamada 2019-03-12 8:44 ` [PATCH v3 9/9] mtd: rawnand: denali: clean up coding style Masahiro Yamada 2019-03-12 8:44 ` Masahiro Yamada
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=20190312100257.4fa142d1@collabora.com \ --to=boris.brezillon@collabora.com \ --cc=bbrezillon@kernel.org \ --cc=computersforpeace@gmail.com \ --cc=dwmw2@infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-mtd@lists.infradead.org \ --cc=marek.vasut@gmail.com \ --cc=miquel.raynal@bootlin.com \ --cc=richard@nod.at \ --cc=yamada.masahiro@socionext.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: linkBe 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.