From: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
To: dedekind1@gmail.com
Cc: linux-mtd@lists.infradead.org
Subject: Re: [PATCH 041/104] mtd: prepare to convert of_mtd_parse_partitions to partition parser
Date: Mon, 06 Jun 2011 12:15:01 +0400 [thread overview]
Message-ID: <4DEC8C85.6090904@gmail.com> (raw)
In-Reply-To: <1307347054.3135.28.camel@localhost>
On 06.06.2011 11:57, Artem Bityutskiy wrote:
> On Thu, 2011-06-02 at 18:51 +0400, Dmitry Eremin-Solenikov wrote:
>> Prepare to convert of_mtd_parse_partitions() to usual partitions parser:
>> 1) Register ofpart parser
>> 2) Internally don't use passed device for error printing
>> 3) Add device_node to mtd_info struct
>> 4) Move of_mtd_parse_partitions from __devinit to common text section
>> 5) add ofpart to the default list of partition parsers
>>
>> Signed-off-by: Dmitry Eremin-Solenikov<dbaryshkov@gmail.com>
>
> Good idea, but
>
>> #include<linux/mtd/mtd.h>
>> #include<linux/mtd/partitions.h>
>> @@ -446,6 +447,10 @@ int mtd_device_register(struct mtd_info *master,
>> const struct mtd_partition *parts,
>> int nr_parts)
>> {
>> +#ifdef CONFIG_OF
>> + if (master->node)
>> + of_node_get(master->node);
>> +#endif
>
> Could all the OF-specific things be done in the ofpart.c ?
Answering both of your questions here:
My idea is to have an of node connected to mtd device, if there is any.
It can be used by ofpart.c, ofoldpart.c (extract from physmap_of),
maybe some other parsers/drivers/etc.
The field is populated by the creator of mtd_info. Then the function
dedicated to registration of the mtd should get the node and other
functions can just use it. Maybe this should be moved to add_mtd_device,
but this shouldn't be handled in ofpart.c
Another way can be to populate ->node pointer before parsing,
then drop it at the end of parsing/registration. Thus we won't have to
handle getting/putting the of node, but it won't be available during
mtd lifecycle.
>> --- a/include/linux/mtd/mtd.h
>> +++ b/include/linux/mtd/mtd.h
>> @@ -171,6 +171,9 @@ struct mtd_info {
>> // Kernel-only stuff starts here.
>> const char *name;
>> int index;
>> +#ifdef CONFIG_OF
>> + struct device_node *node;
>> +#endif
>
> And designe-wise this does not look like a good idea to have such fields
> in mtd_info ... Who initializes this "node" field?
>
--
With best wishes
Dmitry
next prev parent reply other threads:[~2011-06-06 8:15 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-06-02 14:51 [RFC PATCH 000/104] mtd: cleanup partition parsing interface Dmitry Eremin-Solenikov
2011-06-02 14:51 ` [PATCH 004/104] mtd: drop physmap_configure Dmitry Eremin-Solenikov
2011-06-02 14:51 ` [PATCH 005/104] mtd: cafe_nand: drop reference to CONFIG_MTD_CMDLINE_PARTS Dmitry Eremin-Solenikov
2011-06-02 14:51 ` [PATCH 006/104] mtdpart: default to cmdlinepart, NULL partitions probing Dmitry Eremin-Solenikov
2011-06-06 7:14 ` Artem Bityutskiy
2011-06-02 14:51 ` [PATCH 007/104] mtd: m25p80 don't specify default parsing options Dmitry Eremin-Solenikov
2011-06-06 7:20 ` Artem Bityutskiy
2011-06-02 14:51 ` [PATCH 040/104] mtd: drop mtd_has_cmdlinepart() Dmitry Eremin-Solenikov
2011-06-06 7:23 ` Artem Bityutskiy
2011-06-02 14:51 ` [PATCH 041/104] mtd: prepare to convert of_mtd_parse_partitions to partition parser Dmitry Eremin-Solenikov
2011-06-06 7:57 ` Artem Bityutskiy
2011-06-06 8:15 ` Dmitry Eremin-Solenikov [this message]
2011-06-06 8:19 ` Artem Bityutskiy
2011-06-06 10:10 ` Dmitry Eremin-Solenikov
2011-06-06 8:05 ` Artem Bityutskiy
2011-06-06 9:21 ` Dmitry Eremin-Solenikov
2011-06-02 14:51 ` [PATCH 042/104] mtd: m25p80: use ofpart through generic parsing Dmitry Eremin-Solenikov
2011-06-02 14:51 ` [PATCH 043/104] mtd: physmap_of: " Dmitry Eremin-Solenikov
2011-06-02 14:51 ` [PATCH 044/104] mtd: fsl_elbc_nand: " Dmitry Eremin-Solenikov
2011-06-02 14:51 ` [PATCH 045/104] mtd: fsl_upm: " Dmitry Eremin-Solenikov
2011-06-02 14:51 ` [PATCH 046/104] mtd: mpc5121_nfc: " Dmitry Eremin-Solenikov
2011-06-02 14:51 ` [PATCH 047/104] mtd: ndfc: " Dmitry Eremin-Solenikov
2011-06-02 14:51 ` [PATCH 048/104] mtd: socrates_nand: " Dmitry Eremin-Solenikov
2011-06-02 14:51 ` [PATCH 049/104] mtd: drop of_mtd_parse_partitions() Dmitry Eremin-Solenikov
2011-06-02 14:51 ` [PATCH 050/104] physmap_of: separate parse_obsolete_partitions to separate parser Dmitry Eremin-Solenikov
2011-06-06 8:02 ` Artem Bityutskiy
2011-06-06 8:09 ` Dmitry Eremin-Solenikov
2011-06-06 8:11 ` Artem Bityutskiy
2011-06-06 8:13 ` Artem Bityutskiy
2011-06-06 8:24 ` Dmitry Eremin-Solenikov
2011-06-02 14:51 ` [PATCH 051/104] mtd: add a flags for partitions which should just leave smth. after them Dmitry Eremin-Solenikov
2011-06-02 14:51 ` [PATCH 052/104] ts72xx: use MTDPART_OFS_RETAIN for mtd partitioning Dmitry Eremin-Solenikov
2011-06-02 14:51 ` [PATCH 053/104] mtd: plat-nand: drop unused fields from platform_nand_data Dmitry Eremin-Solenikov
2011-06-02 14:51 ` [PATCH 054/104] mtd: add new API for handling MTD registration Dmitry Eremin-Solenikov
2011-06-02 14:51 ` [PATCH 055/104] mtd: lart.c: use mtd_device_parse_register Dmitry Eremin-Solenikov
2011-06-03 15:55 ` [RFC PATCH 000/104] mtd: cleanup partition parsing interface Artem Bityutskiy
2011-06-04 8:25 ` Dmitry Eremin-Solenikov
2011-06-06 7:04 ` Artem Bityutskiy
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=4DEC8C85.6090904@gmail.com \
--to=dbaryshkov@gmail.com \
--cc=dedekind1@gmail.com \
--cc=linux-mtd@lists.infradead.org \
/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