Lines Matching refs:kcfg

390 		} kcfg;
1463 switch (ext->kcfg.type) {
1466 pr_warn("extern (kcfg) %s=%c should be tristate or char\n",
1487 pr_warn("extern (kcfg) %s=%c should be bool, tristate, or char\n",
1500 if (ext->kcfg.type != KCFG_CHAR_ARR) {
1501 pr_warn("extern (kcfg) %s=%s should be char array\n", ext->name, value);
1507 pr_warn("extern (kcfg) '%s': invalid string config '%s'\n",
1514 if (len >= ext->kcfg.sz) {
1515 pr_warn("extern (kcfg) '%s': long string config %s of (%zu bytes) truncated to %d bytes\n",
1516 ext->name, value, len, ext->kcfg.sz - 1);
1517 len = ext->kcfg.sz - 1;
1546 int bit_sz = ext->kcfg.sz * 8;
1548 if (ext->kcfg.sz == 8)
1563 if (ext->kcfg.is_signed)
1572 if (ext->kcfg.type != KCFG_INT && ext->kcfg.type != KCFG_CHAR) {
1573 pr_warn("extern (kcfg) %s=%llu should be integer\n",
1578 pr_warn("extern (kcfg) %s=%llu value doesn't fit in %d bytes\n",
1579 ext->name, (unsigned long long)value, ext->kcfg.sz);
1582 switch (ext->kcfg.sz) {
1628 ext_val = data + ext->kcfg.data_off;
1642 pr_warn("extern (kcfg) %s=%s should be integer\n",
1651 pr_debug("extern (kcfg) %s=%s\n", ext->name, value);
1735 map_sz = last_ext->kcfg.data_off + last_ext->kcfg.sz;
3059 if (a->kcfg.align != b->kcfg.align)
3060 return a->kcfg.align > b->kcfg.align ? -1 : 1;
3062 if (a->kcfg.sz != b->kcfg.sz)
3063 return a->kcfg.sz < b->kcfg.sz ? -1 : 1;
3149 ext->kcfg.sz = btf__resolve_size(obj->btf, t->type);
3150 if (ext->kcfg.sz <= 0) {
3151 pr_warn("failed to resolve size of extern (kcfg) '%s': %d\n",
3152 ext_name, ext->kcfg.sz);
3153 return ext->kcfg.sz;
3155 ext->kcfg.align = btf__align_of(obj->btf, t->type);
3156 if (ext->kcfg.align <= 0) {
3157 pr_warn("failed to determine alignment of extern (kcfg) '%s': %d\n",
3158 ext_name, ext->kcfg.align);
3161 ext->kcfg.type = find_kcfg_type(obj->btf, t->type,
3162 &ext->kcfg.is_signed);
3163 if (ext->kcfg.type == KCFG_UNKNOWN) {
3164 pr_warn("extern (kcfg) '%s' type is unsupported\n", ext_name);
3182 /* sort externs by type, for kcfg ones also by (align, size, name) */
3227 /* for kcfg externs calculate their offsets within a .kconfig map */
3234 ext->kcfg.data_off = roundup(off, ext->kcfg.align);
3235 off = ext->kcfg.data_off + ext->kcfg.sz;
3236 pr_debug("extern (kcfg) #%d: symbol %d, off %u, name %s\n",
3237 i, ext->sym_idx, ext->kcfg.data_off, ext->name);
3253 vs->offset = ext->kcfg.data_off;
6030 insn[1].imm = ext->kcfg.data_off;
7253 void *ext_val = kcfg_data + ext->kcfg.data_off;
7263 pr_debug("extern (kcfg) %s=0x%x\n", ext->name, kver);