From: "Kay Sievers" <kay.sievers@vrfy.org>
To: linux-hotplug@vger.kernel.org
Subject: Re: How to write rules for mtd based devices
Date: Mon, 03 Nov 2008 13:18:41 +0000 [thread overview]
Message-ID: <ac3eb2510811030518v3f3ff97awde36dda044ea7fd5@mail.gmail.com> (raw)
In-Reply-To: <200811031112.06061.jbe@pengutronix.de>
On Mon, Nov 3, 2008 at 12:12, Juergen Beisert <jbe@pengutronix.de> wrote:
> On Montag, 3. November 2008, Kay Sievers wrote:
>> On Mon, Nov 3, 2008 at 11:12, Juergen Beisert <jbe@pengutronix.de> wrote:
>> > has anybody an idea how to write some rules to match devices from the mtd
>> > framework?
...
>> Seems, there is not much you can do with the current information it
>> exposes. What is the hardware behind these mtd devices? Are these
>> devices show up somewhere in /sys/devices/, maybe as platform devices?
>> Then we could try to make the kernel use these as parents for the
>> block devices, so the block devices would not be "virtual".
>
> MTDs are simple memory devices. Flash (NOR or NAND type) and SRAM for example.
> They are connected through a simple address/data bus, some also via SPI
> interface. About each of these devices the kernel knows at least the
> manufacturer and the device name (for flash memory this info can be
> autodetected). For the other types mostly a platform structure provides this
> information. On my ARM (i.MX27 CPU) tree types of memory is available:
>
> SRAM:
> /sys/bus/platform/devices/mtd-ram.0
>
> NAND-flash:
> /sys/bus/platform/devices/mxc_nand.0
>
> NOR-flash:
> /sys/bus/platform/devices/physmap-flash.0
>
> Currently the NOR flash is using three partitions so I get:
>
> $ ls -l /dev/mtd*
> crw-rw---- 1 root root 90, 0 Jan 1 00:00 /dev/mtd0
> crw-rw---- 1 root root 90, 1 Jan 1 00:00 /dev/mtd0ro
> crw-rw---- 1 root root 90, 2 Jan 1 00:00 /dev/mtd1
> crw-rw---- 1 root root 90, 3 Jan 1 00:00 /dev/mtd1ro
> crw-rw---- 1 root root 90, 4 Jan 1 00:00 /dev/mtd2
> crw-rw---- 1 root root 90, 5 Jan 1 00:00 /dev/mtd2ro
> crw-rw---- 1 root root 90, 6 Jan 1 00:00 /dev/mtd3
> crw-rw---- 1 root root 90, 7 Jan 1 00:00 /dev/mtd3ro
> crw-rw---- 1 root root 90, 8 Jan 1 00:00 /dev/mtd4
> crw-rw---- 1 root root 90, 9 Jan 1 00:00 /dev/mtd4ro
> crw-rw---- 1 root root 90, 10 Jan 1 00:00 /dev/mtd5
> crw-rw---- 1 root root 90, 11 Jan 1 00:00 /dev/mtd5ro
> brw-rw---- 1 root root 31, 0 Jan 1 00:00 /dev/mtdblock0
> brw-rw---- 1 root root 31, 1 Jan 1 00:00 /dev/mtdblock1
> brw-rw---- 1 root root 31, 2 Jan 1 00:00 /dev/mtdblock2
> brw-rw---- 1 root root 31, 3 Jan 1 00:00 /dev/mtdblock3
> brw-rw---- 1 root root 31, 4 Jan 1 00:00 /dev/mtdblock4
> brw-rw---- 1 root root 31, 5 Jan 1 00:00 /dev/mtdblock5
>
> mtd*0 ... mtd*3 are the three partitions on the NOR flash (its also the memory
> to boot from), mtd*4 is the NAND memory, mtd*5 is the SRAM. All I want is to
> detect the NAND and the SRAM to create special links or node names for these
> devices to be independent from the partition count of the NOR memory and the
> changing device node numbers when this count changes.
It is something that should be changed in mtd. NAND for example
registers the device in drivers/mtd/nand/mxc_nand.c. Before that, it
has handled the platform device *pdev.
We would need to pass the pdev down to the mtd core and set "struct
gendisk->driverfs_dev" to &pdev->dev, and the NAND mtd devices would
show up with a device path like:
/sys/devices/platform/mxc_nand.0/blockmtdblock4
With these devices as parents, you can match on any property or device
name with usual udev rules.
Kay
next prev parent reply other threads:[~2008-11-03 13:18 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-11-03 10:12 How to write rules for mtd based devices Juergen Beisert
2008-11-03 10:27 ` Kay Sievers
2008-11-03 11:12 ` Juergen Beisert
2008-11-03 13:18 ` Kay Sievers [this message]
2008-11-03 13:21 ` Kay Sievers
2008-11-03 13:39 ` Juergen Beisert
2008-11-03 14:11 ` Kay Sievers
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=ac3eb2510811030518v3f3ff97awde36dda044ea7fd5@mail.gmail.com \
--to=kay.sievers@vrfy.org \
--cc=linux-hotplug@vger.kernel.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).