On Thu, 2017-03-23 at 11:21 +0000, Lee Jones wrote: > On Thu, 16 Mar 2017, Andy Shevchenko wrote: > > > There is a potential flaw if cell has id > 0 and is going to be > > registered with PLATFORM_DEVID_NONE. > > > > Ignore if PLATFORM_DEVID_NONE is supplied. > > This is a substantial change to a pretty tried and tested piece of > sub-system code. Can you put some more meat on the bones in the > commit log, and include examples.
Example in pseudo code: cells = { [0] = { .id = 0, .name = "moduleX", }, [1] = { .id = 1, .name = "moduleY", }, [2] = { .id = 2, .name = "moduleZ", }, ... }; mfd_add_devices(..., PLATFORM_DEVID_NONE, cells, ARRAY_SIZE(cells), ...); Output (names of the devices in the drivers): "moduleX" "moduleY.0" "moduleX.1" Desired output: "moduleX" "moduleY" "moduleZ" Is it by design? > > > Signed-off-by: Andy Shevchenko <andriy.shevche...@linux.intel.com> > > --- > > drivers/mfd/mfd-core.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/drivers/mfd/mfd-core.c b/drivers/mfd/mfd-core.c > > index c57e407020f1..c9583f895058 100644 > > --- a/drivers/mfd/mfd-core.c > > +++ b/drivers/mfd/mfd-core.c > > @@ -149,7 +149,7 @@ static int mfd_add_device(struct device *parent, > > int id, > > int platform_id; > > int r; > > > > - if (id == PLATFORM_DEVID_AUTO) > > + if (id < 0) > > platform_id = id; > > else > > platform_id = id + cell->id; > > -- Andy Shevchenko <andriy.shevche...@linux.intel.com> Intel Finland Oy