> -----Original Message-----
> From: Greg KH [mailto:gre...@linuxfoundation.org]
> Sent: Monday, September 12, 2016 10:05 AM
> To: Vadim Pasternak <vad...@mellanox.com>
> Cc: t...@linutronix.de; mi...@redhat.com; h...@zytor.com;
> da...@davemloft.net; ge...@linux-m68k.org; a...@linux-foundation.org;
> kv...@codeaurora.org; mche...@kernel.org; li...@roeck-us.net;
> x...@kernel.org; linux-kernel@vger.kernel.org; platform-driver-
> x...@vger.kernel.org; j...@resnulli.us
> 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:gre...@linuxfoundation.org]
> > > Sent: Monday, September 12, 2016 9:13 AM
> > > To: Vadim Pasternak <vad...@mellanox.com>
> > > Cc: t...@linutronix.de; mi...@redhat.com; h...@zytor.com;
> > > da...@davemloft.net; ge...@linux-m68k.org;
> > > a...@linux-foundation.org; kv...@codeaurora.org; mche...@kernel.org;
> > > li...@roeck-us.net; x...@kernel.org; linux-kernel@vger.kernel.org;
> > > platform-driver- x...@vger.kernel.org; j...@resnulli.us
> > > Subject: Re: [patch v1] x86/platform/mellanox: introduce support for
> > > Mellanox systems platform
> > >
> > > On Mon, Sep 12, 2016 at 06:29:58AM +0000, vad...@mellanox.com wrote:
> > > > From: Vadim Pasternak <vad...@mellanox.com>
> > > >
> > > > 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]));

> 
> > For example, could I have the code like in f.e. in
> > arch/x86/platform/ts5500/ts5500.c as a platform initialization code?
> 
> How does it talk to the hardware for this?
> 
It defines several platform devices, like:
static struct platform_device ts5500_dio1_pdev = {
        .name = "ts5500-dio1",
        .id = -1,
        .resource = ts5500_dio1_resource,
        .num_resources = 1,
};
And registers them in __init, like:
platform_device_register(&ts5500_dio1_pdev)


> thanks,
> 
> greg k-h

Thanks,
Vadim.

Reply via email to