From: Artem Bityutskiy <dedekind1@gmail.com>
To: Brian Norris <computersforpeace@gmail.com>
Cc: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>,
David Woodhouse <dwmw2@infradead.org>,
linux-mtd@lists.infradead.org,
Igor Grinberg <grinberg@compulab.co.il>
Subject: Re: [PATCH v2 2/4] mtd: nand: convert printk() to pr_*()
Date: Thu, 07 Jul 2011 09:58:07 +0300 [thread overview]
Message-ID: <1310021892.3149.121.camel@sauron> (raw)
In-Reply-To: <CAN8TOE_DOEUoqOnoX4D3KQz07C43ktJzSL+xuJgvCkDqrWAoPw@mail.gmail.com>
On Wed, 2011-07-06 at 11:51 -0700, Brian Norris wrote:
> On Wed, Jun 22, 2011 at 2:12 AM, Dmitry Eremin-Solenikov
> <dbaryshkov@gmail.com> wrote:
> > Artem Bityutskiy wrote:
> >
> >> On Mon, 2011-06-13 at 11:24 -0700, Brian Norris wrote:
> >>> I'm a little new to the Linux device model, so I'm not sure if it's
> >>> safe and sensible to add lines to a driver's nand_probe function,
> >>> like, for plat_nand.c:
> >>> data->mtd.dev.driver = pdev->dev.driver;
> >
> > IIUC, we should not set driver, but it might be better to consult with
> > more experienced DM hackers (like Greg Kroah-Hartman).
> >
> >>> data->mtd.dev.init_name = dev_name(&pdev->dev);
> >>
> >> I think so, I believe struct device was added to mtd by some non-MTD guy
> >> to just make it complaint with one of interface changes which required
> >> struct device. So please, go ahead and improve that a bit.
>
> I've dug a little more on this, especially in the RFC + mailing list
> conversation that led to adding the "mtd_info.dev" field. See here:
> http://lists.infradead.org/pipermail/linux-mtd/2009-April/025142.html
>
> It seems that, according to the following comment, the master MTD node
> (which is passed to most of our functions) is never registered and so
> does not have valid information for printing dev_* information:
> /* NOTE: we don't arrange MTDs as a tree; it'd be error-prone
> * to have the same data be in two different partitions.
> */
Sorry, I still don't get it, why mtd partitions do not have names. The
discussion above is about who will be the parent, while we care about
making dev_dbg(mtd->dev, ...) print names.
if we look at 'add_mtd_device()' in mtdcore.c, we see something like
full initialization:
/* Caller should have set dev.parent to match the
* physical device.
*/
mtd->dev.type = &mtd_devtype;
mtd->dev.class = &mtd_class;
mtd->dev.devt = MTD_DEVT(i);
dev_set_name(&mtd->dev, "mtd%d", i);
dev_set_drvdata(&mtd->dev, mtd);
if (device_register(&mtd->dev) != 0)
goto fail_added;
if (MTD_DEVT(i))
device_create(&mtd_class, mtd->dev.parent,
MTD_DEVT(i) + 1,
NULL, "mtd%dro", i);
And if we look at 'mtd_add_partition()', we see that 'add_mtd_device()'
is also called, so mtd->dev should be initialized.
What exactly is the problem?
--
Best Regards,
Artem Bityutskiy
next prev parent reply other threads:[~2011-07-07 6:57 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-06-07 23:01 [PATCH 0/4] debug, printk cleanup Brian Norris
2011-06-07 23:01 ` [PATCH 1/4] mtd: remove printk's for [kv][mz]alloc failures Brian Norris
2011-06-08 14:27 ` Artem Bityutskiy
2011-06-07 23:01 ` [PATCH 2/4] mtd: nand: convert printk() to pr_*() Brian Norris
2011-06-08 14:43 ` Artem Bityutskiy
2011-06-08 18:25 ` [PATCH v2 " Brian Norris
2011-06-09 6:40 ` Artem Bityutskiy
2011-06-09 6:53 ` Artem Bityutskiy
2011-06-09 6:59 ` Artem Bityutskiy
2011-06-09 7:44 ` Artem Bityutskiy
2011-06-09 16:00 ` Brian Norris
2011-06-09 16:03 ` Artem Bityutskiy
2011-06-13 18:24 ` Brian Norris
2011-06-22 4:40 ` Artem Bityutskiy
2011-06-22 9:12 ` Dmitry Eremin-Solenikov
2011-07-06 18:51 ` Brian Norris
2011-07-06 19:12 ` Brian Norris
2011-07-06 19:47 ` Dmitry Eremin-Solenikov
2011-07-06 19:59 ` Brian Norris
2011-07-07 6:58 ` Artem Bityutskiy [this message]
2011-07-07 17:00 ` Brian Norris
2011-07-07 19:56 ` Artem Bityutskiy
2011-07-08 16:06 ` Brian Norris
2011-07-20 3:59 ` Artem Bityutskiy
2011-07-07 7:01 ` Artem Bityutskiy
2011-07-07 17:01 ` Brian Norris
2011-06-09 8:13 ` Artem Bityutskiy
2011-06-09 16:22 ` Brian Norris
2011-06-10 18:25 ` Brian Norris
2011-06-07 23:01 ` [PATCH 3/4] mtd: nand: replace DEBUG() with dev_dbg() Brian Norris
2011-06-08 14:44 ` Artem Bityutskiy
2011-06-08 18:27 ` [PATCH v2 " Brian Norris
2011-06-09 6:46 ` Artem Bityutskiy
2011-06-07 23:01 ` [PATCH 4/4] mtd: nand: define pr_fmt() to include __func__ in debug output Brian Norris
2011-06-08 14:47 ` Artem Bityutskiy
2011-06-08 18:23 ` Brian Norris
2011-06-08 18:28 ` [PATCH v2 " Brian Norris
2011-06-09 7:10 ` Artem Bityutskiy
2011-06-08 19:03 ` [PATCH " Mike Frysinger
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=1310021892.3149.121.camel@sauron \
--to=dedekind1@gmail.com \
--cc=computersforpeace@gmail.com \
--cc=dbaryshkov@gmail.com \
--cc=dwmw2@infradead.org \
--cc=grinberg@compulab.co.il \
--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;
as well as URLs for NNTP newsgroup(s).