Lines Matching refs:kcfg

584 		} kcfg;
1962 switch (ext->kcfg.type) {
1965 pr_warn("extern (kcfg) '%s': value '%c' implies tristate or char type\n",
1986 pr_warn("extern (kcfg) '%s': value '%c' implies bool, tristate, or char type\n",
1999 if (ext->kcfg.type != KCFG_CHAR_ARR) {
2000 pr_warn("extern (kcfg) '%s': value '%s' implies char array type\n",
2007 pr_warn("extern (kcfg) '%s': invalid string config '%s'\n",
2014 if (len >= ext->kcfg.sz) {
2015 pr_warn("extern (kcfg) '%s': long string '%s' of (%zu bytes) truncated to %d bytes\n",
2016 ext->name, value, len, ext->kcfg.sz - 1);
2017 len = ext->kcfg.sz - 1;
2046 int bit_sz = ext->kcfg.sz * 8;
2048 if (ext->kcfg.sz == 8)
2063 if (ext->kcfg.is_signed)
2072 if (ext->kcfg.type != KCFG_INT && ext->kcfg.type != KCFG_CHAR &&
2073 ext->kcfg.type != KCFG_BOOL) {
2074 pr_warn("extern (kcfg) '%s': value '%llu' implies integer, char, or boolean type\n",
2078 if (ext->kcfg.type == KCFG_BOOL && value > 1) {
2079 pr_warn("extern (kcfg) '%s': value '%llu' isn't boolean compatible\n",
2085 pr_warn("extern (kcfg) '%s': value '%llu' doesn't fit in %d bytes\n",
2086 ext->name, (unsigned long long)value, ext->kcfg.sz);
2089 switch (ext->kcfg.sz) {
2143 ext_val = data + ext->kcfg.data_off;
2157 pr_warn("extern (kcfg) '%s': value '%s' isn't a valid integer\n", ext->name, value);
2160 if (ext->kcfg.type != KCFG_INT && ext->kcfg.type != KCFG_CHAR) {
2161 pr_warn("extern (kcfg) '%s': value '%s' implies integer type\n", ext->name, value);
2169 pr_debug("extern (kcfg) '%s': set to %s\n", ext->name, value);
2253 map_sz = last_ext->kcfg.data_off + last_ext->kcfg.sz;
4034 if (a->kcfg.align != b->kcfg.align)
4035 return a->kcfg.align > b->kcfg.align ? -1 : 1;
4037 if (a->kcfg.sz != b->kcfg.sz)
4038 return a->kcfg.sz < b->kcfg.sz ? -1 : 1;
4182 ext->kcfg.sz = btf__resolve_size(obj->btf, t->type);
4183 if (ext->kcfg.sz <= 0) {
4184 pr_warn("failed to resolve size of extern (kcfg) '%s': %d\n",
4185 ext_name, ext->kcfg.sz);
4186 return ext->kcfg.sz;
4188 ext->kcfg.align = btf__align_of(obj->btf, t->type);
4189 if (ext->kcfg.align <= 0) {
4190 pr_warn("failed to determine alignment of extern (kcfg) '%s': %d\n",
4191 ext_name, ext->kcfg.align);
4194 ext->kcfg.type = find_kcfg_type(obj->btf, t->type,
4195 &ext->kcfg.is_signed);
4196 if (ext->kcfg.type == KCFG_UNKNOWN) {
4197 pr_warn("extern (kcfg) '%s': type is unsupported\n", ext_name);
4215 /* sort externs by type, for kcfg ones also by (align, size, name) */
4287 /* for kcfg externs calculate their offsets within a .kconfig map */
4294 ext->kcfg.data_off = roundup(off, ext->kcfg.align);
4295 off = ext->kcfg.data_off + ext->kcfg.sz;
4296 pr_debug("extern (kcfg) #%d: symbol %d, off %u, name %s\n",
4297 i, ext->sym_idx, ext->kcfg.data_off, ext->name);
4313 vs->offset = ext->kcfg.data_off;
5994 insn[1].imm = ext->kcfg.data_off;
8255 void *ext_ptr = kcfg_data + ext->kcfg.data_off;
8264 /* Virtual kcfg externs are customly handled by libbpf */
8268 pr_warn("extern (kcfg) '%s': failed to get kernel version\n", ext->name);
8283 pr_warn("extern (kcfg) '%s': unrecognized virtual extern\n", ext->name);
8290 pr_debug("extern (kcfg) '%s': set to 0x%llx\n",