From: Guenter Roeck <linux@roeck-us•net>
To: "Uwe Kleine-König" <u.kleine-koenig@pengutronix•de>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation•org>,
linux-next@vger•kernel.org, linux-kernel@vger•kernel.org,
linux-arm-kernel@lists•infradead.org
Subject: Re: arm qemu test failures due to 'driver-core: platform: probe of-devices only using list of compatibles'
Date: Mon, 15 Feb 2016 10:12:40 -0800 [thread overview]
Message-ID: <56C21518.5030606@roeck-us.net> (raw)
In-Reply-To: <20160215170025.GJ12289@pengutronix.de>
On 02/15/2016 09:00 AM, Uwe Kleine-König wrote:
> On Mon, Feb 15, 2016 at 07:41:19AM -0800, Guenter Roeck wrote:
>> On 02/15/2016 02:59 AM, Uwe Kleine-König wrote:
>>> 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)
>>>
>>> Can you provide a complete boot log? This might already reveal which
>>> device is failing. It might not be the mmci device but something it
>>> depends on (clock, bus parent, irq).
>>>
>>
>> Sure, something else may be failing, but why does reverting your patch
>> fix the problem ?
>
> Well, my patch made matching of platform devices to platform drivers
> more strict. Your machine relies on the respective binding though. So of
> course reverting my patch "repairs" your machine, but that doesn't
> necessarily mean that my patch is wrong. Even though I'm convinced in
> the meantime by Russell that there are false positives it doesn't
> necessarily imply that your case is such a false positive, too.
>
> One example of a combination of driver + device I intended to break with
> my patch was drivers/mtd/nand/mxc_nand.c and devices that got bound to
> that by name. The driver does:
>
> const struct of_device_id *of_id =
> of_match_device(mxcnd_dt_ids, host->dev);
>
> and doesn't handle of_id being NULL after that. Some people argued (also
> for other drivers in similar situations) that this cannot happen because
> all compatibles had a non-NULL device_id. That is an error that is easy
> to make and so the idea was to just not bind in such a case and safe the
> user from the surprise.
>
I added some debugging on top of your patch, and get:
platform basic-mmio-gpio.1.auto: Device node exists [/smb/motherboard/iofpga@7,00000000/sysreg@00000/sys_led@08], of_driver_match_device() failed
platform basic-mmio-gpio.1.auto: platform_match_id() succeeded
platform basic-mmio-gpio.2.auto: Device node exists [/smb/motherboard/iofpga@7,00000000/sysreg@00000/sys_mci@48], of_driver_match_device() failed
platform basic-mmio-gpio.2.auto: platform_match_id() succeeded
platform basic-mmio-gpio.3.auto: Device node exists [/smb/motherboard/iofpga@7,00000000/sysreg@00000/sys_flash@4c], of_driver_match_device() failed
platform basic-mmio-gpio.3.auto: platform_match_id() succeeded
So it isn't the mmc driver failing to instantiate directly,
but (I think) vexpress-sysreg.
Guenter
next prev parent reply other threads:[~2016-02-15 18:12 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-02-14 16:50 arm qemu test failures due to 'driver-core: platform: probe of-devices only using list of compatibles' Guenter Roeck
2016-02-14 19:55 ` 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
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 [this message]
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=56C21518.5030606@roeck-us.net \
--to=linux@roeck-us$(echo .)net \
--cc=gregkh@linuxfoundation$(echo .)org \
--cc=linux-arm-kernel@lists$(echo .)infradead.org \
--cc=linux-kernel@vger$(echo .)kernel.org \
--cc=linux-next@vger$(echo .)kernel.org \
--cc=u.kleine-koenig@pengutronix$(echo .)de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
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