From: Jason Gunthorpe <jgg@ziepe.ca>
To: Lee Jones <lee.jones@linaro.org>
Cc: Mark Brown <broonie@kernel.org>,
Greg KH <gregkh@linuxfoundation.org>,
Alexandre Belloni <alexandre.belloni@bootlin.com>,
Dan Williams <dan.j.williams@intel.com>,
Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>,
alsa-devel@alsa-project.org, Kiran Patil <kiran.patil@intel.com>,
linux-rdma <linux-rdma@vger.kernel.org>,
Shiraz Saleem <shiraz.saleem@intel.com>,
Martin Habets <mhabets@solarflare.com>,
Liam Girdwood <lgirdwood@gmail.com>,
Ranjani Sridharan <ranjani.sridharan@linux.intel.com>,
Fred Oh <fred.oh@linux.intel.com>,
Dave Ertman <david.m.ertman@intel.com>,
Jakub Kicinski <kuba@kernel.org>, Netdev <netdev@vger.kernel.org>,
Leon Romanovsky <leonro@nvidia.com>,
David Miller <davem@davemloft.net>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
Parav Pandit <parav@mellanox.com>
Subject: Re: [resend/standalone PATCH v4] Add auxiliary bus support
Date: Fri, 18 Dec 2020 16:14:08 -0400 [thread overview]
Message-ID: <20201218201408.GP5487@ziepe.ca> (raw)
In-Reply-To: <20201218190911.GT207743@dell>
On Fri, Dec 18, 2020 at 07:09:11PM +0000, Lee Jones wrote:
> ACPI, DT and MFD are not busses.
And yet ACPI and PNP have a bus:
extern struct bus_type acpi_bus_type;
extern struct bus_type pnp_bus_type;
Why? Because in the driver core if you subclass struct device and want
to bind drivers, as both PNP and ACPI do, you must place those devices
on a bus with a bus_type matching the device type. Thus subclassing
the device means subclassing the bus as well.
The purpose of the bus_type is to match drivers to devices and provide
methods to the driver core. The bus_type also defines the unique name
space of the device names.
It is confusing because the word bus immediately makes people think of
physical objects like I2C, PCI, etc, but that is not what bus_type
does in the object model of the driver core, IMHO.
So, if you subclass struct device for MFD's usage, then you must also
create a bus_type to handle driver binding. The MFD bus_type. Just
like auxillary does.
Making a mfd subclass is the logical thing for a subsystem to do,
co-opting another subsystem's bus_type is just really weird/abusive.
auxillary bus shows how all these parts work, and it is simple enough
to see the pieces clearly.
Jason
next prev parent reply other threads:[~2020-12-18 20:15 UTC|newest]
Thread overview: 57+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-12-03 0:54 [resend/standalone PATCH v4] Add auxiliary bus support Dan Williams
2020-12-03 15:06 ` Greg KH
2020-12-04 2:33 ` Jason Gunthorpe
2020-12-04 3:37 ` Dan Williams
2020-12-03 15:07 ` Greg KH
2020-12-03 15:55 ` Leon Romanovsky
2020-12-04 11:42 ` Greg KH
2020-12-04 11:43 ` [PATCH 1/3] driver core: auxiliary bus: move slab.h from include file Greg KH
2020-12-04 11:44 ` [PATCH 2/3] driver core: auxiliary bus: make remove function return void Greg KH
2020-12-04 11:44 ` [PATCH 3/3] driver core: auxiliary bus: minor coding style tweaks Greg KH
2020-12-04 11:48 ` Greg KH
2020-12-04 11:49 ` [PATCH v2 " Greg KH
2020-12-04 12:32 ` [resend/standalone PATCH v4] Add auxiliary bus support Leon Romanovsky
2020-12-04 12:43 ` Parav Pandit
2020-12-04 12:59 ` Greg KH
2020-12-04 17:10 ` Ranjani Sridharan
2020-12-05 9:02 ` Greg KH
2020-12-04 16:41 ` Dan Williams
2020-12-05 15:51 ` Greg KH
2020-12-17 21:19 ` Alexandre Belloni
2020-12-18 2:39 ` Dan Williams
2020-12-18 14:20 ` Mark Brown
2020-12-18 7:10 ` Greg KH
2020-12-18 13:17 ` Mark Brown
2020-12-18 13:46 ` Lee Jones
2020-12-18 14:08 ` Jason Gunthorpe
2020-12-18 15:52 ` Mark Brown
2020-12-18 16:28 ` Jason Gunthorpe
2020-12-18 17:15 ` Alexandre Belloni
2020-12-18 18:03 ` Mark Brown
2020-12-18 18:41 ` Jason Gunthorpe
2020-12-18 19:09 ` Lee Jones
2020-12-18 20:14 ` Jason Gunthorpe [this message]
2020-12-18 20:32 ` Mark Brown
2020-12-18 20:58 ` Jason Gunthorpe
2020-12-18 21:16 ` Alexandre Belloni
2020-12-18 22:36 ` Dan Williams
2020-12-18 23:36 ` Jason Gunthorpe
2020-12-19 0:22 ` Alexandre Belloni
2020-12-21 18:51 ` Mark Brown
2021-01-04 18:08 ` Jason Gunthorpe
2021-01-04 21:19 ` Mark Brown
2021-01-05 0:13 ` Jason Gunthorpe
2021-01-05 0:51 ` Dan Williams
2021-01-05 1:53 ` Jason Gunthorpe
2021-01-05 3:12 ` Dan Williams
2021-01-05 12:49 ` Jason Gunthorpe
2021-01-05 13:42 ` Mark Brown
2021-01-05 14:36 ` Jason Gunthorpe
2021-01-05 15:47 ` Mark Brown
2020-12-04 12:35 ` Greg KH
2020-12-04 12:54 ` Leon Romanovsky
2020-12-04 16:25 ` Jakub Kicinski
2020-12-04 17:57 ` Saeed Mahameed
2020-12-04 18:05 ` Ranjani Sridharan
2020-12-06 0:24 ` David Ahern
2020-12-06 0:32 ` Dan Williams
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=20201218201408.GP5487@ziepe.ca \
--to=jgg@ziepe.ca \
--cc=alexandre.belloni@bootlin.com \
--cc=alsa-devel@alsa-project.org \
--cc=broonie@kernel.org \
--cc=dan.j.williams@intel.com \
--cc=davem@davemloft.net \
--cc=david.m.ertman@intel.com \
--cc=fred.oh@linux.intel.com \
--cc=gregkh@linuxfoundation.org \
--cc=kiran.patil@intel.com \
--cc=kuba@kernel.org \
--cc=lee.jones@linaro.org \
--cc=leonro@nvidia.com \
--cc=lgirdwood@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-rdma@vger.kernel.org \
--cc=mhabets@solarflare.com \
--cc=netdev@vger.kernel.org \
--cc=parav@mellanox.com \
--cc=pierre-louis.bossart@linux.intel.com \
--cc=ranjani.sridharan@linux.intel.com \
--cc=shiraz.saleem@intel.com \
/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).