Re: [PATCH v4 10/15] mtd: nand: move Micron specific init logic in nand_micron.c

From: Boris Brezillon
Date: Wed Jan 04 2017 - 12:16:59 EST


On Wed, 4 Jan 2017 16:15:46 +0100
Marek Vasut <marek.vasut@xxxxxxxxx> wrote:

> On 01/03/2017 02:01 PM, Boris Brezillon wrote:
> > Move Micron specific initialization logic into nand_micron.c. This is
> > part of the "separate vendor specific code from core" cleanup process.
> >
> > Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx>
>
> [...]
>
> > diff --git a/drivers/mtd/nand/nand_micron.c b/drivers/mtd/nand/nand_micron.c
> > new file mode 100644
> > index 000000000000..ddb9adf12c21
> > --- /dev/null
> > +++ b/drivers/mtd/nand/nand_micron.c
> > @@ -0,0 +1,83 @@
> > +/*
> > + * Copyright (C) 2013 Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx>
>
> 2013-2017 ?

2017, indeed.

>
> > + * This program is free software; you can redistribute it and/or modify
> > + * it under the terms of the GNU General Public License as published by
> > + * the Free Software Foundation; either version 2 of the License, or
> > + * (at your option) any later version.
> > + *
> > + * This program is distributed in the hope that it will be useful,
> > + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> > + * GNU General Public License for more details.
> > + */
> > +
> > +#include <linux/mtd/nand.h>
> > +
> > +struct nand_onfi_vendor_micron {
> > + u8 two_plane_read;
> > + u8 read_cache;
> > + u8 read_unique_id;
> > + u8 dq_imped;
> > + u8 dq_imped_num_settings;
> > + u8 dq_imped_feat_addr;
> > + u8 rb_pulldown_strength;
> > + u8 rb_pulldown_strength_feat_addr;
> > + u8 rb_pulldown_strength_num_settings;
> > + u8 otp_mode;
> > + u8 otp_page_start;
> > + u8 otp_data_prot_addr;
> > + u8 otp_num_pages;
> > + u8 otp_feat_addr;
> > + u8 read_retry_options;
> > + u8 reserved[72];
> > + u8 param_revision;
> > +} __packed;
>
> Is this __packed really needed?
>

I'm just copying an existing structure. And yes, it's probably unneeded
since all fields are u8, and the struct size in a multiple of 8 bytes,
but it shouldn't hurt either.