lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:	Sat, 21 May 2016 20:08:46 +0100
From:	Jonathan Cameron <jic23@...nel.org>
To:	Javier Martinez Canillas <javier@....samsung.com>,
	linux-kernel@...r.kernel.org
Cc:	Kieran Bingham <kieran@...uared.org.uk>,
	Tiberiu Breana <tiberiu.a.breana@...el.com>,
	linux-iio@...r.kernel.org, Hartmut Knaack <knaack.h@....de>,
	Ludovic Tancerel <ludovic.tancerel@...lehightech.com>,
	Lars-Peter Clausen <lars@...afoo.de>,
	Matt Ranostay <mranostay@...il.com>,
	Crestez Dan Leonard <leonard.crestez@...el.com>,
	Peter Meerwald-Stadler <pmeerw@...erw.net>
Subject: Re: [PATCH] iio: Export I2C module alias information

On 17/05/16 17:25, Javier Martinez Canillas wrote:
> The I2C drivers have an i2c_device_id array but that information isn't
> exported to the modules using the MODULE_DEVICE_TABLE() macro. So the
> modules autoloading won't work if the I2C device is registered using
> OF or legacy board files due missing alias information in the modules.
> 
> The issue was found using Kieran Bingham's coccinelle semantic patch:
> https://lkml.org/lkml/2016/5/10/520
> 
> Signed-off-by: Javier Martinez Canillas <javier@....samsung.com>
Applied to the togreg branch of iio.git - initially pushed out as
testing for the autobuilders to play with it.

thanks

Jonathan
> 
> ---
> 
>  drivers/iio/humidity/am2315.c     | 1 +
>  drivers/iio/humidity/htu21.c      | 1 +
>  drivers/iio/pressure/hp206c.c     | 1 +
>  drivers/iio/pressure/ms5637.c     | 1 +
>  drivers/iio/temperature/tsys02d.c | 1 +
>  5 files changed, 5 insertions(+)
> 
> diff --git a/drivers/iio/humidity/am2315.c b/drivers/iio/humidity/am2315.c
> index 3be6d209a159..8de39bd349f9 100644
> --- a/drivers/iio/humidity/am2315.c
> +++ b/drivers/iio/humidity/am2315.c
> @@ -278,6 +278,7 @@ static const struct i2c_device_id am2315_i2c_id[] = {
>  	{"am2315", 0},
>  	{}
>  };
> +MODULE_DEVICE_TABLE(i2c, am2315_i2c_id);
>  
>  static const struct acpi_device_id am2315_acpi_id[] = {
>  	{"AOS2315", 0},
> diff --git a/drivers/iio/humidity/htu21.c b/drivers/iio/humidity/htu21.c
> index 11cbc38b450f..0fbbd8c40894 100644
> --- a/drivers/iio/humidity/htu21.c
> +++ b/drivers/iio/humidity/htu21.c
> @@ -236,6 +236,7 @@ static const struct i2c_device_id htu21_id[] = {
>  	{"ms8607-humidity", MS8607},
>  	{}
>  };
> +MODULE_DEVICE_TABLE(i2c, htu21_id);
>  
>  static struct i2c_driver htu21_driver = {
>  	.probe = htu21_probe,
> diff --git a/drivers/iio/pressure/hp206c.c b/drivers/iio/pressure/hp206c.c
> index 90f2b6e4a920..12f769e86355 100644
> --- a/drivers/iio/pressure/hp206c.c
> +++ b/drivers/iio/pressure/hp206c.c
> @@ -401,6 +401,7 @@ static const struct i2c_device_id hp206c_id[] = {
>  	{"hp206c"},
>  	{}
>  };
> +MODULE_DEVICE_TABLE(i2c, hp206c_id);
>  
>  #ifdef CONFIG_ACPI
>  static const struct acpi_device_id hp206c_acpi_match[] = {
> diff --git a/drivers/iio/pressure/ms5637.c b/drivers/iio/pressure/ms5637.c
> index e68052c118e6..8fb6f7ab97e4 100644
> --- a/drivers/iio/pressure/ms5637.c
> +++ b/drivers/iio/pressure/ms5637.c
> @@ -173,6 +173,7 @@ static const struct i2c_device_id ms5637_id[] = {
>  	{"ms8607-temppressure", 1},
>  	{}
>  };
> +MODULE_DEVICE_TABLE(i2c, ms5637_id);
>  
>  static struct i2c_driver ms5637_driver = {
>  	.probe = ms5637_probe,
> diff --git a/drivers/iio/temperature/tsys02d.c b/drivers/iio/temperature/tsys02d.c
> index ab6fe8f6f2d1..c0a19a000387 100644
> --- a/drivers/iio/temperature/tsys02d.c
> +++ b/drivers/iio/temperature/tsys02d.c
> @@ -174,6 +174,7 @@ static const struct i2c_device_id tsys02d_id[] = {
>  	{"tsys02d", 0},
>  	{}
>  };
> +MODULE_DEVICE_TABLE(i2c, tsys02d_id);
>  
>  static struct i2c_driver tsys02d_driver = {
>  	.probe = tsys02d_probe,
> 

Powered by blists - more mailing lists