*参照元 [#vfe02e11] #backlinks *説明 [#u1ba9d38] -パス: [[linux-4.4.1/drivers/base/regmap/regmap.c]] -FIXME: これは何? --説明 **引数 [#o4fe27ce] -struct regmap *map -- --[[linux-4.4.1/regmap]] -unsigned int reg -- -unsigned int *val -- **返り値 [#m4fe9866] -int -- **参考 [#ta13917a] *実装 [#e19b81d2] static int _regmap_read(struct regmap *map, unsigned int reg, unsigned int *val) { int ret; void *context = _regmap_map_get_context(map); - --[[linux-4.4.1/_regmap_map_get_context()]] if (!map->cache_bypass) { ret = regcache_read(map, reg, val); if (ret == 0) return 0; } - --[[linux-4.4.1/regcache_read()]] if (map->cache_only) return -EBUSY; if (!regmap_readable(map, reg)) return -EIO; - --[[linux-4.4.1/regmap_readable()]] ret = map->reg_read(context, reg, val); if (ret == 0) { #ifdef LOG_DEVICE if (map->dev && strcmp(dev_name(map->dev), LOG_DEVICE) == 0) dev_info(map->dev, "%x => %x\n", reg, *val); - --[[linux-4.4.1/LOG_DEVICE]] --[[linux-4.4.1/strcmp()]] --[[linux-4.4.1/dev_name()]] --[[linux-4.4.1/dev_info()]] #endif trace_regmap_reg_read(map, reg, *val); - --[[linux-4.4.1/trace_regmap_reg_read()]] if (!map->cache_bypass) regcache_write(map, reg, *val); - --[[linux-4.4.1/regcache_write()]] } return ret; } *コメント [#x326f158]