From: Alexander Aring <alex.aring@gmail.com>
To: Sascha Hauer <s.hauer@pengutronix.de>
Cc: barebox@lists.infradead.org
Subject: Re: [PATCH 1/8] mtd: Simplify partitions
Date: Thu, 13 Feb 2014 12:08:58 +0100 [thread overview]
Message-ID: <20140213110856.GA8468@x61s.campuswlan.hs-rm.de> (raw)
In-Reply-To: <1392287135-445-1-git-send-email-s.hauer@pengutronix.de>
Hi Sascha,
only some small nitpicks.
On Thu, Feb 13, 2014 at 11:25:28AM +0100, Sascha Hauer wrote:
> Embed the partition information in struct mtd_info. This makes the
> mtd partition code simpler.
>
> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
> ---
> drivers/mtd/partition.c | 75 ++++++++++++++++++++-----------------------------
> include/linux/mtd/mtd.h | 5 +++-
> 2 files changed, 34 insertions(+), 46 deletions(-)
>
> diff --git a/drivers/mtd/partition.c b/drivers/mtd/partition.c
> index 85f486d..7431fc1 100644
> --- a/drivers/mtd/partition.c
> +++ b/drivers/mtd/partition.c
> @@ -4,29 +4,19 @@
> #include <linux/err.h>
> #include <linux/mtd/mtd.h>
>
...
> + struct mtd_info *part;
> int start = 0, end = 0, i;
>
> - slave = xzalloc(sizeof(*slave));
> - slave_mtd = &slave->mtd;
> + part = xzalloc(sizeof(*part));
>
> - memcpy(slave_mtd, mtd, sizeof(*slave));
> + memcpy(part, mtd, sizeof(*part));
Maybe we should fixup this commit with patch:
[PATCH 6/8] mtd: partition: only copy selected fields to partition
>
> /*
> * find the number of eraseregions the partition includes.
> @@ -118,26 +101,28 @@ struct mtd_info *mtd_add_partition(struct mtd_info *mtd, off_t offset, size_t si
> end = i;
> }
>
> - slave_mtd->numeraseregions = end - start;
> + part->numeraseregions = end - start;
>
> - slave_mtd->read = mtd_part_read;
> - slave_mtd->write = mtd_part_write;
> - slave_mtd->erase = mtd_part_erase;
> - slave_mtd->block_isbad = mtd->block_isbad ? mtd_part_block_isbad : NULL;
> - slave_mtd->block_markbad = mtd->block_markbad ? mtd_part_block_markbad : NULL;
> - slave_mtd->size = size;
> - slave_mtd->name = strdup(name);
> + part->read = mtd_part_read;
> + part->write = mtd_part_write;
> + part->erase = mtd_part_erase;
> + part->block_isbad = mtd->block_isbad ? mtd_part_block_isbad : NULL;
> + part->block_markbad = mtd->block_markbad ? mtd_part_block_markbad : NULL;
> + part->size = size;
> + part->name = strdup(name);
>
> - slave->offset = offset;
> - slave->master = mtd;
> + part->master_offset = offset;
> + part->master = mtd;
>
> - return slave_mtd;
> + return part;
> }
>
> -void mtd_del_partition(struct mtd_info *mtd)
> +int mtd_del_partition(struct mtd_info *part)
> {
> - struct mtd_part *part = PART(mtd);
> + if (!part->master)
> + return -EINVAL;
>
> - free(mtd->name);
I think this should be free(part->name);
...
Yea I know it's only a bootloader but I can't stop to say something to
this. :-(
> free(part);
> +
> + return 0;
> }
> diff --git a/include/linux/mtd/mtd.h b/include/linux/mtd/mtd.h
> index 402e497..347443b 100644
> --- a/include/linux/mtd/mtd.h
> +++ b/include/linux/mtd/mtd.h
> @@ -217,6 +217,9 @@ struct mtd_info {
> /* If true erasing bad blocks is allowed, this is set via a device parameter */
> bool allow_erasebad;
> int p_allow_erasebad;
> +
> + struct mtd_info *master;
> + uint64_t master_offset;
Currently we have only u_int32_t like for total mtd size. Do you
plan a support for mtd devices which a greater than 4GB? :-)
- Alex
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
next prev parent reply other threads:[~2014-02-13 10:58 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-02-13 10:25 Sascha Hauer
2014-02-13 10:25 ` [PATCH 2/8] device: init bus list Sascha Hauer
2014-02-13 10:25 ` [PATCH 3/8] device: remove parameters when unregistering a device Sascha Hauer
2014-02-13 10:25 ` [PATCH 4/8] mtd: erase_info may be modified in mtd_erase Sascha Hauer
2014-02-13 10:25 ` [PATCH 5/8] mtd: Only call of_parse_partitions when the mtd has a parent Sascha Hauer
2014-02-13 10:25 ` [PATCH 6/8] mtd: partition: only copy selected fields to partition Sascha Hauer
2014-02-13 10:25 ` [PATCH 7/8] mtd: register mtd partitions as real mtd devices Sascha Hauer
2014-02-13 10:25 ` [PATCH 8/8] ubi: register ubi devices and volumes as devices Sascha Hauer
2014-02-13 11:08 ` Alexander Aring [this message]
2014-02-13 13:34 ` [PATCH 1/8] mtd: Simplify partitions Sascha Hauer
2014-02-13 14:01 ` Alexander Aring
2014-02-13 18:45 ` Sascha Hauer
2014-02-13 19:05 ` Alexander Aring
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=20140213110856.GA8468@x61s.campuswlan.hs-rm.de \
--to=alex.aring@gmail.com \
--cc=barebox@lists.infradead.org \
--cc=s.hauer@pengutronix.de \
/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: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox