From: Zev Weiss <zweiss@equinix.com>
To: Jeremy Kerr <jk@codeconstruct.com.au>
Cc: Andrew Jeffery <andrew@aj.id.au>,
"openbmc@lists.ozlabs.org" <openbmc@lists.ozlabs.org>,
Eddie James <eajames@linux.ibm.com>
Subject: Re: [PATCH RFC] Specifying default-disabled devices
Date: Fri, 10 Sep 2021 08:35:43 +0000 [thread overview]
Message-ID: <20210910083542.GH17315@packtop> (raw)
In-Reply-To: <857e71679c7d1a421f6cc50896ac7927fe49cd74.camel@codeconstruct.com.au>
On Fri, Sep 10, 2021 at 12:59:10AM PDT, Jeremy Kerr wrote:
>Hi Zev,
>
>> From some grepping around it looks like the only check is for
>> "okay"/"ok", and nothing actually checks for "disabled", so I'd think
>> any non-OK string (including "reserved") would end up being
>> equivalent
>> to "disabled", and hence result in the device node not being
>> instantiated at all. (A quick test appears to confirm; with status =
>> "reserved", an attempt to bind via sysfs fails with ENODEV.)
>
>Ah, so you still want the device created, but not bound?
>
That's what I'm hoping to achieve, yeah -- a device that'll be left
detached on boot, and only have a driver bound to it when userspace
explicitly requests it via a sysfs 'bind' write (e.g. in my particular
case, only when performing a BIOS update).
>That might not work for status = "reserved" then, and I'm not sure we
>want to change the semantics for that.
>
Sorry, which semantics exactly do you mean we might not want to change?
It sounded like Oliver thought that interpretation of "reserved" should
be viable, modulo some possible bus-specific caveats...
>Just so I'm following along correctly: you still need this described in
>the DT (rather than instantiating entirely from userspace), because you
>need additional platform data for the new device, is that correct?
>
Well, I'm aiming to be able to use a dts fragment looking something
like (on an ast2500):
&spi1 {
status = "reserved";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_spi1_default>;
flash@0 {
status = "okay";
label = "bios";
m25p,fast-read;
};
};
...but I'm wondering about your mention of "rather than instantiating
entirely from userspace" -- is there some mechanism for
runtime-materializing a device ex nihilo that I've remained
(embarrassingly) unaware of?
Zev
next prev parent reply other threads:[~2021-09-10 8:36 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-09-10 2:24 [PATCH RFC] Specifying default-disabled devices Zev Weiss
2021-09-10 2:33 ` Jeremy Kerr
2021-09-10 3:49 ` Zev Weiss
2021-09-10 4:04 ` Jeremy Kerr
2021-09-10 5:28 ` Zev Weiss
2021-09-10 7:59 ` Jeremy Kerr
2021-09-10 8:35 ` Zev Weiss [this message]
2021-09-10 9:08 ` Jeremy Kerr
2021-09-10 21:59 ` Zev Weiss
2021-09-21 2:56 ` Zev Weiss
2021-09-10 4:36 ` Oliver O'Halloran
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=20210910083542.GH17315@packtop \
--to=zweiss@equinix.com \
--cc=andrew@aj.id.au \
--cc=eajames@linux.ibm.com \
--cc=jk@codeconstruct.com.au \
--cc=openbmc@lists.ozlabs.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.