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  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20140207105657.GL14727@lee--X1>
Date:	Fri, 7 Feb 2014 10:56:57 +0000
From:	Lee Jones <lee.jones@...aro.org>
To:	Adam Thomson <Adam.Thomson.Opensource@...semi.com>
Cc:	Mark Brown <broonie@...nel.org>, alsa-devel@...a-project.org,
	linux-kernel@...r.kernel.org, devicetree@...r.kernel.org,
	Rob Herring <robh+dt@...nel.org>,
	Linus Walleij <linus.walleij@...aro.org>,
	Dmitry Torokhov <dmitry.torokhov@...il.com>,
	Alessandro Zummo <a.zummo@...ertech.it>,
	Guenter Roeck <linux@...ck-us.net>
Subject: Re: [PATCH v2 1/8] ASoC: da9055: Fix device registration of PMIC and
 CODEC devices

> Currently the I2C device Ids conflict for the MFD and CODEC so
> cannot be both instantiated on one platform. This patch updates
> the Ids and names to make them unique from each other.
> 
> It should be noted that the I2C addresses for both PMIC and CODEC
> are modifiable so instantiation of the two are kept as separate
> devices, rather than instantiating the CODEC from the MFD code.
> 
> Signed-off-by: Adam Thomson <Adam.Thomson.Opensource@...semi.com>
> Acked-by: Mark Brown <broonie@...aro.org>
> ---
>  drivers/mfd/da9055-i2c.c  |   12 ++++++++++--
>  sound/soc/codecs/da9055.c |   11 +++++++++--
>  2 files changed, 19 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/mfd/da9055-i2c.c b/drivers/mfd/da9055-i2c.c
> index 13af7e5..8103e43 100644
> --- a/drivers/mfd/da9055-i2c.c
> +++ b/drivers/mfd/da9055-i2c.c
> @@ -53,17 +53,25 @@ static int da9055_i2c_remove(struct i2c_client *i2c)
>  	return 0;
>  }
> 
> +/*
> + * DO NOT change the device Ids. The naming is intentionally specific as both
> + * the PMIC and CODEC parts of this chip are instantiated separately as I2C
> + * devices (both have configurable I2C addresses, and are to all intents and
> + * purposes separate). As a result there are specific DA9055 ids for PMIC
> + * and CODEC, which must be different to operate together.
> + */

I'm not sure this comment is required.

Most device IDs are named this way.

>  static struct i2c_device_id da9055_i2c_id[] = {
> -	{"da9055", 0},
> +	{"da9055-pmic", 0},
>  	{ }
>  };
> +MODULE_DEVICE_TABLE(i2c, da9055_i2c_id);
> 
>  static struct i2c_driver da9055_i2c_driver = {
>  	.probe = da9055_i2c_probe,
>  	.remove = da9055_i2c_remove,
>  	.id_table = da9055_i2c_id,
>  	.driver = {
> -		.name = "da9055",
> +		.name = "da9055-pmic",
>  		.owner = THIS_MODULE,
>  	},
>  };
> diff --git a/sound/soc/codecs/da9055.c b/sound/soc/codecs/da9055.c
> index 52b79a4..4228126 100644
> --- a/sound/soc/codecs/da9055.c
> +++ b/sound/soc/codecs/da9055.c
> @@ -1523,8 +1523,15 @@ static int da9055_remove(struct i2c_client *client)
>  	return 0;
>  }
> 
> +/*
> + * DO NOT change the device Ids. The naming is intentionally specific as both
> + * the CODEC and PMIC parts of this chip are instantiated separately as I2C
> + * devices (both have configurable I2C addresses, and are to all intents and
> + * purposes separate). As a result there are specific DA9055 Ids for CODEC
> + * and PMIC, which must be different to operate together.
> + */

And here, really, no need.

>  static const struct i2c_device_id da9055_i2c_id[] = {
> -	{ "da9055", 0 },
> +	{ "da9055-codec", 0 },
>  	{ }
>  };
>  MODULE_DEVICE_TABLE(i2c, da9055_i2c_id);
> @@ -1532,7 +1539,7 @@ MODULE_DEVICE_TABLE(i2c, da9055_i2c_id);
>  /* I2C codec control layer */
>  static struct i2c_driver da9055_i2c_driver = {
>  	.driver = {
> -		.name = "da9055",
> +		.name = "da9055-codec",
>  		.owner = THIS_MODULE,
>  	},
>  	.probe		= da9055_i2c_probe,

-- 
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 linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