diff mbox

[v2,8/9] amba: Export amba_bustype

Message ID 20170619171529.14047.92652.stgit@gimli.home (mailing list archive)
State New, archived
Headers show

Commit Message

Alex Williamson June 19, 2017, 5:15 p.m. UTC
This allows modules to match struct device.bus to amba_bustype for the
purpose of casting the device to an amba_device with to_amba_device().

Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Reported-by: Eric Auger <eric.auger@redhat.com>
Cc: Russell King <linux@armlinux.org.uk>
---
 drivers/amba/bus.c |    1 +
 1 file changed, 1 insertion(+)

Comments

Russell King (Oracle) June 19, 2017, 5:31 p.m. UTC | #1
This patch on its own doesn't make much sense to me... any chance of
seeing the full series please?

Thanks.

On Mon, Jun 19, 2017 at 11:15:29AM -0600, Alex Williamson wrote:
> This allows modules to match struct device.bus to amba_bustype for the
> purpose of casting the device to an amba_device with to_amba_device().
> 
> Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
> Reported-by: Eric Auger <eric.auger@redhat.com>
> Cc: Russell King <linux@armlinux.org.uk>
> ---
>  drivers/amba/bus.c |    1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/amba/bus.c b/drivers/amba/bus.c
> index a56fa2a1e9aa..4e118cd3ddf3 100644
> --- a/drivers/amba/bus.c
> +++ b/drivers/amba/bus.c
> @@ -197,6 +197,7 @@ struct bus_type amba_bustype = {
>  	.uevent		= amba_uevent,
>  	.pm		= &amba_pm,
>  };
> +EXPORT_SYMBOL_GPL(amba_bustype);
>  
>  static int __init amba_init(void)
>  {
>
Alex Williamson June 19, 2017, 5:53 p.m. UTC | #2
On Mon, 19 Jun 2017 18:31:10 +0100
Russell King - ARM Linux <linux@armlinux.org.uk> wrote:

> This patch on its own doesn't make much sense to me... any chance of
> seeing the full series please?

Hi Russell,

Please find it here:

https://lkml.org/lkml/2017/6/19/808

Patches 7 and 9:

https://lkml.org/lkml/2017/6/19/813
https://lkml.org/lkml/2017/6/19/812

Are particularly relevant.  The gist of it is that we want to get to
the driver_override field of the device in order to force a no-match
for a driver bind when we're in a situation where binding to a host
driver could compromise the system integrity (user owned devices and
host owned devices in the same iommu group).  driver_override is handled
in a common way, but is not part of struct device, it's part of the
containing structure, so we identify the bustype and therefore device
container to get to the override.  The bustype is typically exported
and some bus drivers like PCI even offer convenient helpers like
dev_is_pci() to facilitate this sort of matching.  Thanks,

Alex

> On Mon, Jun 19, 2017 at 11:15:29AM -0600, Alex Williamson wrote:
> > This allows modules to match struct device.bus to amba_bustype for the
> > purpose of casting the device to an amba_device with to_amba_device().
> > 
> > Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
> > Reported-by: Eric Auger <eric.auger@redhat.com>
> > Cc: Russell King <linux@armlinux.org.uk>
> > ---
> >  drivers/amba/bus.c |    1 +
> >  1 file changed, 1 insertion(+)
> > 
> > diff --git a/drivers/amba/bus.c b/drivers/amba/bus.c
> > index a56fa2a1e9aa..4e118cd3ddf3 100644
> > --- a/drivers/amba/bus.c
> > +++ b/drivers/amba/bus.c
> > @@ -197,6 +197,7 @@ struct bus_type amba_bustype = {
> >  	.uevent		= amba_uevent,
> >  	.pm		= &amba_pm,
> >  };
> > +EXPORT_SYMBOL_GPL(amba_bustype);
> >  
> >  static int __init amba_init(void)
> >  {
> >   
>
diff mbox

Patch

diff --git a/drivers/amba/bus.c b/drivers/amba/bus.c
index a56fa2a1e9aa..4e118cd3ddf3 100644
--- a/drivers/amba/bus.c
+++ b/drivers/amba/bus.c
@@ -197,6 +197,7 @@  struct bus_type amba_bustype = {
 	.uevent		= amba_uevent,
 	.pm		= &amba_pm,
 };
+EXPORT_SYMBOL_GPL(amba_bustype);
 
 static int __init amba_init(void)
 {