Received: by 2002:ac0:950c:0:0:0:0:0 with SMTP id f12csp1889708imc; Tue, 12 Mar 2019 02:49:37 -0700 (PDT) X-Google-Smtp-Source: APXvYqwjwP60NTfrJHmWaqdC1stxQ3t/aclSFwhASHn+GZSYffg0KUaTU9qHOPkw0KKE6J7sM2MB X-Received: by 2002:a17:902:9307:: with SMTP id bc7mr38467559plb.234.1552384177020; Tue, 12 Mar 2019 02:49:37 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1552384177; cv=none; d=google.com; s=arc-20160816; b=l7WbL4fXfydnWWhq+Y1XETZXlHwaHh/aiL7p0hpx83Zx9nPJHP0AF+P7FzCr8HChwN BJqHdus/41C8RNwqmzffNsPPsKXtGZIs4y0CBl8r1EFd8J12Xf/kIpCH5lIr3aFYRDCg QbUMpPeqnyXG/gjC9hIdluRfhr7jNkFXzN4493NA4gccnfGn85SGdx4QC3EY18/ZjSN0 +tszbY0nw+9zfZSpJyLLBkOiiFx/pgnkU9xZ0m8Cx8i34O+QmQUDwU8LaFapQ+mTo7gJ GV1zxUrb1f6lDf5DFZtXwz7fWtmj4kW/a864kRlrHfTNqo6smdyTQFhETrKPwGk1IIAj NAqA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature:dkim-filter; bh=nqtQQgIghgL7gl2TZAKCsDcSE1QTJXRDcz/iacpzpX0=; b=oKMcfg8+SknRCcxBNgMKSlcRcvKy1UoZ5uoXPgiByzK2Bqy61bKCwoVCNw0DqwA/MP umnoaKloMrvU2uE0ULrIZFHoien1Qp1u9rot+oxvRvGZ/NkIakaT+rhqtSh28cV1izFJ 2CxPI7GVJOzxNAIh4UBp2SLDysyMilZBn7oSIzulmFyaW+w/hoMGgwerL0RJd+6NYVtF dA+F0x/9+7mZJo9m8hpexRN0th/47VgambrBRXhPq5fAryW89rwjV851R3gmZ1/FACnB WaHV5KYe2npoY9j7mTKPk6oSgE1N3vN5lCVKyyDmaaJ5es/CFe3aiLCe2pxUGTuZg3+B WSEA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@nifty.com header.s=dec2015msa header.b=Qq7SGnw8; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id w24si7701216ply.32.2019.03.12.02.49.21; Tue, 12 Mar 2019 02:49:36 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@nifty.com header.s=dec2015msa header.b=Qq7SGnw8; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726502AbfCLJss (ORCPT + 99 others); Tue, 12 Mar 2019 05:48:48 -0400 Received: from conssluserg-06.nifty.com ([210.131.2.91]:19450 "EHLO conssluserg-06.nifty.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725917AbfCLJso (ORCPT ); Tue, 12 Mar 2019 05:48:44 -0400 Received: from mail-vs1-f51.google.com (mail-vs1-f51.google.com [209.85.217.51]) (authenticated) by conssluserg-06.nifty.com with ESMTP id x2C9mUUN012713 for ; Tue, 12 Mar 2019 18:48:30 +0900 DKIM-Filter: OpenDKIM Filter v2.10.3 conssluserg-06.nifty.com x2C9mUUN012713 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nifty.com; s=dec2015msa; t=1552384110; bh=nqtQQgIghgL7gl2TZAKCsDcSE1QTJXRDcz/iacpzpX0=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=Qq7SGnw88xOAec5aXk7NSpDNrpJRUVpu9+fMQKCLfsJtrOIl6duasWgnomSCdEV3c jhZYl85UgC40dH7ZWIZrLe1wJsJZfK8o7oku9oq/NqWlM7Hhsk459/f4hSP4DolnAU yWuNYEXn6WE7LsW3ffwVsTgnfEWeS+MLJ1huO8kLqrpsmeRDYU5M5d0Jn0u5mJN+Hb 9SzSDChp2cWhqOiAbO5vXsK2ShrQ5yJXnvifTk7S8Rt0KPfTUZqJQAxhlf3FsKLs1o iD/o9U7eL6psmNTpwCApC1AGo/NONdapVnHL1aZCYMVdK4n905CcytR0hiBQAjW+P8 SVnEigcy4TMFA== X-Nifty-SrcIP: [209.85.217.51] Received: by mail-vs1-f51.google.com with SMTP id z18so1177812vso.7 for ; Tue, 12 Mar 2019 02:48:30 -0700 (PDT) X-Gm-Message-State: APjAAAWfWXUdAC3gcNzz1edHeoHXZFNuVLueFsVEgYmCRKwl6+7Vay/R 6UzGNvVOTS9HwCnaFvgfpBooQCRqG3UfCP5niDY= X-Received: by 2002:a67:76d1:: with SMTP id r200mr1095129vsc.54.1552384109540; Tue, 12 Mar 2019 02:48:29 -0700 (PDT) MIME-Version: 1.0 References: <1552380290-19951-1-git-send-email-yamada.masahiro@socionext.com> <1552380290-19951-5-git-send-email-yamada.masahiro@socionext.com> <20190312100257.4fa142d1@collabora.com> In-Reply-To: <20190312100257.4fa142d1@collabora.com> From: Masahiro Yamada Date: Tue, 12 Mar 2019 18:47:53 +0900 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH v3 4/9] mtd: rawnand: denali: switch over to ->exec_op() from legacy hooks To: Boris Brezillon Cc: Boris Brezillon , Richard Weinberger , Linux Kernel Mailing List , Marek Vasut , linux-mtd , Miquel Raynal , Brian Norris , David Woodhouse Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Mar 12, 2019 at 6:03 PM Boris Brezillon wrote: > > On Tue, 12 Mar 2019 17:44:45 +0900 > Masahiro Yamada 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. OK, I will add the following helpers. Before sending v4, I will wait for more comments. static void denali_exec_in(struct denali_controller *denali, u32 type, u8 *buf, unsigned int len, bool width16) { if (width16) denali_exec_in16(denali, type, buf, len); else denali_exec_in8(denali, type, buf, len); } static void denali_exec_out(struct denali_controller *denali, u32 type, const u8 *buf, unsigned int len) { if (width16) denali_exec_out16(denali, type, buf, len); else denali_exec_out8(denali, type, buf, len); } > > > + 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/ -- Best Regards Masahiro Yamada