diff options
Diffstat (limited to 'drivers/mfd/tps65910.c')
| -rw-r--r-- | drivers/mfd/tps65910.c | 14 | 
1 files changed, 7 insertions, 7 deletions
diff --git a/drivers/mfd/tps65910.c b/drivers/mfd/tps65910.c index d7927720483..f9e42ea1cb1 100644 --- a/drivers/mfd/tps65910.c +++ b/drivers/mfd/tps65910.c @@ -25,6 +25,7 @@  #include <linux/mfd/core.h>  #include <linux/regmap.h>  #include <linux/mfd/tps65910.h> +#include <linux/of.h>  #include <linux/of_device.h>  static struct resource rtc_resources[] = { @@ -35,7 +36,7 @@ static struct resource rtc_resources[] = {  	}  }; -static struct mfd_cell tps65910s[] = { +static const struct mfd_cell tps65910s[] = {  	{  		.name = "tps65910-gpio",  	}, @@ -254,8 +255,10 @@ static int tps65910_irq_init(struct tps65910 *tps65910, int irq,  	ret = regmap_add_irq_chip(tps65910->regmap, tps65910->chip_irq,  		IRQF_ONESHOT, pdata->irq_base,  		tps6591x_irqs_chip, &tps65910->irq_data); -	if (ret < 0) +	if (ret < 0) {  		dev_warn(tps65910->dev, "Failed to add irq_chip %d\n", ret); +		tps65910->chip_irq = 0; +	}  	return ret;  } @@ -376,7 +379,7 @@ err_sleep_init:  }  #ifdef CONFIG_OF -static struct of_device_id tps65910_of_match[] = { +static const struct of_device_id tps65910_of_match[] = {  	{ .compatible = "ti,tps65910", .data = (void *)TPS65910},  	{ .compatible = "ti,tps65911", .data = (void *)TPS65911},  	{ }, @@ -410,14 +413,10 @@ static struct tps65910_board *tps65910_parse_dt(struct i2c_client *client,  	ret = of_property_read_u32(np, "ti,vmbch-threshold", &prop);  	if (!ret)  		board_info->vmbch_threshold = prop; -	else if (*chip_id == TPS65911) -		dev_warn(&client->dev, "VMBCH-Threshold not specified");  	ret = of_property_read_u32(np, "ti,vmbch2-threshold", &prop);  	if (!ret)  		board_info->vmbch2_threshold = prop; -	else if (*chip_id == TPS65911) -		dev_warn(&client->dev, "VMBCH2-Threshold not specified");  	prop = of_property_read_bool(np, "ti,en-ck32k-xtal");  	board_info->en_ck32k_xtal = prop; @@ -512,6 +511,7 @@ static int tps65910_i2c_probe(struct i2c_client *i2c,  			      regmap_irq_get_domain(tps65910->irq_data));  	if (ret < 0) {  		dev_err(&i2c->dev, "mfd_add_devices failed: %d\n", ret); +		tps65910_irq_exit(tps65910);  		return ret;  	}  | 
