arch/arm/include/asm/module.h
22
struct elf32_shdr *plt;
arch/arm/include/asm/module.lds.h
4
.plt 0 : { BYTE(0) }
arch/arm/include/asm/module.lds.h
5
.init.plt 0 : { BYTE(0) }
arch/arm/include/asm/vmlinux.lds.h
79
.plt : { \
arch/arm/include/asm/vmlinux.lds.h
80
*(.iplt) *(.rel.iplt) *(.iplt) *(.igot.plt) \
arch/arm/include/asm/vmlinux.lds.h
82
ASSERT(SIZEOF(.plt) == 0, \
arch/arm/kernel/module-plts.c
223
mod->arch.core.plt = s;
arch/arm/kernel/module-plts.c
225
mod->arch.init.plt = s;
arch/arm/kernel/module-plts.c
242
if (!mod->arch.core.plt || !mod->arch.init.plt) {
arch/arm/kernel/module-plts.c
274
mod->arch.core.plt->sh_type = SHT_NOBITS;
arch/arm/kernel/module-plts.c
275
mod->arch.core.plt->sh_flags = SHF_EXECINSTR | SHF_ALLOC;
arch/arm/kernel/module-plts.c
276
mod->arch.core.plt->sh_addralign = L1_CACHE_BYTES;
arch/arm/kernel/module-plts.c
277
mod->arch.core.plt->sh_size = round_up(core_plts * PLT_ENT_SIZE,
arch/arm/kernel/module-plts.c
282
mod->arch.init.plt->sh_type = SHT_NOBITS;
arch/arm/kernel/module-plts.c
283
mod->arch.init.plt->sh_flags = SHF_EXECINSTR | SHF_ALLOC;
arch/arm/kernel/module-plts.c
284
mod->arch.init.plt->sh_addralign = L1_CACHE_BYTES;
arch/arm/kernel/module-plts.c
285
mod->arch.init.plt->sh_size = round_up(init_plts * PLT_ENT_SIZE,
arch/arm/kernel/module-plts.c
291
mod->arch.core.plt->sh_size, mod->arch.init.plt->sh_size);
arch/arm/kernel/module-plts.c
31
static void prealloc_fixed(struct mod_plt_sec *pltsec, struct plt_entries *plt)
arch/arm/kernel/module-plts.c
39
for (i = 0; i < ARRAY_SIZE(plt->ldr); ++i)
arch/arm/kernel/module-plts.c
40
plt->ldr[i] = PLT_ENT_LDR;
arch/arm/kernel/module-plts.c
42
BUILD_BUG_ON(sizeof(fixed_plts) > sizeof(plt->lit));
arch/arm/kernel/module-plts.c
43
memcpy(plt->lit, fixed_plts, sizeof(fixed_plts));
arch/arm/kernel/module-plts.c
50
struct plt_entries *plt;
arch/arm/kernel/module-plts.c
55
pltsec->plt_ent = (struct plt_entries *)pltsec->plt->sh_addr;
arch/arm/kernel/module-plts.c
56
plt = pltsec->plt_ent;
arch/arm/kernel/module-plts.c
58
prealloc_fixed(pltsec, plt);
arch/arm/kernel/module-plts.c
61
if (plt->lit[idx] == val)
arch/arm/kernel/module-plts.c
62
return (u32)&plt->ldr[idx];
arch/arm/kernel/module-plts.c
71
plt += (pltsec->plt_count - 1) / PLT_ENT_COUNT;
arch/arm/kernel/module-plts.c
74
if (plt->lit[idx] == val)
arch/arm/kernel/module-plts.c
75
return (u32)&plt->ldr[idx];
arch/arm/kernel/module-plts.c
79
plt++;
arch/arm/kernel/module-plts.c
83
BUG_ON(pltsec->plt_count * PLT_ENT_SIZE > pltsec->plt->sh_size);
arch/arm/kernel/module-plts.c
87
*plt = (struct plt_entries){
arch/arm/kernel/module-plts.c
92
plt->lit[idx] = val;
arch/arm/kernel/module-plts.c
94
return (u32)&plt->ldr[idx];
arch/arm64/include/asm/module.lds.h
2
.plt 0 : { BYTE(0) }
arch/arm64/include/asm/module.lds.h
3
.init.plt 0 : { BYTE(0) }
arch/arm64/kernel/ftrace.c
264
struct plt_entry *plt = NULL;
arch/arm64/kernel/ftrace.c
267
plt = mod->arch.init_ftrace_trampolines;
arch/arm64/kernel/ftrace.c
269
plt = mod->arch.ftrace_trampolines;
arch/arm64/kernel/ftrace.c
273
return &plt[FTRACE_PLT_IDX];
arch/arm64/kernel/ftrace.c
300
struct plt_entry *plt;
arch/arm64/kernel/ftrace.c
342
plt = get_ftrace_plt(mod, pc);
arch/arm64/kernel/ftrace.c
343
if (!plt) {
arch/arm64/kernel/ftrace.c
348
*addr = (unsigned long)plt;
arch/arm64/kernel/module-plts.c
106
struct plt_entry *plt = (struct plt_entry *)sechdrs[pltsec->plt_shndx].sh_addr;
arch/arm64/kernel/module-plts.c
114
if (is_forbidden_offset_for_adrp(&plt[i].adrp))
arch/arm64/kernel/module-plts.c
121
br = aarch64_insn_gen_branch_imm((u64)&plt[i].br, (u64)loc + 4,
arch/arm64/kernel/module-plts.c
124
plt[i] = __get_adrp_add_pair(val, (u64)&plt[i], rd);
arch/arm64/kernel/module-plts.c
125
plt[i].br = cpu_to_le32(br);
arch/arm64/kernel/module-plts.c
127
return (u64)&plt[i];
arch/arm64/kernel/module-plts.c
28
struct plt_entry plt;
arch/arm64/kernel/module-plts.c
35
plt = __get_adrp_add_pair(dst, (u64)pc, AARCH64_INSN_REG_16);
arch/arm64/kernel/module-plts.c
36
plt.br = cpu_to_le32(br);
arch/arm64/kernel/module-plts.c
38
return plt;
arch/arm64/kernel/module-plts.c
75
struct plt_entry *plt = (struct plt_entry *)sechdrs[pltsec->plt_shndx].sh_addr;
arch/arm64/kernel/module-plts.c
80
if (is_forbidden_offset_for_adrp(&plt[i].adrp))
arch/arm64/kernel/module-plts.c
83
plt[i] = get_plt_entry(val, &plt[i]);
arch/arm64/kernel/module-plts.c
90
if (j >= 0 && plt_entries_equal(plt + i, plt + j))
arch/arm64/kernel/module-plts.c
91
return (u64)&plt[j];
arch/arm64/kernel/module-plts.c
97
return (u64)&plt[i];
arch/arm64/kernel/module.c
447
static inline void __init_plt(struct plt_entry *plt, unsigned long addr)
arch/arm64/kernel/module.c
449
*plt = get_plt_entry(addr, plt);
arch/arm64/net/bpf_jit_comp.c
2949
void *addr, void *plt, u32 *insn)
arch/arm64/net/bpf_jit_comp.c
2959
target = plt;
arch/arm64/net/bpf_jit_comp.c
3038
struct bpf_plt *plt = NULL;
arch/arm64/net/bpf_jit_comp.c
3061
plt = image + size - PLT_TARGET_OFFSET;
arch/arm64/net/bpf_jit_comp.c
3078
if (gen_branch_or_nop(branch_type, ip, old_addr, plt, &old_insn) < 0)
arch/arm64/net/bpf_jit_comp.c
3083
if (gen_branch_or_nop(branch_type, ip, new_addr, plt, &new_insn) < 0)
arch/arm64/net/bpf_jit_comp.c
3100
if (set_memory_rw(PAGE_MASK & ((uintptr_t)&plt->target), 1))
arch/arm64/net/bpf_jit_comp.c
3102
WRITE_ONCE(plt->target, plt_target);
arch/arm64/net/bpf_jit_comp.c
3103
set_memory_ro(PAGE_MASK & ((uintptr_t)&plt->target), 1);
arch/arm64/net/bpf_jit_comp.c
987
struct bpf_plt *plt = NULL;
arch/arm64/net/bpf_jit_comp.c
993
plt = (struct bpf_plt *)(ctx->image + ctx->idx);
arch/arm64/net/bpf_jit_comp.c
999
plt->target = (u64)&dummy_tramp;
arch/loongarch/include/asm/module.h
105
struct plt_entry *plt = (struct plt_entry *)sechdrs[sec_plt->shndx].sh_addr;
arch/loongarch/include/asm/module.h
110
return plt + plt_idx;
arch/loongarch/include/asm/module.h
22
struct mod_section plt;
arch/loongarch/include/asm/module.lds.h
6
.plt 0 : { BYTE(0) }
arch/loongarch/include/asm/module.lds.h
7
.plt.idx 0 : { BYTE(0) }
arch/loongarch/kernel/ftrace_dyn.c
100
plt = get_ftrace_plt(mod, *addr);
arch/loongarch/kernel/ftrace_dyn.c
101
if (!plt) {
arch/loongarch/kernel/ftrace_dyn.c
106
*addr = (unsigned long)plt;
arch/loongarch/kernel/ftrace_dyn.c
43
struct plt_entry *plt = mod->arch.ftrace_trampolines;
arch/loongarch/kernel/ftrace_dyn.c
46
return &plt[FTRACE_PLT_IDX];
arch/loongarch/kernel/ftrace_dyn.c
49
return &plt[FTRACE_REGS_PLT_IDX];
arch/loongarch/kernel/ftrace_dyn.c
66
struct plt_entry *plt;
arch/loongarch/kernel/module-sections.c
118
mod->arch.plt.shndx = i;
arch/loongarch/kernel/module-sections.c
129
if (!mod->arch.plt.shndx) {
arch/loongarch/kernel/module-sections.c
162
plt_sec = sechdrs + mod->arch.plt.shndx;
arch/loongarch/kernel/module-sections.c
167
mod->arch.plt.num_entries = 0;
arch/loongarch/kernel/module-sections.c
168
mod->arch.plt.max_entries = num_plts;
arch/loongarch/kernel/module-sections.c
42
struct mod_section *plt_sec = &mod->arch.plt;
arch/loongarch/kernel/module-sections.c
44
struct plt_entry *plt = get_plt_entry(val, sechdrs, plt_sec, plt_idx_sec);
arch/loongarch/kernel/module-sections.c
47
if (plt)
arch/loongarch/kernel/module-sections.c
48
return (Elf_Addr)plt;
arch/loongarch/kernel/module-sections.c
53
plt = (struct plt_entry *)sechdrs[plt_sec->shndx].sh_addr;
arch/loongarch/kernel/module-sections.c
54
plt[nr] = emit_plt_entry(val);
arch/loongarch/kernel/module-sections.c
62
return (Elf_Addr)&plt[nr];
arch/riscv/include/asm/module.h
105
struct plt_entry *plt = (struct plt_entry *)sec_plt->shdr->sh_addr;
arch/riscv/include/asm/module.h
108
return plt + got_plt_idx;
arch/riscv/include/asm/module.h
23
struct mod_section plt;
arch/riscv/include/asm/module.h
65
unsigned long plt,
arch/riscv/include/asm/module.h
80
unsigned long offset = got_plt - plt;
arch/riscv/include/asm/module.lds.h
5
.plt 0 : { BYTE(0) }
arch/riscv/include/asm/module.lds.h
7
.got.plt 0 : { BYTE(0) }
arch/riscv/kernel/module-sections.c
129
mod->arch.plt.shdr = sechdrs + i;
arch/riscv/kernel/module-sections.c
136
if (!mod->arch.plt.shdr) {
arch/riscv/kernel/module-sections.c
190
mod->arch.plt.shdr->sh_type = SHT_NOBITS;
arch/riscv/kernel/module-sections.c
191
mod->arch.plt.shdr->sh_flags = SHF_EXECINSTR | SHF_ALLOC;
arch/riscv/kernel/module-sections.c
192
mod->arch.plt.shdr->sh_addralign = L1_CACHE_BYTES;
arch/riscv/kernel/module-sections.c
193
mod->arch.plt.shdr->sh_size = (num_plts + 1) * sizeof(struct plt_entry);
arch/riscv/kernel/module-sections.c
194
mod->arch.plt.num_entries = 0;
arch/riscv/kernel/module-sections.c
195
mod->arch.plt.max_entries = num_plts;
arch/riscv/kernel/module-sections.c
37
struct mod_section *plt_sec = &mod->arch.plt;
arch/riscv/kernel/module-sections.c
38
struct plt_entry *plt = get_plt_entry(val, plt_sec, got_plt_sec);
arch/riscv/kernel/module-sections.c
41
if (plt)
arch/riscv/kernel/module-sections.c
42
return (unsigned long)plt;
arch/riscv/kernel/module-sections.c
47
plt = (struct plt_entry *)plt_sec->shdr->sh_addr;
arch/riscv/kernel/module-sections.c
48
plt[i] = emit_plt_entry(val,
arch/riscv/kernel/module-sections.c
49
(unsigned long)&plt[i],
arch/riscv/kernel/module-sections.c
56
return (unsigned long)&plt[i];
arch/s390/net/bpf_jit_comp.c
2441
struct bpf_plt expected_plt, current_plt, new_plt, *plt;
arch/s390/net/bpf_jit_comp.c
2464
plt = ip + (insn.disp << 1);
arch/s390/net/bpf_jit_comp.c
2465
err = copy_from_kernel_nofault(¤t_plt, plt,
arch/s390/net/bpf_jit_comp.c
2475
s390_kernel_write(&plt->target, &new_plt.target,
arch/s390/net/bpf_jit_comp.c
575
static void bpf_jit_plt(struct bpf_plt *plt, void *ret, void *target)
arch/s390/net/bpf_jit_comp.c
577
memcpy(plt, &bpf_plt, sizeof(*plt));
arch/s390/net/bpf_jit_comp.c
578
plt->ret = ret;
arch/s390/net/bpf_jit_comp.c
587
plt->target = target ?: ret;
drivers/gpu/drm/drm_mode_config.c
532
struct drm_plane *plane, *plt;
drivers/gpu/drm/drm_mode_config.c
568
list_for_each_entry_safe(plane, plt, &dev->mode_config.plane_list,
drivers/net/phy/phy_led_triggers.c
33
struct phy_led_trigger *plt;
drivers/net/phy/phy_led_triggers.c
41
plt = phy_speed_to_led_trigger(phy, phy->speed);
drivers/net/phy/phy_led_triggers.c
42
if (!plt) {
drivers/net/phy/phy_led_triggers.c
49
if (plt != phy->last_triggered) {
drivers/net/phy/phy_led_triggers.c
56
led_trigger_event(&plt->trigger, LED_FULL);
drivers/net/phy/phy_led_triggers.c
57
phy->last_triggered = plt;
drivers/net/phy/phy_led_triggers.c
70
struct phy_led_trigger *plt,
drivers/net/phy/phy_led_triggers.c
74
plt->speed = speed;
drivers/net/phy/phy_led_triggers.c
75
phy_led_trigger_format_name(phy, plt->name, sizeof(plt->name), suffix);
drivers/net/phy/phy_led_triggers.c
76
plt->trigger.name = plt->name;
drivers/net/phy/phy_led_triggers.c
78
return led_trigger_register(&plt->trigger);
drivers/net/phy/phy_led_triggers.c
81
static void phy_led_trigger_unregister(struct phy_led_trigger *plt)
drivers/net/phy/phy_led_triggers.c
83
led_trigger_unregister(&plt->trigger);
drivers/net/wireless/realtek/rtw89/coex.c
4448
struct rtw89_mac_ax_plt plt;
drivers/net/wireless/realtek/rtw89/coex.c
4450
plt.tx = tx_val;
drivers/net/wireless/realtek/rtw89/coex.c
4451
plt.rx = rx_val;
drivers/net/wireless/realtek/rtw89/coex.c
4454
plt.band = wl->pta_req_mac;
drivers/net/wireless/realtek/rtw89/coex.c
4455
if (wl->bt_polut_type[plt.band] == tx_val)
drivers/net/wireless/realtek/rtw89/coex.c
4458
wl->bt_polut_type[plt.band] = tx_val;
drivers/net/wireless/realtek/rtw89/coex.c
4459
rtw89_mac_cfg_plt(rtwdev, &plt);
drivers/net/wireless/realtek/rtw89/coex.c
4461
plt.band = RTW89_MAC_0;
drivers/net/wireless/realtek/rtw89/coex.c
4464
rtw89_mac_cfg_plt(rtwdev, &plt);
drivers/net/wireless/realtek/rtw89/coex.c
4469
plt.band = RTW89_MAC_1;
drivers/net/wireless/realtek/rtw89/coex.c
4471
rtw89_mac_cfg_plt(rtwdev, &plt);
drivers/net/wireless/realtek/rtw89/mac.c
6577
int rtw89_mac_cfg_plt_ax(struct rtw89_dev *rtwdev, struct rtw89_mac_ax_plt *plt)
drivers/net/wireless/realtek/rtw89/mac.c
6583
ret = rtw89_mac_check_mac_en(rtwdev, plt->band, RTW89_CMAC_SEL);
drivers/net/wireless/realtek/rtw89/mac.c
6587
reg = rtw89_mac_reg_by_idx(rtwdev, R_AX_BT_PLT, plt->band);
drivers/net/wireless/realtek/rtw89/mac.c
6588
val = (plt->tx & RTW89_MAC_AX_PLT_LTE_RX ? B_AX_TX_PLT_GNT_LTE_RX : 0) |
drivers/net/wireless/realtek/rtw89/mac.c
6589
(plt->tx & RTW89_MAC_AX_PLT_GNT_BT_TX ? B_AX_TX_PLT_GNT_BT_TX : 0) |
drivers/net/wireless/realtek/rtw89/mac.c
6590
(plt->tx & RTW89_MAC_AX_PLT_GNT_BT_RX ? B_AX_TX_PLT_GNT_BT_RX : 0) |
drivers/net/wireless/realtek/rtw89/mac.c
6591
(plt->tx & RTW89_MAC_AX_PLT_GNT_WL ? B_AX_TX_PLT_GNT_WL : 0) |
drivers/net/wireless/realtek/rtw89/mac.c
6592
(plt->rx & RTW89_MAC_AX_PLT_LTE_RX ? B_AX_RX_PLT_GNT_LTE_RX : 0) |
drivers/net/wireless/realtek/rtw89/mac.c
6593
(plt->rx & RTW89_MAC_AX_PLT_GNT_BT_TX ? B_AX_RX_PLT_GNT_BT_TX : 0) |
drivers/net/wireless/realtek/rtw89/mac.c
6594
(plt->rx & RTW89_MAC_AX_PLT_GNT_BT_RX ? B_AX_RX_PLT_GNT_BT_RX : 0) |
drivers/net/wireless/realtek/rtw89/mac.c
6595
(plt->rx & RTW89_MAC_AX_PLT_GNT_WL ? B_AX_RX_PLT_GNT_WL : 0) |
drivers/net/wireless/realtek/rtw89/mac.h
1136
int (*cfg_plt)(struct rtw89_dev *rtwdev, struct rtw89_mac_ax_plt *plt);
drivers/net/wireless/realtek/rtw89/mac.h
1483
int rtw89_mac_cfg_plt(struct rtw89_dev *rtwdev, struct rtw89_mac_ax_plt *plt)
drivers/net/wireless/realtek/rtw89/mac.h
1487
return mac->cfg_plt(rtwdev, plt);
drivers/net/wireless/realtek/rtw89/mac_be.c
2489
int rtw89_mac_cfg_plt_be(struct rtw89_dev *rtwdev, struct rtw89_mac_ax_plt *plt)
drivers/net/wireless/realtek/rtw89/mac_be.c
2495
ret = rtw89_mac_check_mac_en(rtwdev, plt->band, RTW89_CMAC_SEL);
drivers/net/wireless/realtek/rtw89/mac_be.c
2499
reg = rtw89_mac_reg_by_idx(rtwdev, R_BE_BT_PLT, plt->band);
drivers/net/wireless/realtek/rtw89/mac_be.c
2500
val = (plt->tx & RTW89_MAC_AX_PLT_LTE_RX ? B_BE_TX_PLT_GNT_LTE_RX : 0) |
drivers/net/wireless/realtek/rtw89/mac_be.c
2501
(plt->tx & RTW89_MAC_AX_PLT_GNT_BT_TX ? B_BE_TX_PLT_GNT_BT_TX : 0) |
drivers/net/wireless/realtek/rtw89/mac_be.c
2502
(plt->tx & RTW89_MAC_AX_PLT_GNT_BT_RX ? B_BE_TX_PLT_GNT_BT_RX : 0) |
drivers/net/wireless/realtek/rtw89/mac_be.c
2503
(plt->tx & RTW89_MAC_AX_PLT_GNT_WL ? B_BE_TX_PLT_GNT_WL : 0) |
drivers/net/wireless/realtek/rtw89/mac_be.c
2504
(plt->rx & RTW89_MAC_AX_PLT_LTE_RX ? B_BE_RX_PLT_GNT_LTE_RX : 0) |
drivers/net/wireless/realtek/rtw89/mac_be.c
2505
(plt->rx & RTW89_MAC_AX_PLT_GNT_BT_TX ? B_BE_RX_PLT_GNT_BT_TX : 0) |
drivers/net/wireless/realtek/rtw89/mac_be.c
2506
(plt->rx & RTW89_MAC_AX_PLT_GNT_BT_RX ? B_BE_RX_PLT_GNT_BT_RX : 0) |
drivers/net/wireless/realtek/rtw89/mac_be.c
2507
(plt->rx & RTW89_MAC_AX_PLT_GNT_WL ? B_BE_RX_PLT_GNT_WL : 0) |
drivers/net/wireless/ti/wlcore/debugfs.c
59
if (!wl->plt &&
drivers/net/wireless/ti/wlcore/event.c
244
if (wl->plt) {
drivers/net/wireless/ti/wlcore/main.c
1012
if (wl->state == WLCORE_STATE_OFF || wl->plt)
drivers/net/wireless/ti/wlcore/main.c
1126
static int wl12xx_chip_wakeup(struct wl1271 *wl, bool plt)
drivers/net/wireless/ti/wlcore/main.c
1154
ret = wl12xx_fetch_firmware(wl, plt);
drivers/net/wireless/ti/wlcore/main.c
1191
wl->plt = true;
drivers/net/wireless/ti/wlcore/main.c
1222
wl->plt = false;
drivers/net/wireless/ti/wlcore/main.c
1246
if (!wl->plt) {
drivers/net/wireless/ti/wlcore/main.c
1274
wl->plt = false;
drivers/net/wireless/ti/wlcore/main.c
2600
if (wl->plt) {
drivers/net/wireless/ti/wlcore/main.c
6201
if (wl->plt)
drivers/net/wireless/ti/wlcore/main.c
6687
if (wl->plt)
drivers/net/wireless/ti/wlcore/main.c
813
static int wl12xx_fetch_firmware(struct wl1271 *wl, bool plt)
drivers/net/wireless/ti/wlcore/main.c
820
if (plt) {
drivers/net/wireless/ti/wlcore/rx.c
119
if (unlikely(wl->plt))
drivers/net/wireless/ti/wlcore/testmode.c
309
if (!wl->plt) {
drivers/net/wireless/ti/wlcore/wlcore.h
197
bool plt;
drivers/usb/host/xhci-hub.c
158
u16 plt;
drivers/usb/host/xhci-hub.c
165
plt = psi & PLT_MASK;
drivers/usb/host/xhci-hub.c
191
if (bcdUSB == 0x0320 && plt == PLT_SYM) {
drivers/usb/host/xhci-hub.c
223
switch (plt) {