All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alexandre Belloni <alexandre.belloni@bootlin.com>
To: Jason Gunthorpe <jgg@nvidia.com>
Cc: Mark Brown <broonie@kernel.org>,
	Greg KH <gregkh@linuxfoundation.org>,
	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>,
	lee.jones@linaro.org
Subject: Re: [resend/standalone PATCH v4] Add auxiliary bus support
Date: Fri, 18 Dec 2020 18:15:34 +0100	[thread overview]
Message-ID: <20201218171534.GF3143569@piout.net> (raw)
In-Reply-To: <20201218162817.GX552508@nvidia.com>

On 18/12/2020 12:28:17-0400, Jason Gunthorpe wrote:
> On Fri, Dec 18, 2020 at 03:52:04PM +0000, Mark Brown wrote:
> > On Fri, Dec 18, 2020 at 10:08:54AM -0400, Jason Gunthorpe wrote:
> > > On Fri, Dec 18, 2020 at 01:17:09PM +0000, Mark Brown wrote:
> > 
> > > > As previously discussed this will need the auxilliary bus extending to
> > > > support at least interrupts and possibly also general resources.
> > 
> > > I thought the recent LWN article summed it up nicely, auxillary bus is
> > > for gluing to subsystems together using a driver specific software API
> > > to connect to the HW, MFD is for splitting a physical HW into disjoint
> > > regions of HW.
> > 
> > This conflicts with the statements from Greg about not using the
> > platform bus for things that aren't memory mapped or "direct firmware",
> > a large proportion of MFD subfunctions are neither at least in so far as
> > I can understand what direct firmware means.
> 
> I assume MFD will keep existing and it will somehow stop using
> platform device for the children it builds.
> 
> That doesn't mean MFD must use aux device, so I don't see what you
> mean by conflicts?
> 
> If someone has a PCI device and they want to split it up, they should
> choose between aux device and MFD (assuming MFD gets fixed, as Greg
> has basically blanket NAK'd adding more of them to MFD as is)
> 

I have an SoC with for example, a designware SPI controller (handled by
drivers/spi/spi-dw-mmio.c), a designware I2C controller (handled by
drivers/i2c/busses/i2c-designware-platdrv.c).
So, those are MMIO and described using device tree. On this particular
SoC, I can disable the CPU and connect it to another SoC using PCIe. In
that case it will expose one BAR, with all the HW IPs.

The question here is why would I use something different from platform
devices to register the SPI and I2C controllers? It seems that by using
auxiliary devices, I would have to reinvent parsing device property and
children/clients description. This isn't great from a code reuse
perspective.

-- 
Alexandre Belloni, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

WARNING: multiple messages have this Message-ID (diff)
From: Alexandre Belloni <alexandre.belloni@bootlin.com>
To: Jason Gunthorpe <jgg@nvidia.com>
Cc: alsa-devel@alsa-project.org, lee.jones@linaro.org,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Kiran Patil <kiran.patil@intel.com>,
	David Miller <davem@davemloft.net>,
	linux-rdma <linux-rdma@vger.kernel.org>,
	Greg KH <gregkh@linuxfoundation.org>,
	Martin Habets <mhabets@solarflare.com>,
	Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>,
	Liam Girdwood <lgirdwood@gmail.com>,
	Fred Oh <fred.oh@linux.intel.com>,
	Mark Brown <broonie@kernel.org>,
	Ranjani Sridharan <ranjani.sridharan@linux.intel.com>,
	Jakub Kicinski <kuba@kernel.org>,
	Dave Ertman <david.m.ertman@intel.com>,
	Dan Williams <dan.j.williams@intel.com>,
	Shiraz Saleem <shiraz.saleem@intel.com>,
	Netdev <netdev@vger.kernel.org>,
	Leon Romanovsky <leonro@nvidia.com>,
	Parav Pandit <parav@mellanox.com>
Subject: Re: [resend/standalone PATCH v4] Add auxiliary bus support
Date: Fri, 18 Dec 2020 18:15:34 +0100	[thread overview]
Message-ID: <20201218171534.GF3143569@piout.net> (raw)
In-Reply-To: <20201218162817.GX552508@nvidia.com>

On 18/12/2020 12:28:17-0400, Jason Gunthorpe wrote:
> On Fri, Dec 18, 2020 at 03:52:04PM +0000, Mark Brown wrote:
> > On Fri, Dec 18, 2020 at 10:08:54AM -0400, Jason Gunthorpe wrote:
> > > On Fri, Dec 18, 2020 at 01:17:09PM +0000, Mark Brown wrote:
> > 
> > > > As previously discussed this will need the auxilliary bus extending to
> > > > support at least interrupts and possibly also general resources.
> > 
> > > I thought the recent LWN article summed it up nicely, auxillary bus is
> > > for gluing to subsystems together using a driver specific software API
> > > to connect to the HW, MFD is for splitting a physical HW into disjoint
> > > regions of HW.
> > 
> > This conflicts with the statements from Greg about not using the
> > platform bus for things that aren't memory mapped or "direct firmware",
> > a large proportion of MFD subfunctions are neither at least in so far as
> > I can understand what direct firmware means.
> 
> I assume MFD will keep existing and it will somehow stop using
> platform device for the children it builds.
> 
> That doesn't mean MFD must use aux device, so I don't see what you
> mean by conflicts?
> 
> If someone has a PCI device and they want to split it up, they should
> choose between aux device and MFD (assuming MFD gets fixed, as Greg
> has basically blanket NAK'd adding more of them to MFD as is)
> 

I have an SoC with for example, a designware SPI controller (handled by
drivers/spi/spi-dw-mmio.c), a designware I2C controller (handled by
drivers/i2c/busses/i2c-designware-platdrv.c).
So, those are MMIO and described using device tree. On this particular
SoC, I can disable the CPU and connect it to another SoC using PCIe. In
that case it will expose one BAR, with all the HW IPs.

The question here is why would I use something different from platform
devices to register the SPI and I2C controllers? It seems that by using
auxiliary devices, I would have to reinvent parsing device property and
children/clients description. This isn't great from a code reuse
perspective.

-- 
Alexandre Belloni, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

  reply	other threads:[~2020-12-18 17:16 UTC|newest]

Thread overview: 114+ 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  0:54 ` Dan Williams
2020-12-03 15:06 ` Greg KH
2020-12-03 15:06   ` Greg KH
2020-12-04  2:33   ` Jason Gunthorpe
2020-12-04  2:33     ` Jason Gunthorpe
2020-12-04  3:37     ` Dan Williams
2020-12-04  3:37       ` Dan Williams
2020-12-03 15:07 ` Greg KH
2020-12-03 15:07   ` Greg KH
2020-12-03 15:55   ` Leon Romanovsky
2020-12-03 15:55     ` Leon Romanovsky
2020-12-04 11:42 ` Greg KH
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:43     ` 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       ` Greg KH
2020-12-04 11:44       ` [PATCH 3/3] driver core: auxiliary bus: minor coding style tweaks Greg KH
2020-12-04 11:44         ` Greg KH
2020-12-04 11:48         ` Greg KH
2020-12-04 11:48           ` Greg KH
2020-12-04 11:49       ` [PATCH v2 " Greg KH
2020-12-04 11:49         ` Greg KH
2020-12-04 12:32   ` [resend/standalone PATCH v4] Add auxiliary bus support Leon Romanovsky
2020-12-04 12:32     ` Leon Romanovsky
2020-12-04 12:43     ` Parav Pandit
2020-12-04 12:43       ` Parav Pandit
2020-12-04 12:59     ` Greg KH
2020-12-04 12:59       ` Greg KH
2020-12-04 17:10       ` Ranjani Sridharan
2020-12-04 17:10         ` Ranjani Sridharan
2020-12-05  9:02         ` Greg KH
2020-12-05  9:02           ` Greg KH
2020-12-04 16:41   ` Dan Williams
2020-12-04 16:41     ` Dan Williams
2020-12-05 15:51     ` Greg KH
2020-12-05 15:51       ` Greg KH
2020-12-17 21:19       ` Alexandre Belloni
2020-12-17 21:19         ` Alexandre Belloni
2020-12-18  2:39         ` Dan Williams
2020-12-18  2:39           ` Dan Williams
2020-12-18 14:20           ` Mark Brown
2020-12-18 14:20             ` Mark Brown
2020-12-18  7:10         ` Greg KH
2020-12-18  7:10           ` Greg KH
2020-12-18 13:17           ` Mark Brown
2020-12-18 13:17             ` Mark Brown
2020-12-18 13:46             ` Lee Jones
2020-12-18 13:46               ` Lee Jones
2020-12-18 14:08             ` Jason Gunthorpe
2020-12-18 14:08               ` Jason Gunthorpe
2020-12-18 15:52               ` Mark Brown
2020-12-18 15:52                 ` Mark Brown
2020-12-18 16:28                 ` Jason Gunthorpe
2020-12-18 16:28                   ` Jason Gunthorpe
2020-12-18 17:15                   ` Alexandre Belloni [this message]
2020-12-18 17:15                     ` Alexandre Belloni
2020-12-18 18:03                   ` Mark Brown
2020-12-18 18:03                     ` Mark Brown
2020-12-18 18:41                     ` Jason Gunthorpe
2020-12-18 18:41                       ` Jason Gunthorpe
2020-12-18 19:09                       ` Lee Jones
2020-12-18 19:09                         ` Lee Jones
2020-12-18 20:14                         ` Jason Gunthorpe
2020-12-18 20:14                           ` Jason Gunthorpe
2020-12-18 20:32                       ` Mark Brown
2020-12-18 20:32                         ` Mark Brown
2020-12-18 20:58                         ` Jason Gunthorpe
2020-12-18 20:58                           ` Jason Gunthorpe
2020-12-18 21:16                           ` Alexandre Belloni
2020-12-18 21:16                             ` Alexandre Belloni
2020-12-18 22:36                             ` Dan Williams
2020-12-18 22:36                               ` Dan Williams
2020-12-18 23:36                             ` Jason Gunthorpe
2020-12-18 23:36                               ` Jason Gunthorpe
2020-12-19  0:22                               ` Alexandre Belloni
2020-12-19  0:22                                 ` Alexandre Belloni
2020-12-21 18:51                           ` Mark Brown
2020-12-21 18:51                             ` Mark Brown
2021-01-04 18:08                             ` Jason Gunthorpe
2021-01-04 18:08                               ` Jason Gunthorpe
2021-01-04 21:19                               ` Mark Brown
2021-01-04 21:19                                 ` Mark Brown
2021-01-05  0:13                                 ` Jason Gunthorpe
2021-01-05  0:13                                   ` Jason Gunthorpe
2021-01-05  0:51                                   ` Dan Williams
2021-01-05  0:51                                     ` Dan Williams
2021-01-05  1:53                                     ` Jason Gunthorpe
2021-01-05  1:53                                       ` Jason Gunthorpe
2021-01-05  3:12                                       ` Dan Williams
2021-01-05  3:12                                         ` Dan Williams
2021-01-05 12:49                                         ` Jason Gunthorpe
2021-01-05 12:49                                           ` Jason Gunthorpe
2021-01-05 13:42                                   ` Mark Brown
2021-01-05 13:42                                     ` Mark Brown
2021-01-05 14:36                                     ` Jason Gunthorpe
2021-01-05 14:36                                       ` Jason Gunthorpe
2021-01-05 15:47                                       ` Mark Brown
2021-01-05 15:47                                         ` Mark Brown
2020-12-04 12:35 ` Greg KH
2020-12-04 12:35   ` Greg KH
2020-12-04 12:54   ` Leon Romanovsky
2020-12-04 12:54     ` Leon Romanovsky
2020-12-04 16:25     ` Jakub Kicinski
2020-12-04 16:25       ` Jakub Kicinski
2020-12-04 17:57       ` Saeed Mahameed
2020-12-04 17:57         ` Saeed Mahameed
2020-12-04 18:05   ` Ranjani Sridharan
2020-12-04 18:05     ` Ranjani Sridharan
2020-12-06  0:24 ` David Ahern
2020-12-06  0:24   ` David Ahern
2020-12-06  0:32   ` Dan Williams
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=20201218171534.GF3143569@piout.net \
    --to=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=jgg@nvidia.com \
    --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 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.