> -----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.