Re: [patch v1] x86/platform/mellanox: introduce support for Mellanox systems platform

From: Greg KH
Date: Mon Sep 12 2016 - 03:41:00 EST


On Mon, Sep 12, 2016 at 07:23:59AM +0000, Vadim Pasternak wrote:
>
>
> > -----Original Message-----
> > From: Greg KH [mailto:gregkh@xxxxxxxxxxxxxxxxxxx]
> > Sent: Monday, September 12, 2016 10:05 AM
> > To: Vadim Pasternak <vadimp@xxxxxxxxxxxx>
> > Cc: tglx@xxxxxxxxxxxxx; mingo@xxxxxxxxxx; hpa@xxxxxxxxx;
> > davem@xxxxxxxxxxxxx; geert@xxxxxxxxxxxxxx; akpm@xxxxxxxxxxxxxxxxxxxx;
> > kvalo@xxxxxxxxxxxxxx; mchehab@xxxxxxxxxx; linux@xxxxxxxxxxxx;
> > x86@xxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; platform-driver-
> > x86@xxxxxxxxxxxxxxx; jiri@xxxxxxxxxxx
> > Subject: Re: [patch v1] x86/platform/mellanox: introduce support for Mellanox
> > systems platform
> >
> > On Mon, Sep 12, 2016 at 06:44:03AM +0000, Vadim Pasternak wrote:
> > >
> > >
> > > > -----Original Message-----
> > > > From: Greg KH [mailto:gregkh@xxxxxxxxxxxxxxxxxxx]
> > > > Sent: Monday, September 12, 2016 9:13 AM
> > > > To: Vadim Pasternak <vadimp@xxxxxxxxxxxx>
> > > > Cc: tglx@xxxxxxxxxxxxx; mingo@xxxxxxxxxx; hpa@xxxxxxxxx;
> > > > davem@xxxxxxxxxxxxx; geert@xxxxxxxxxxxxxx;
> > > > akpm@xxxxxxxxxxxxxxxxxxxx; kvalo@xxxxxxxxxxxxxx; mchehab@xxxxxxxxxx;
> > > > linux@xxxxxxxxxxxx; x86@xxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx;
> > > > platform-driver- x86@xxxxxxxxxxxxxxx; jiri@xxxxxxxxxxx
> > > > Subject: Re: [patch v1] x86/platform/mellanox: introduce support for
> > > > Mellanox systems platform
> > > >
> > > > On Mon, Sep 12, 2016 at 06:29:58AM +0000, vadimp@xxxxxxxxxxxx wrote:
> > > > > From: Vadim Pasternak <vadimp@xxxxxxxxxxxx>
> > > > >
> > > > > Enable system support for the Mellanox Technologies platform,
> > > > > which provides support for the next Mellanox basic systems:
> > > > > "msx6710", "msx6720", "msb7700", "msn2700", "msx1410", "msn2410",
> > > > > "msb7800", "msn2740", "msn2100" and also various number of
> > > > > derivative systems from the above basic types.
> > > >
> > > > What does "system support" mean?
> > > >
> > > > Why can't this just be a "normal" PCI driver, as you are just
> > > > accessing a PCI device and doing something with it, seems odd to claim it is a
> > "platform" driver.
> > > >
> > >
> > > This driver also activates probes to create i2c platform driver and muxes.
> >
> > And how does it do that? Through the PCI device?
> >
> > > For ARM and PPC based systems I can activate such stuff through dts.
> > > To be honest I don't know what is the right way to do such things for
> > > x86 systems.
> >
> > How is it found in a x86 system, in ACPI?
> >
>
> We have no support in ACPI.
> Currently it could be found through DMI.
>
> > > If I will move PCI related stuff to separate driver, could you suggest
> > > some right location for that?
> >
> > Depends on what it does.
>
> It creates platform i2c driver (Mellanox controller), like:
> platform_device_register_simple("i2c_mlxcpld", -1,
> NULL, 0);
> And two mux platform device instances, like:
> platform_device_register_resndata(dev,
> " i2c-mux-reg", i, NULL,
> 0, &mlxplat_mux_data[i],
> sizeof(mlxplat_mux_data[i]));

Ugh. Really? These aren't on a real bus? What is this, the 1990's?

Ok, a DMI driver for these makes sense in the platform directory to me,
but you have to convince the maintainer of this subsystem :)

And rip all of that PCI stuff out, that belongs in a PCI driver.

thanks,

greg k-h