aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/base/regmap/regmap.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/base/regmap/regmap.c b/drivers/base/regmap/regmap.c
index 1cf427bc0d4a..3a785a4f4ff6 100644
--- a/drivers/base/regmap/regmap.c
+++ b/drivers/base/regmap/regmap.c
@@ -1408,7 +1408,7 @@ int _regmap_write(struct regmap *map, unsigned int reg,
1408 } 1408 }
1409 1409
1410#ifdef LOG_DEVICE 1410#ifdef LOG_DEVICE
1411 if (strcmp(dev_name(map->dev), LOG_DEVICE) == 0) 1411 if (map->dev && strcmp(dev_name(map->dev), LOG_DEVICE) == 0)
1412 dev_info(map->dev, "%x <= %x\n", reg, val); 1412 dev_info(map->dev, "%x <= %x\n", reg, val);
1413#endif 1413#endif
1414 1414
@@ -1659,6 +1659,9 @@ out:
1659 } else { 1659 } else {
1660 void *wval; 1660 void *wval;
1661 1661
1662 if (!val_count)
1663 return -EINVAL;
1664
1662 wval = kmemdup(val, val_count * val_bytes, GFP_KERNEL); 1665 wval = kmemdup(val, val_count * val_bytes, GFP_KERNEL);
1663 if (!wval) { 1666 if (!wval) {
1664 dev_err(map->dev, "Error in memory allocation\n"); 1667 dev_err(map->dev, "Error in memory allocation\n");
@@ -2058,7 +2061,7 @@ static int _regmap_read(struct regmap *map, unsigned int reg,
2058 ret = map->reg_read(context, reg, val); 2061 ret = map->reg_read(context, reg, val);
2059 if (ret == 0) { 2062 if (ret == 0) {
2060#ifdef LOG_DEVICE 2063#ifdef LOG_DEVICE
2061 if (strcmp(dev_name(map->dev), LOG_DEVICE) == 0) 2064 if (map->dev && strcmp(dev_name(map->dev), LOG_DEVICE) == 0)
2062 dev_info(map->dev, "%x => %x\n", reg, *val); 2065 dev_info(map->dev, "%x => %x\n", reg, *val);
2063#endif 2066#endif
2064 2067