]> Pileus Git - ~andy/linux/blobdiff - drivers/base/regmap/regmap.c
Merge remote-tracking branch 'regmap/topic/patch' into regmap-next
[~andy/linux] / drivers / base / regmap / regmap.c
index 55d9118d2d6fc1f37c1c6e0ca853b77e8ca7071a..ff58f3847c06474a58e8aa7e3f36a938d7d870e1 100644 (file)
@@ -1261,6 +1261,9 @@ int _regmap_write(struct regmap *map, unsigned int reg,
        int ret;
        void *context = _regmap_map_get_context(map);
 
+       if (!regmap_writeable(map, reg))
+               return -EIO;
+
        if (!map->cache_bypass && !map->defer_caching) {
                ret = regcache_write(map, reg, val);
                if (ret != 0)
@@ -1853,7 +1856,7 @@ int regmap_async_complete(struct regmap *map)
        int ret;
 
        /* Nothing to do with no async support */
-       if (!map->bus->async_write)
+       if (!map->bus || !map->bus->async_write)
                return 0;
 
        trace_regmap_async_complete_start(map->dev);