RE: [patch v10 4/6] platform/mellanox: mlxreg-hotplug: Modify to use a regmap interface

From: Vadim Pasternak
Date: Wed Jan 24 2018 - 12:05:15 EST




> -----Original Message-----
> From: Darren Hart [mailto:dvhart@xxxxxxxxxxxxx]
> Sent: Wednesday, January 24, 2018 12:58 AM
> To: Vadim Pasternak <vadimp@xxxxxxxxxxxx>
> Cc: andy.shevchenko@xxxxxxxxx; gregkh@xxxxxxxxxxxxxxxxxxx; linux-
> kernel@xxxxxxxxxxxxxxx; platform-driver-x86@xxxxxxxxxxxxxxx; jiri@xxxxxxxxxxx
> Subject: Re: [patch v10 4/6] platform/mellanox: mlxreg-hotplug: Modify to use a
> regmap interface
>
> On Tue, Jan 23, 2018 at 08:34:23PM +0000, Vadim Pasternak wrote:
> > Restructure mlxreg header for unification of hotplug item definitions.
> >
> > Unify hotplug items to allow any kind of item (power controller, fan
> > eeprom, psu eeprom, asic health) in common way.
> >
> > Use a hardware independent regmap interface, enabling the support of
> > hotplug events over programmable devices attached to different bus
> > types, such as I2C, LPC, or SPI. Add a device node to the
> > mlxreg_core_data structure.
> >
> > Signed-off-by: Vadim Pasternak <vadimp@xxxxxxxxxxxx>
> > Acked-by: Andy Shevchenko <andy.shevchenko@xxxxxxxxx>
> > ---
> > v10->v9:
> > Fixes provided by Vadim:
> > - add missed description of pdev_hotplug for struct mlxplat_priv;
>
> I didn't see this in the diff from my version to this one.
>
> > - remove struct mlxplat_mlxcpld_regmap_context, which contains only
> > the field with base address. Instead obtain locally defined base
> > address by devm_ioport_map in mlxplat_init and pass it to
> > devm_regmap_init;
> > - modify mlxplat_mlxcpld_reg_read/write to use directly pointer to
> > context;
>
> Also adds incorrect conversion of tabs to spaces in at least 3 locations ...
>
> I had also corrected various typos and the copyright statement, as well as
> reworked the commit messages. So at this point, I'd rather see these as changes
> on top of what I have cleaned up.
>
> Please compare what you have here with:
> https://github.com/dvhart/linux-pdx86/tree/review-dvhart-mellanox-v10
>
> And send me any changes strictly on top of that.

Hi Darren,

I'll send you four patches on top review-dvhart-mellanox-v10.
There are
- Patch to simplify IO access to regmap context.
- Register map configuration extension with IO access verification
callbacks.
- Adding check for negative adapter number value in hotplug;
- Adding validation of return code of mlxreg_hotplug_device_create.
This is instead of what have been removed in "FIXME:"

But there were two Kbuild issues with these two patches:
[4/9] FIXME platform/mellanox: Remove redundant dev_err messages on device_create
[6/8] platform/mellanox: mlxreg-hotplug: Modify to use a regmap interface

This is because of incorrect order of patches: FIXME platform/mellanox
uses filed nr which replaces field
bus in Rename-i2c-bus-to-nr.
0003-FIXME-platform-mellanox-Remove-redundant-dev_err-mes.patch
0004-platform-mellanox-Group-create-destroy-with-attribut.patch
0005-platform-mellanox-Rename-i2c-bus-to-nr.patch

So, I'll resend the above three patches marked v11 "re-ordered".
If it's not good I'll redo it according to your input.

>
> Are you anticipating any additional changes beyond those in this version?
>

Additionally, after we are done with this series, I'd like to add:
- several new systems to mlx-platform;
- new module to mellanox folder with sysfs access to some special registers,
like resets and reset causes registers (mlxreg-io);
- make configuration and activation of mlxreg-io in mlx-patfrom;

And later, after I am done with upstream work with leds-mlxreg driver, I'd
like to add configuration and activation of this driver in mlx-patform as well.

Thanks,
Vadim.

> --
> Darren Hart
> VMware Open Source Technology Center