From: Lars-Peter Clausen Date: Thu, 16 Jul 2015 19:22:49 +0000 (+0200) Subject: ASoC: max9877: Make driver global regmap struct local X-Git-Tag: v4.3-rc1~77^2~7^2~11^5~1 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=df2e268226e2e3d79980a5dddfd683126f79ddb4;p=karo-tx-linux.git ASoC: max9877: Make driver global regmap struct local Use a stack local variable to handle function local state rather than a global static variable. The later has a potential for race conditions if the probe function runs for two devices concurrently. Signed-off-by: Lars-Peter Clausen Signed-off-by: Mark Brown --- diff --git a/sound/soc/codecs/max9877.c b/sound/soc/codecs/max9877.c index e1df06fab756..b469e1c82ea2 100644 --- a/sound/soc/codecs/max9877.c +++ b/sound/soc/codecs/max9877.c @@ -20,8 +20,6 @@ #include "max9877.h" -static struct regmap *regmap; - static const struct reg_default max9877_regs[] = { { 0, 0x40 }, { 1, 0x00 }, @@ -145,6 +143,7 @@ static const struct regmap_config max9877_regmap = { static int max9877_i2c_probe(struct i2c_client *client, const struct i2c_device_id *id) { + struct regmap *regmap; int i; regmap = devm_regmap_init_i2c(client, &max9877_regmap);