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 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.