All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
To: dedekind1@gmail.com
Cc: David Woodhouse <dwmw2@infradead.org>, linux-mtd@lists.infradead.org
Subject: Re: [PATCH 01/17] mtd: prepare to convert of_mtd_parse_partitions to partition parser
Date: Thu, 09 Jun 2011 19:08:24 +0400	[thread overview]
Message-ID: <4DF0E1E8.9010307@gmail.com> (raw)
In-Reply-To: <1307631767.7374.111.camel@localhost>

On 09.06.2011 19:02, Artem Bityutskiy wrote:
> On Thu, 2011-06-09 at 18:37 +0400, Dmitry Eremin-Solenikov wrote:
>> On 09.06.2011 18:26, Artem Bityutskiy wrote:
>>> On Thu, 2011-06-09 at 18:22 +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>
>>>> ---
>>>>    drivers/mtd/mtdcore.c          |   19 +++++++++++++++++++
>>>>    drivers/mtd/mtdpart.c          |    8 ++++++--
>>>>    drivers/mtd/ofpart.c           |   30 ++++++++++++++++++++++++++++--
>>>>    include/linux/mtd/mtd.h        |    5 +++++
>>>>    include/linux/mtd/partitions.h |    2 +-
>>>>    5 files changed, 59 insertions(+), 5 deletions(-)
>>>>
>>>> diff --git a/drivers/mtd/mtdcore.c b/drivers/mtd/mtdcore.c
>>>> index 1326747..2d5b865 100644
>>>> --- a/drivers/mtd/mtdcore.c
>>>> +++ b/drivers/mtd/mtdcore.c
>>>> @@ -36,6 +36,7 @@
>>>>    #include<linux/idr.h>
>>>>    #include<linux/backing-dev.h>
>>>>    #include<linux/gfp.h>
>>>> +#include<linux/of.h>
>>>>
>>>>    #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
>>>
>>> These ifdefs are not very nice, do you have ideas how to avoid them?
>>> Ideally, mtdcore should not know or bother about OF things. All
>>> OF-specific things should be done in ofpart.c...
>>
>> I know they aren't nice. OTOH ofpart.c also seems a bit non-logical: one
>> can have of node in the MTD, but doesn't (strangely) want to compile in
>> ofpart.c. Of course I can add separate small of-handling functions (to
>> do OF handling) to mtdcore.c to be replaced by empty functions in the
>> absence of CONFIG_OF, but this also look like overhead for me.
>
> How about turning the "origin" argument into "void *private" and
> declaring that this is "parser-specific info". It then can become
> "origin" for the RedBoot parser and the OF node pointer for the ofpart
> parser?

And what will happen when ixp4xx (the only user of redboot "exception") 
will get OF support?

-- 
With best wishes
Dmitry

  reply	other threads:[~2011-06-09 15:08 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-06-09 14:22 [PATCH 00/17] mtd: last pile of MTD partition cleanup patches Dmitry Eremin-Solenikov
2011-06-09 14:22 ` [PATCH 01/17] mtd: prepare to convert of_mtd_parse_partitions to partition parser Dmitry Eremin-Solenikov
2011-06-09 14:26   ` Artem Bityutskiy
2011-06-09 14:37     ` Dmitry Eremin-Solenikov
2011-06-09 15:02       ` Artem Bityutskiy
2011-06-09 15:08         ` Dmitry Eremin-Solenikov [this message]
2011-06-09 15:17           ` Artem Bityutskiy
2011-06-09 15:20             ` Artem Bityutskiy
2011-06-09 15:25       ` Artem Bityutskiy
2011-06-09 14:22 ` [PATCH 02/17] mtd: physmap_of: use ofpart through generic parsing Dmitry Eremin-Solenikov
2011-06-09 14:22 ` [PATCH 03/17] mtd: m25p80: " Dmitry Eremin-Solenikov
2011-06-09 14:22 ` [PATCH 04/17] mtd: fsl_elbc_nand: " Dmitry Eremin-Solenikov
2011-06-09 14:22 ` [PATCH 05/17] mtd: fsl_upm: " Dmitry Eremin-Solenikov
2011-06-09 14:22 ` [PATCH 06/17] mtd: mpc5121_nfc: " Dmitry Eremin-Solenikov
2011-06-09 14:22 ` [PATCH 07/17] mtd: ndfc: " Dmitry Eremin-Solenikov
2011-06-09 14:22 ` [PATCH 08/17] mtd: socrates_nand: " Dmitry Eremin-Solenikov
2011-06-09 14:22 ` [PATCH 09/17] mtd: drop of_mtd_parse_partitions() Dmitry Eremin-Solenikov
2011-06-09 14:22 ` [PATCH 10/17] physmap_of: move parse_obsolete_partitions to become separate parser Dmitry Eremin-Solenikov
2011-06-09 14:23 ` [PATCH 11/17] mtd: m25p80.c: use mtd_device_parse_register Dmitry Eremin-Solenikov
2011-06-09 14:23 ` [PATCH 11/17] mtd: physmap_of.c: " Dmitry Eremin-Solenikov
2011-06-09 14:23 ` [PATCH 12/17] mtd: m25p80.c: " Dmitry Eremin-Solenikov
2011-06-09 14:23 ` [PATCH 12/17] mtd: physmap_of.c: " Dmitry Eremin-Solenikov
2011-06-09 14:23 ` [PATCH 13/17] mtd: fsl_elbc_nand.c: " Dmitry Eremin-Solenikov
2011-06-09 14:23 ` [PATCH 14/17] mtd: fsl_upm.c: " Dmitry Eremin-Solenikov
2011-06-09 14:23 ` [PATCH 15/17] mtd: mpc5121_nfc.c: " Dmitry Eremin-Solenikov
2011-06-09 14:23 ` [PATCH 16/17] mtd: ndfc.c: " Dmitry Eremin-Solenikov
2011-06-09 14:23 ` [PATCH 17/17] mtd: socrates_nand.c: " Dmitry Eremin-Solenikov

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=4DF0E1E8.9010307@gmail.com \
    --to=dbaryshkov@gmail.com \
    --cc=dedekind1@gmail.com \
    --cc=dwmw2@infradead.org \
    --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 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.