On Wed, 25 Mar 2015, Johan Hovold wrote: > Since commit 6e3f62f0793e ("mfd: core: Fix platform-device id > generation") we honour PLATFORM_DEVID_AUTO and PLATFORM_DEVID_NONE when > registering mfd-devices. > > Unfortunately, some mfd-drivers rely on the old behaviour of generating > platform-device ids by adding the cell id also to the special value of > PLATFORM_DEVID_NONE. The resulting platform ids are not only used to > generate device-unique names, but are also used instead of the cell id > to identify cells when probing subdevices. > > These drivers should be updated to use PLATFORM_DEVID_AUTO, which would > also allow more than one device to be registered without resorting to > hacks (see for example wm831x), but lets fix the regression first by > partially reverting the above mentioned commit with respect to > PLATFORM_DEVID_NONE. > > Fixes: 6e3f62f0793e ("mfd: core: Fix platform-device id generation") > Cc: stable <stable@xxxxxxxxxxxxxxx> # v3.19 > Reported-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> > Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> > --- > drivers/mfd/mfd-core.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) Applied, thanks. > diff --git a/drivers/mfd/mfd-core.c b/drivers/mfd/mfd-core.c > index 2a87f69be53d..1aed3b7b8d9b 100644 > --- a/drivers/mfd/mfd-core.c > +++ b/drivers/mfd/mfd-core.c > @@ -128,7 +128,7 @@ static int mfd_add_device(struct device *parent, int id, > int platform_id; > int r; > > - if (id < 0) > + if (id == PLATFORM_DEVID_AUTO) > platform_id = id; > else > platform_id = id + cell->id; -- Lee Jones Linaro STMicroelectronics Landing Team Lead Linaro.org │ Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html