All of lore.kernel.org
 help / color / mirror / Atom feed
From: Patrick Williams <patrick@stwcx.xyz>
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Zev Weiss <zev@bewilderbeest.net>,
	kvm@vger.kernel.org, "Rafael J. Wysocki" <rafael@kernel.org>,
	Kirti Wankhede <kwankhede@nvidia.com>,
	Jeremy Kerr <jk@codeconstruct.com.au>,
	Rajat Jain <rajatja@google.com>,
	Frank Rowand <frowand.list@gmail.com>,
	Jianxiong Gao <jxgao@google.com>,
	Dave Jiang <dave.jiang@intel.com>,
	Saravana Kannan <saravanak@google.com>,
	Mauro Carvalho Chehab <mchehab+huawei@kernel.org>,
	openbmc@lists.ozlabs.org, devicetree@vger.kernel.org,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Alex Williamson <alex.williamson@redhat.com>,
	Rob Herring <robh+dt@kernel.org>,
	Bhaskar Chowdhury <unixbhaskar@gmail.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Andrew Jeffery <andrew@aj.id.au>,
	Cornelia Huck <cohuck@redhat.com>,
	linux-kernel@vger.kernel.org, Vinod Koul <vkoul@kernel.org>,
	dmaengine@vger.kernel.org
Subject: Re: [PATCH 4/5] driver core: inhibit automatic driver binding on reserved devices
Date: Fri, 22 Oct 2021 10:18:11 -0500	[thread overview]
Message-ID: <YXLWMyleiTFDDZgm@heinlein> (raw)
In-Reply-To: <YXJ88eARBE3vU1aA@kroah.com>

[-- Attachment #1: Type: text/plain, Size: 1956 bytes --]

Hi Greg,

On Fri, Oct 22, 2021 at 10:57:21AM +0200, Greg Kroah-Hartman wrote:
> On Fri, Oct 22, 2021 at 01:32:32AM -0700, Zev Weiss wrote:
> > On Thu, Oct 21, 2021 at 11:46:56PM PDT, Greg Kroah-Hartman wrote:
> > > On Thu, Oct 21, 2021 at 07:00:31PM -0700, Zev Weiss wrote:

> > So we want the kernel to be aware of the device's existence (so that we
> > *can* bind a driver to it when needed), but we don't want it touching the
> > device unless we really ask for it.
> > 
> > Does that help clarify the motivation for wanting this functionality?
> 
> Sure, then just do this type of thing in the driver itself.  Do not have
> any matching "ids" for this hardware it so that the bus will never call
> the probe function for this hardware _until_ a manual write happens to
> the driver's "bind" sysfs file.

