Re: [PATCH v2] Input: ar1021-i2c - fix too long name in driver's device table
From: Jean Delvare
Date: Sat Apr 15 2017 - 02:42:45 EST
On Thu, 13 Apr 2017 16:32:25 -0700, Dmitry Torokhov wrote:
> The name field in structure i2c_device_id is 20 characters, and we expect
> it to be NULL-terminated, however we are trying to stuff it with 21 bytes
> and thus NULL-terminator is lost. This causes issues when one creates
> device with name "MICROCHIP_AR1021_I2C" as i2c core cuts off the last "C",
> and automatic module loading by alias does not work as result.
>
> The -I2C suffix in the device name is superfluous, we know what bus we are
> dealing with, so let's drop it. Also, no other driver uses capitals, and
> the manufacturer name is normally not included, except in very rare cases
> of incompatible name collisions.
>
> Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=116211
> Fixes: dd4cae8bf166 ("Input: Add Microchip AR1021 i2c touchscreen")
> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
> ---
>
> V2: Changed MICROCHIP_AR1021 -> ar1021 as Jean suggested.
>
> drivers/input/touchscreen/ar1021_i2c.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
> (...)
Reviewed-by: Jean Delvare <jdelvare@xxxxxxx>
> diff --git a/drivers/input/touchscreen/ar1021_i2c.c b/drivers/input/touchscreen/ar1021_i2c.c
> index 2e7500edd477..6797e123925a 100644
> --- a/drivers/input/touchscreen/ar1021_i2c.c
> +++ b/drivers/input/touchscreen/ar1021_i2c.c
> @@ -151,7 +151,7 @@ static int __maybe_unused ar1021_i2c_resume(struct device *dev)
> static SIMPLE_DEV_PM_OPS(ar1021_i2c_pm, ar1021_i2c_suspend, ar1021_i2c_resume);
>
> static const struct i2c_device_id ar1021_i2c_id[] = {
> - { "MICROCHIP_AR1021_I2C", 0 },
> + { "ar1021", 0 },
> { },
> };
> MODULE_DEVICE_TABLE(i2c, ar1021_i2c_id);
--
Jean Delvare
SUSE L3 Support