On 28/04/16 15:19, Lars-Peter Clausen wrote: > On 04/28/2016 03:30 PM, Peter Meerwald-Stadler wrote: >> >>>> It's clearly wrong. But the problem is there might be an application that >>>> depends on the wrong behavior, the driver has been around for 2.5 years. So >>>> it's difficult to fix. We might just go ahead in this case and take the >>>> chance that nobody will complain. But if somebody complains this will bring >>>> us the wrath of the Linus. >>> >>> Not if you put it into next, test it, then into a new release as early as >>> possible (for -rc1), clearly document that it's got a user visible change >>> that should not matter with instructions if anyone hits this as a >>> bisection for their app failing to email so you know and can revert it. >> >> is this the only driver doing it wrong? >> >> pmeerw@pmeerw:/var/git/linux/drivers/iio$ rgrep "indio_dev->name = dev_name" . >> ./imu/inv_mpu6050/inv_mpu_core.c: indio_dev->name = dev_name(dev); >> ./light/lm3533-als.c: indio_dev->name = dev_name(&pdev->dev); >> ./dac/vf610_dac.c: indio_dev->name = dev_name(&pdev->dev); >> ./dac/stx104.c: indio_dev->name = dev_name(dev); >> ./dac/lpc18xx_dac.c: indio_dev->name = dev_name(&pdev->dev); >> ./adc/mcp3422.c: indio_dev->name = dev_name(&client->dev); >> ./adc/at91-sama5d2_adc.c: indio_dev->name = dev_name(&pdev->dev); >> ./adc/vf610_adc.c: indio_dev->name = dev_name(&pdev->dev); >> ./adc/ti_am335x_adc.c: indio_dev->name = dev_name(&pdev->dev); >> ./adc/nau7802.c: indio_dev->name = dev_name(&client->dev); >> ./adc/da9150-gpadc.c: indio_dev->name = dev_name(dev); >> ./adc/lpc18xx_adc.c: indio_dev->name = dev_name(&pdev->dev); >> ./adc/rockchip_saradc.c: indio_dev->name = dev_name(&pdev->dev); >> ./adc/imx7d_adc.c: indio_dev->name = dev_name(&pdev->dev); >> ./adc/cc10001_adc.c: indio_dev->name = dev_name(&pdev->dev); >> ./adc/berlin2-adc.c: indio_dev->name = dev_name(&pdev->dev); >> ./adc/exynos_adc.c: indio_dev->name = dev_name(&pdev->dev); >> ./temperature/tmp006.c: indio_dev->name = dev_name(&client->dev); >> ./chemical/ams-iaq-core.c: indio_dev->name = dev_name(&client->dev); >> ./chemical/vz89x.c: indio_dev->name = dev_name(&client->dev); >> ./humidity/si7005.c: indio_dev->name = dev_name(&client->dev); >> ./humidity/hdc100x.c: indio_dev->name = dev_name(&client->dev); >> ./humidity/si7020.c: indio_dev->name = dev_name(&client->dev); > > Yes, they are all wrong. Mostly of it is just copy'n'paste. We need to be > more careful to catch these in the future. > <expletive deleted> Lars is unfortunately right, I don't think we can unwind this mess now. If it had been just one driver I'd have crossed my fingers and taken it - unfortunately this is way too many. Only way we could clean this up would be define new ABI with the intended value and deprecate the old one over a very very long time. Do we want to do this? -- To unsubscribe from this list: send the line "unsubscribe linux-iio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html