linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: linux@roeck-us.net (Guenter Roeck)
To: linux-arm-kernel@lists.infradead.org
Subject: arm qemu test failures due to 'driver-core: platform: probe of-devices only using list of compatibles'
Date: Sun, 14 Feb 2016 13:08:42 -0800	[thread overview]
Message-ID: <56C0ECDA.1000203@roeck-us.net> (raw)
In-Reply-To: <20160214195501.GA12289@pengutronix.de>

On 02/14/2016 11:55 AM, Uwe Kleine-K?nig wrote:
> [adding lakml and rmk to Cc]
>
> Hello Guenter,
>
> On Sun, Feb 14, 2016 at 08:50:10AM -0800, Guenter Roeck wrote:
>> Uwe,
>>
>> Your patch 'driver-core: platform: probe of-devices only using list of
>> compatibles' causes the following qemu tests to crash in -next.
>>
>> arm:vexpress-a9:vexpress_defconfig:vexpress-v2p-ca9
>> arm:vexpress-a15:vexpress_defconfig:vexpress-v2p-ca15-tc1
>> arm:vexpress-a9:multi_v7_defconfig:vexpress-v2p-ca9
>> arm:vexpress-a15:multi_v7_defconfig:vexpress-v2p-ca15-tc1
>>
>> Crash log:
>>
>> VFS: Cannot open root device "mmcblk0" or unknown-block(0,0): error -6
>> Please append a correct "root=" boot option; here are the available partitions:
>> 1f00          131072 mtdblock0  (driver?)
>> 1f01           32768 mtdblock1  (driver?)
>> Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
>>
>> ie the mmc driver no longer instantiates. Reverting the patch fixes the problem.
>
> The driver is drivers/mmc/host/mmci.c, right? and the relevant device
> tree snippet is:
>
> 	mmci at 05000 {
> 		compatible = "arm,pl180", "arm,primecell";
> 		...
> 	};
>

Yes, I think so, or one of the many other similar mmc entries.

> ? So the unexpected abnormality here is that even though this device is
> instantiated by dt, the driver doesn't provide any compatibles.
> Either my expectation is wrong, then 67d02a1bbb33455 should be reverted
> (or handle this case in a different way), or the mmci driver should
> declare compatibles (but then it needs to be a platform driver and not
> an amba driver?).
>

No idea what the correct solution would be. I do see

         if (of_device_is_compatible(bus, "arm,primecell")) {
                 /*
                  * Don't return an error here to keep compatibility with older
                  * device tree files.
                  */
                 of_amba_device_create(bus, bus_id, platform_data, parent);
                 return 0;
         }

in drivers/of/platform.c, which suggests some special handling for amba
devices. No idea if and how that is related, but I do have some concern
that fixing the problem for mmc alone might not fix it for all the other
devices instantiated with "arm,primecell". After all, my boot tests are
really rudimentary (it boots, therefore it works).

Thanks,
Guenter

  parent reply	other threads:[~2016-02-14 21:08 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20160214165010.GA3189@roeck-us.net>
2016-02-14 19:55 ` arm qemu test failures due to 'driver-core: platform: probe of-devices only using list of compatibles' Uwe Kleine-König
2016-02-14 20:07   ` Russell King - ARM Linux
2016-02-15  8:17     ` Uwe Kleine-König
2016-02-15  8:58       ` Russell King - ARM Linux
2016-02-15  9:14         ` Uwe Kleine-König
2016-02-15 10:04           ` Russell King - ARM Linux
2016-02-15 10:10             ` Uwe Kleine-König
2016-02-15 10:13               ` Russell King - ARM Linux
2016-02-14 21:08   ` Guenter Roeck [this message]
2016-02-15  7:48     ` Uwe Kleine-König
2016-02-15 10:59 ` Uwe Kleine-König
2016-02-15 13:11   ` Robin Murphy
2016-02-15 14:43     ` Russell King - ARM Linux
2016-02-15 16:27       ` Uwe Kleine-König
2016-02-15 16:49         ` Greg Kroah-Hartman
2016-02-15 17:12           ` Uwe Kleine-König
2016-02-15 21:03             ` Greg Kroah-Hartman
2016-02-15 15:41   ` Guenter Roeck
2016-02-15 16:12     ` Russell King - ARM Linux
2016-02-15 17:00     ` Uwe Kleine-König
2016-02-15 18:12       ` Guenter Roeck
2016-02-15 18:39         ` Sudeep Holla
2016-02-15 17:41     ` Sudeep Holla
2016-02-15 18:03       ` Russell King - ARM Linux
2016-02-15 18:15         ` Sudeep Holla

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=56C0ECDA.1000203@roeck-us.net \
    --to=linux@roeck-us.net \
    --cc=linux-arm-kernel@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).