Re: [PATCH] iio: tmp006: Set correct iio name

From: Lars-Peter Clausen
Date: Thu Apr 28 2016 - 10:19:50 EST


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.