It sounds like you're suggesting a change to one particular driver to satisfy
this one particular case (and maybe I'm just not understanding your suggestion).
For a BMC, this is a pretty regular situation and not just as one-off as Zev's
example.

Another good example is where a system can have optional riser cards with a
whole tree of devices that might be on that riser card (and there might be
different variants of a riser card that could go in the same slot).  Usually
there is an EEPROM of some sort at a well-known address that can be parsed to
identify which kind of riser card it is and then the appropriate sub-devices can
be enumerated.  That EEPROM parsing is something that is currently done in
userspace due to the complexity and often vendor-specific nature of it.

Many of these devices require quite a bit more configuration information than
can be passed along a `bind` call.  I believe it has been suggested previously
that this riser-card scenario could also be solved with dynamic loading of DT
snippets, but that support seems simple pretty far from being merged.

-- 
Patrick Williams

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: Patrick Williams <patrick@stwcx.xyz>
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Zev Weiss <zev@bewilderbeest.net>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Kirti Wankhede <kwankhede@nvidia.com>,
	Jeremy Kerr <jk@codeconstruct.com.au>,
	Rajat Jain <rajatja@google.com>,
	Frank Rowand <frowand.list@gmail.com>,
	Jianxiong Gao <jxgao@google.com>,
	Dave Jiang <dave.jiang@intel.com>,
	kvm@vger.kernel.org, Saravana Kannan <saravanak@google.com>,
	Mauro Carvalho Chehab <mchehab+huawei@kernel.org>,
	openbmc@lists.ozlabs.org, devicetree@vger.kernel.org,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Alex Williamson <alex.williamson@redhat.com>,
	Rob Herring <robh+dt@kernel.org>,
	Bhaskar Chowdhury <unixbhaskar@gmail.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Andrew Jeffery <andrew@aj.id.au>,
	Cornelia Huck <cohuck@redhat.com>,
	linux-kernel@vger.kernel.org, Vinod Koul <vkoul@kernel.org>,
	dmaengine@vger.kernel.org
Subject: Re: [PATCH 4/5] driver core: inhibit automatic driver binding on reserved devices
Date: Fri, 22 Oct 2021 10:18:11 -0500	[thread overview]
Message-ID: <YXLWMyleiTFDDZgm@heinlein> (raw)
In-Reply-To: <YXJ88eARBE3vU1aA@kroah.com>

[-- Attachment #1: Type: text/plain, Size: 1956 bytes --]

Hi Greg,

On Fri, Oct 22, 2021 at 10:57:21AM +0200, Greg Kroah-Hartman wrote:
> On Fri, Oct 22, 2021 at 01:32:32AM -0700, Zev Weiss wrote:
> > On Thu, Oct 21, 2021 at 11:46:56PM PDT, Greg Kroah-Hartman wrote:
> > > On Thu, Oct 21, 2021 at 07:00:31PM -0700, Zev Weiss wrote:

> > So we want the kernel to be aware of the device's existence (so that we
> > *can* bind a driver to it when needed), but we don't want it touching the
> > device unless we really ask for it.
> > 
> > Does that help clarify the motivation for wanting this functionality?
> 
> Sure, then just do this type of thing in the driver itself.  Do not have
> any matching "ids" for this hardware it so that the bus will never call
> the probe function for this hardware _until_ a manual write happens to
> the driver's "bind" sysfs file.

It sounds like you're suggesting a change to one particular driver to satisfy
this one particular case (and maybe I'm just not understanding your suggestion).
For a BMC, this is a pretty regular situation and not just as one-off as Zev's
example.

Another good example is where a system can have optional riser cards with a
whole tree of devices that might be on that riser card (and there might be
different variants of a riser card that could go in the same slot).  Usually
there is an EEPROM of some sort at a well-known address that can be parsed to
identify which kind of riser card it is and then the appropriate sub-devices can
be enumerated.  That EEPROM parsing is something that is currently done in
userspace due to the complexity and often vendor-specific nature of it.

Many of these devices require quite a bit more configuration information than
can be passed along a `bind` call.  I believe it has been suggested previously
that this riser-card scenario could also be solved with dynamic loading of DT
snippets, but that support seems simple pretty far from being merged.

-- 
Patrick Williams

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

  reply	other threads:[~2021-10-22 15:18 UTC|newest]

Thread overview: 68+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-22  2:00 [PATCH 0/5] driver core, of: support for reserved devices Zev Weiss
2021-10-22  2:00 ` Zev Weiss
2021-10-22  2:00 ` [PATCH 1/5] of: base: add function to check for status = "reserved" Zev Weiss
2021-10-22  2:00   ` Zev Weiss
2021-10-22  6:43   ` Greg Kroah-Hartman
2021-10-22  6:43     ` Greg Kroah-Hartman
2021-10-22  7:38     ` Zev Weiss
2021-10-22  7:38       ` Zev Weiss
2021-10-22  7:45       ` Greg Kroah-Hartman
2021-10-22  7:45         ` Greg Kroah-Hartman
2021-10-22  2:00 ` [PATCH 2/5] device property: add fwnode_device_is_reserved() Zev Weiss
2021-10-22  2:00   ` Zev Weiss
2021-10-22  2:00 ` [PATCH 3/5] of: property: add support for fwnode_device_is_reserved() Zev Weiss
2021-10-22  2:00   ` Zev Weiss
2021-10-22  2:00 ` [PATCH 4/5] driver core: inhibit automatic driver binding on reserved devices Zev Weiss
2021-10-22  2:00   ` Zev Weiss
2021-10-22  6:46   ` Greg Kroah-Hartman
2021-10-22  6:46     ` Greg Kroah-Hartman
2021-10-22  8:32     ` Zev Weiss
2021-10-22  8:32       ` Zev Weiss
2021-10-22  8:57       ` Greg Kroah-Hartman
2021-10-22  8:57         ` Greg Kroah-Hartman
2021-10-22 15:18         ` Patrick Williams [this message]
2021-10-22 15:18           ` Patrick Williams
2021-10-23  8:56           ` Greg Kroah-Hartman
2021-10-23  8:56             ` Greg Kroah-Hartman
2021-10-25  5:38             ` Frank Rowand
2021-10-25  5:38               ` Frank Rowand
2021-10-25  6:15               ` Greg Kroah-Hartman
2021-10-25  6:15                 ` Greg Kroah-Hartman
2021-10-25 11:44                 ` Patrick Williams
2021-10-25 11:44                   ` Patrick Williams
2021-10-25 12:58                   ` Andy Shevchenko
2021-10-25 12:58                     ` Andy Shevchenko
2021-10-25 13:20                     ` Patrick Williams
2021-10-25 13:20                       ` Patrick Williams
2021-10-25 13:34                       ` Greg Kroah-Hartman
2021-10-25 13:34                         ` Greg Kroah-Hartman
2021-10-25 14:02                         ` Patrick Williams
2021-10-25 14:02                           ` Patrick Williams
2021-10-25 14:09                           ` Greg Kroah-Hartman
2021-10-25 14:09                             ` Greg Kroah-Hartman
2021-10-25 15:54                             ` Patrick Williams
2021-10-25 15:54                               ` Patrick Williams
2021-10-25 18:36                               ` Greg Kroah-Hartman
2021-10-25 18:36                                 ` Greg Kroah-Hartman
2021-10-22 16:27         ` Zev Weiss
2021-10-22 16:27           ` Zev Weiss
2021-10-23  8:55           ` Greg Kroah-Hartman
2021-10-23  8:55             ` Greg Kroah-Hartman
2021-10-22  2:00 ` [PATCH 5/5] of: platform: instantiate " Zev Weiss
2021-10-22  2:00   ` Zev Weiss
2021-10-22  2:58 ` [PATCH 0/5] driver core, of: support for " Rob Herring
2021-10-22  2:58   ` Rob Herring
2021-10-22  3:13   ` Zev Weiss
2021-10-22  3:13     ` Zev Weiss
2021-10-22  6:50   ` Greg Kroah-Hartman
2021-10-22  6:50     ` Greg Kroah-Hartman
2021-10-22  6:50 ` Greg Kroah-Hartman
2021-10-22  6:50   ` Greg Kroah-Hartman
2021-10-22  9:00   ` Zev Weiss
2021-10-22  9:00     ` Zev Weiss
2021-10-22  9:22     ` Greg Kroah-Hartman
2021-10-22  9:22       ` Greg Kroah-Hartman
2021-10-25  5:53     ` Frank Rowand
2021-10-25  5:53       ` Frank Rowand
2021-10-25 13:57       ` Frank Rowand
2021-10-25 13:57         ` Frank Rowand

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=YXLWMyleiTFDDZgm@heinlein \
    --to=patrick@stwcx.xyz \
    --cc=alex.williamson@redhat.com \
    --cc=andrew@aj.id.au \
    --cc=andriy.shevchenko@linux.intel.com \
    --cc=cohuck@redhat.com \
    --cc=dave.jiang@intel.com \
    --cc=devicetree@vger.kernel.org \
    --cc=dmaengine@vger.kernel.org \
    --cc=frowand.list@gmail.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=jk@codeconstruct.com.au \
    --cc=jxgao@google.com \
    --cc=konrad.wilk@oracle.com \
    --cc=kvm@vger.kernel.org \
    --cc=kwankhede@nvidia.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mchehab+huawei@kernel.org \
    --cc=openbmc@lists.ozlabs.org \
    --cc=rafael@kernel.org \
    --cc=rajatja@google.com \
    --cc=robh+dt@kernel.org \
    --cc=saravanak@google.com \
    --cc=tglx@linutronix.de \
    --cc=unixbhaskar@gmail.com \
    --cc=vkoul@kernel.org \
    --cc=zev@bewilderbeest.net \
    /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.