| /linux/kernel/bpf/ |
| H A D | bpf_lsm.c | 33 #define LSM_HOOK(RET, DEFAULT, NAME, ...) BTF_ID(func, bpf_lsm_##NAME) 40 BTF_ID(func, bpf_lsm_vm_enough_memory) in BTF_SET_END() 41 BTF_ID(func, bpf_lsm_inode_need_killpriv) in BTF_SET_END() 42 BTF_ID(func, bpf_lsm_inode_getsecurity) in BTF_SET_END() 43 BTF_ID(func, bpf_lsm_inode_listsecurity) in BTF_SET_END() 44 BTF_ID(func, bpf_lsm_inode_copy_up_xattr) in BTF_SET_END() 45 BTF_ID(func, bpf_lsm_getselfattr) in BTF_SET_END() 46 BTF_ID(func, bpf_lsm_getprocattr) in BTF_SET_END() 47 BTF_ID(func, bpf_lsm_setprocattr) in BTF_SET_END() 49 BTF_ID(func, bpf_lsm_key_getsecurity) in BTF_SET_END() [all …]
|
| /linux/drivers/mmc/core/ |
| H A D | sdio_bus.c | 36 struct sdio_func *func; \ 38 func = dev_to_sdio_func (dev); \ 43 sdio_config_attr(class, "0x%02x\n", func->class); 44 sdio_config_attr(vendor, "0x%04x\n", func->vendor); 45 sdio_config_attr(device, "0x%04x\n", func->device); 46 sdio_config_attr(revision, "%u.%u\n", func->major_rev, func->minor_rev); 47 sdio_config_attr(modalias, "sdio:c%02Xv%04Xd%04X\n", func->class, func->vendor, func->device); 52 struct sdio_func *func = dev_to_sdio_func(dev); \ 54 if (num > func->num_info) \ 56 if (!func->info[num - 1][0]) \ [all …]
|
| /linux/drivers/pinctrl/mediatek/ |
| H A D | pinctrl-mt76x8.c | 39 FUNC("sdxc d6", 3, 19, 1), 40 FUNC("pwm1 utif", 2, 19, 1), 41 FUNC("pwm1", 0, 19, 1), 45 FUNC("sdxc d7", 3, 18, 1), 46 FUNC("pwm0 utif", 2, 18, 1), 47 FUNC("pwm0", 0, 18, 1), 51 FUNC("sdxc d5 d4", 3, 20, 2), 52 FUNC("uart2 pwm", 2, 20, 2), 53 FUNC("uart2", 0, 20, 2), 57 FUNC("sw_r", 3, 45, 2), [all …]
|
| /linux/tools/bpf/bpftool/ |
| H A D | cfg.c | 48 #define func_prev(func) list_prev_entry(func, l) argument 49 #define func_next(func) list_next_entry(func, l) argument 52 #define entry_bb(func) func_first_bb(func) argument 53 #define exit_bb(func) func_last_bb(func) argument 58 #define func_first_bb(func) \ argument 59 list_first_entry(&func->bbs, struct bb_node, l) 60 #define func_last_bb(func) \ argument 61 list_last_entry(&func->bbs, struct bb_node, l) 65 struct func_node *new_func, *func; in cfg_append_func() local 67 list_for_each_entry(func, &cfg->funcs, l) { in cfg_append_func() [all …]
|
| /linux/drivers/net/wireless/ti/wl1251/ |
| H A D | sdio.c | 22 struct sdio_func *func; member 29 return wl_sdio->func; in wl_to_func() 32 static void wl1251_sdio_interrupt(struct sdio_func *func) in wl1251_sdio_interrupt() argument 34 struct wl1251 *wl = sdio_get_drvdata(func); in wl1251_sdio_interrupt() 53 struct sdio_func *func = wl_to_func(wl); in wl1251_sdio_read() local 55 sdio_claim_host(func); in wl1251_sdio_read() 56 ret = sdio_memcpy_fromio(func, buf, addr, len); in wl1251_sdio_read() 59 sdio_release_host(func); in wl1251_sdio_read() 66 struct sdio_func *func = wl_to_func(wl); in wl1251_sdio_write() local 68 sdio_claim_host(func); in wl1251_sdio_write() [all …]
|
| /linux/drivers/net/wireless/silabs/wfx/ |
| H A D | bus_sdio.c | 46 struct sdio_func *func; member 66 ret = sdio_memcpy_fromio(bus->func, dst, sdio_addr, count); in wfx_sdio_copy_from_io() 87 ret = sdio_memcpy_toio(bus->func, sdio_addr, (void *)src, count); in wfx_sdio_copy_to_io() 98 sdio_claim_host(bus->func); in wfx_sdio_lock() 105 sdio_release_host(bus->func); in wfx_sdio_unlock() 108 static void wfx_sdio_irq_handler(struct sdio_func *func) in wfx_sdio_irq_handler() argument 110 struct wfx_sdio_priv *bus = sdio_get_drvdata(func); in wfx_sdio_irq_handler() 119 sdio_claim_host(bus->func); in wfx_sdio_irq_handler_ext() 121 sdio_release_host(bus->func); in wfx_sdio_irq_handler_ext() 133 sdio_claim_host(bus->func); in wfx_sdio_irq_subscribe() [all …]
|
| H A D | bus_spi.c | 52 struct spi_device *func; member 90 ret = spi_sync(bus->func, &m); in wfx_spi_copy_from_io() 132 ret = spi_sync(bus->func, &m); in wfx_spi_copy_to_io() 161 flags = irq_get_trigger_type(bus->func->irq); in wfx_spi_irq_subscribe() 165 return devm_request_threaded_irq(&bus->func->dev, bus->func->irq, NULL, in wfx_spi_irq_subscribe() 173 devm_free_irq(&bus->func->dev, bus->func->irq, bus); in wfx_spi_irq_unsubscribe() 187 device_set_wakeup_enable(&bus->func->dev, enabled); in wfx_spi_set_wakeup() 203 struct spi_device *func = to_spi_device(dev); in wfx_spi_suspend() local 204 struct wfx_spi_priv *bus = spi_get_drvdata(func); in wfx_spi_suspend() 209 return enable_irq_wake(func->irq); in wfx_spi_suspend() [all …]
|
| /linux/drivers/hwmon/pmbus/ |
| H A D | max34440.c | 395 data->info.func[page] = PMBUS_HAVE_VOUT | in max34451_set_supported_funcs() 399 data->info.func[page] |= PMBUS_HAVE_VIN | in max34451_set_supported_funcs() 403 data->info.func[page] = PMBUS_HAVE_VOUT; in max34451_set_supported_funcs() 406 data->info.func[page] |= PMBUS_HAVE_VIN; in max34451_set_supported_funcs() 409 data->info.func[page] = PMBUS_HAVE_IOUT | in max34451_set_supported_funcs() 413 data->info.func[page] |= PMBUS_HAVE_IIN | in max34451_set_supported_funcs() 417 data->info.func[page] = PMBUS_HAVE_IOUT; in max34451_set_supported_funcs() 420 data->info.func[page] |= PMBUS_HAVE_IIN; in max34451_set_supported_funcs() 453 /* absent func below [18] are not for monitoring */ 454 .func[2] = PMBUS_HAVE_VOUT | PMBUS_HAVE_STATUS_VOUT, [all …]
|
| /linux/drivers/pinctrl/renesas/ |
| H A D | pinctrl-rza1.c | 84 u8 func: 4; member 102 u16 func: 4; member 127 { .pin = 0, .func = 1 }, 128 { .pin = 1, .func = 1 }, 129 { .pin = 2, .func = 1 }, 130 { .pin = 3, .func = 1 }, 131 { .pin = 4, .func = 1 }, 132 { .pin = 5, .func = 1 }, 133 { .pin = 6, .func = 1 }, 134 { .pin = 7, .func = 1 }, [all …]
|
| /linux/Documentation/translations/zh_CN/kernel-hacking/ |
| H A D | hacking.rst | 49 重要的任务和中断抢占。您可以通过调用 :c:func:`schedule()` 进行睡眠。 56 且 :c:func:`in_interrupt()` ( ``include/linux/preempt.h`` )值为非(false)。 60 请注意,如果您禁用了抢占或软中断(见下文),:c:func:`in_interrupt()` 会 100 你可以使用 :c:func:`in_softirq()` 宏( ``include/linux/preempt.h`` )来确认 146 如果您的程序所做的只是读取或写入一些参数,请考虑实现 :c:func:`sysfs()` 接口。 198 :c:func:`printk()` 203 :c:func:`printk()` 将内核消息提供给控制台、dmesg和syslog守护进程。它对于调 218 :c:func:`printk()` 内部使用的1K缓冲区,不捕获溢出。请确保足够使用。 230 :c:func:`copy_to_user()` / :c:func:`copy_from_user()` / :c:func:`get_user()` / :c:func:`put_user()` 237 :c:func:`put_user()` 和 :c:func:`get_user()` 用于从用户空间中获取和向用户空 [all …]
|
| /linux/drivers/pinctrl/aspeed/ |
| H A D | pinctrl-aspeed-g7-soc1.c | 600 const struct pinfunction *func; in aspeed_g7_soc1_set_mux() local 620 func = &soc1_func->pinfunction; in aspeed_g7_soc1_set_mux() 623 for (i = 0; i < func->ngroups; i++) { in aspeed_g7_soc1_set_mux() 624 if (!strcmp(gname, func->groups[i])) { in aspeed_g7_soc1_set_mux() 676 pin, field.reg, field.shift, func->name, val); in aspeed_g7_soc1_set_mux() 1442 * FUNC() - Macro to initialize an aspeed_g7_soc1_function entry. 1455 * Example: FUNC(i2c0, (1, 4), "i2c0", "di2c0") 1458 #define FUNC(n, m, ...) \ macro 1469 FUNC(ADC0, (0), "ADC0"), 1470 FUNC(ADC1, (0), "ADC1"), [all …]
|
| /linux/kernel/livepatch/ |
| H A D | patch.c | 28 struct klp_func *func; in klp_find_ops() local 31 func = list_first_entry(&ops->func_stack, struct klp_func, in klp_find_ops() 33 if (func->old_func == old_func) in klp_find_ops() 46 struct klp_func *func; in klp_ftrace_handler() local 62 func = list_first_or_null_rcu(&ops->func_stack, struct klp_func, in klp_ftrace_handler() 66 * func should never be NULL because preemption should be disabled here in klp_ftrace_handler() 70 if (WARN_ON_ONCE(!func)) in klp_ftrace_handler() 75 * func->transition reads. The corresponding write barrier is in in klp_ftrace_handler() 80 * this handler, its TIF_PATCH_PENDING read and this func->transition in klp_ftrace_handler() 86 if (unlikely(func->transition)) { in klp_ftrace_handler() [all …]
|
| /linux/drivers/net/wireless/broadcom/b43/ |
| H A D | sdio.c | 49 static void b43_sdio_interrupt_dispatcher(struct sdio_func *func) in b43_sdio_interrupt_dispatcher() argument 51 struct b43_sdio *sdio = sdio_get_drvdata(func); in b43_sdio_interrupt_dispatcher() 57 sdio_release_host(func); in b43_sdio_interrupt_dispatcher() 59 sdio_claim_host(func); in b43_sdio_interrupt_dispatcher() 66 struct sdio_func *func = bus->host_sdio; in b43_sdio_request_irq() local 67 struct b43_sdio *sdio = sdio_get_drvdata(func); in b43_sdio_request_irq() 72 sdio_claim_host(func); in b43_sdio_request_irq() 73 err = sdio_claim_irq(func, b43_sdio_interrupt_dispatcher); in b43_sdio_request_irq() 74 sdio_release_host(func); in b43_sdio_request_irq() 82 struct sdio_func *func = bus->host_sdio; in b43_sdio_free_irq() local [all …]
|
| /linux/arch/powerpc/include/asm/ |
| H A D | interrupt.h | 100 * @func: Function name of the entry point 103 #define DECLARE_INTERRUPT_HANDLER_RAW(func) \ argument 104 __visible long func(struct pt_regs *regs) 108 * @func: Function name of the entry point 111 * @func is called from ASM entry code. 129 #define DEFINE_INTERRUPT_HANDLER_RAW(func) \ argument 131 ____##func(struct pt_regs *regs); \ 133 interrupt_handler long func(struct pt_regs *regs) \ 139 ret = ____##func (regs); \ 143 NOKPROBE_SYMBOL(func); \ [all …]
|
| /linux/drivers/gpu/drm/i915/ |
| H A D | intel_device_info.h | 144 #define DEV_INFO_FOR_EACH_FLAG(func) \ argument 145 func(is_mobile); \ 146 func(require_force_probe); \ 147 func(is_dgfx); \ 149 func(has_64bit_reloc); \ 150 func(has_64k_pages); \ 151 func(gpu_reset_clobbers_display); \ 152 func(has_reset_engine); \ 153 func(has_3d_pipeline); \ 154 func(has_flat_ccs); \ [all …]
|
| /linux/drivers/net/wireless/morsemicro/mm81x/ |
| H A D | sdio.c | 40 struct sdio_func *func; member 46 struct sdio_func *func = func1->card->sdio_func[1]; in irq_handler() local 47 struct mm81x *mors = sdio_get_drvdata(func); in irq_handler() 55 struct sdio_func *func = sdio->func; in mm81x_sdio_enable_irq() local 56 struct sdio_func *func1 = func->card->sdio_func[0]; in mm81x_sdio_enable_irq() 57 struct mm81x *mors = sdio_get_drvdata(func); in mm81x_sdio_enable_irq() 59 sdio_claim_host(func); in mm81x_sdio_enable_irq() 64 sdio_release_host(func); in mm81x_sdio_enable_irq() 70 struct sdio_func *func = sdio->func; in mm81x_sdio_disable_irq() local 71 struct sdio_func *func1 = func->card->sdio_func[0]; in mm81x_sdio_disable_irq() [all …]
|
| /linux/drivers/gpu/drm/xe/tests/ |
| H A D | xe_rtp_test.c | 105 XE_RTP_RULES(FUNC(match_no)), 110 XE_RTP_RULES(FUNC(match_yes)), 117 XE_RTP_RULES(FUNC(match_no), FUNC(match_no)), 122 XE_RTP_RULES(FUNC(match_no), FUNC(match_yes)), 127 XE_RTP_RULES(FUNC(match_yes), FUNC(match_no)), 132 XE_RTP_RULES(FUNC(match_yes), FUNC(match_yes)), 139 XE_RTP_RULES(FUNC(match_no), OR, FUNC(match_no)), 144 XE_RTP_RULES(FUNC(match_no), OR, FUNC(match_yes)), 149 XE_RTP_RULES(FUNC(match_yes), OR, FUNC(match_no)), 154 XE_RTP_RULES(FUNC(match_yes), OR, FUNC(match_yes)), [all …]
|
| /linux/drivers/gpu/drm/nouveau/nvkm/engine/gr/ |
| H A D | base.c | 32 if (gr && gr->func->ctxsw.inst) in nvkm_gr_ctxsw_inst() 33 return gr->func->ctxsw.inst(gr); in nvkm_gr_ctxsw_inst() 41 if (gr && gr->func->ctxsw.resume) in nvkm_gr_ctxsw_resume() 42 return gr->func->ctxsw.resume(gr); in nvkm_gr_ctxsw_resume() 50 if (gr && gr->func->ctxsw.pause) in nvkm_gr_ctxsw_pause() 51 return gr->func->ctxsw.pause(gr); in nvkm_gr_ctxsw_pause() 59 if (gr->func->chsw_load) in nvkm_gr_chsw_load() 60 return gr->func->chsw_load(gr); in nvkm_gr_chsw_load() 68 if (gr->func->tile) in nvkm_gr_tile() 69 gr->func->tile(gr, region, tile); in nvkm_gr_tile() [all …]
|
| H A D | nv04.c | 760 bool (*func)(struct nvkm_device *, u32, u32); in nv03_gr_mthd_gdi() local 762 case 0x0184: func = nv01_gr_mthd_bind_patt; break; in nv03_gr_mthd_gdi() 763 case 0x0188: func = nv04_gr_mthd_bind_rop; break; in nv03_gr_mthd_gdi() 764 case 0x018c: func = nv04_gr_mthd_bind_beta1; break; in nv03_gr_mthd_gdi() 765 case 0x0190: func = nv04_gr_mthd_bind_surf_dst; break; in nv03_gr_mthd_gdi() 766 case 0x02fc: func = nv04_gr_mthd_set_operation; break; in nv03_gr_mthd_gdi() 770 return func(device, inst, data); in nv03_gr_mthd_gdi() 776 bool (*func)(struct nvkm_device *, u32, u32); in nv04_gr_mthd_gdi() local 778 case 0x0188: func = nv04_gr_mthd_bind_patt; break; in nv04_gr_mthd_gdi() 779 case 0x018c: func = nv04_gr_mthd_bind_rop; break; in nv04_gr_mthd_gdi() [all …]
|
| /linux/arch/powerpc/platforms/powermac/ |
| H A D | pfunc_core.c | 73 struct pmf_function *func; member 131 return handlers->name(cmd->func, cmd->instdata, \ 579 static int pmf_parse_one(struct pmf_function *func, in pmf_parse_one() argument 587 cmd.cmdptr = func->data; in pmf_parse_one() 588 cmd.cmdend = func->data + func->length; in pmf_parse_one() 589 cmd.func = func; in pmf_parse_one() 594 LOG_PARSE("pmf: func %s, %d bytes, %s...\n", in pmf_parse_one() 595 func->name, func->length, in pmf_parse_one() 631 func->length = cmd.cmdptr - func->data; in pmf_parse_one() 641 struct pmf_function *func = NULL; in pmf_add_function_prop() local [all …]
|
| /linux/drivers/bluetooth/ |
| H A D | btsdio.c | 42 struct sdio_func *func; member 74 err = sdio_writesb(data->func, REG_TDAT, skb->data, skb->len); in btsdio_tx_packet() 77 sdio_writeb(data->func, 0x01, REG_PC_WRT, NULL); in btsdio_tx_packet() 96 sdio_claim_host(data->func); in btsdio_work() 107 sdio_release_host(data->func); in btsdio_work() 118 err = sdio_readsb(data->func, hdr, REG_RDAT, 4); in btsdio_rx_packet() 137 err = sdio_readsb(data->func, skb->data, REG_RDAT, len - 4); in btsdio_rx_packet() 160 sdio_writeb(data->func, 0x00, REG_PC_RRT, NULL); in btsdio_rx_packet() 165 static void btsdio_interrupt(struct sdio_func *func) in btsdio_interrupt() argument 167 struct btsdio_data *data = sdio_get_drvdata(func); in btsdio_interrupt() [all …]
|
| /linux/drivers/pci/hotplug/ |
| H A D | cpqphp_pci.c | 73 int cpqhp_configure_device(struct controller *ctrl, struct pci_func *func) in cpqhp_configure_device() argument 80 if (func->pci_dev == NULL) in cpqhp_configure_device() 81 func->pci_dev = pci_get_domain_bus_and_slot(0, func->bus, in cpqhp_configure_device() 82 PCI_DEVFN(func->device, in cpqhp_configure_device() 83 func->function)); in cpqhp_configure_device() 86 if (func->pci_dev == NULL) { in cpqhp_configure_device() 89 num = pci_scan_slot(ctrl->pci_dev->bus, PCI_DEVFN(func->device, func->function)); in cpqhp_configure_device() 93 func->pci_dev = pci_get_domain_bus_and_slot(0, func->bus, in cpqhp_configure_device() 94 PCI_DEVFN(func->device, in cpqhp_configure_device() 95 func->function)); in cpqhp_configure_device() [all …]
|
| /linux/drivers/net/wireless/microchip/wilc1000/ |
| H A D | sdio.c | 59 static void wilc_sdio_interrupt(struct sdio_func *func) in wilc_sdio_interrupt() argument 61 sdio_release_host(func); in wilc_sdio_interrupt() 62 wilc_handle_isr(sdio_get_drvdata(func)); in wilc_sdio_interrupt() 63 sdio_claim_host(func); in wilc_sdio_interrupt() 68 struct sdio_func *func = container_of(wilc->dev, struct sdio_func, dev); in wilc_sdio_cmd52() local 72 sdio_claim_host(func); in wilc_sdio_cmd52() 74 func->num = cmd->function; in wilc_sdio_cmd52() 77 sdio_writeb(func, cmd->data, cmd->address, &ret); in wilc_sdio_cmd52() 78 data = sdio_readb(func, cmd->address, &ret); in wilc_sdio_cmd52() 81 sdio_writeb(func, cmd->data, cmd->address, &ret); in wilc_sdio_cmd52() [all …]
|
| /linux/drivers/media/mmc/siano/ |
| H A D | smssdio.c | 77 struct sdio_func *func; member 95 sdio_claim_host(smsdev->func); in smssdio_sendrequest() 98 while (size >= smsdev->func->cur_blksize) { in smssdio_sendrequest() 99 ret = sdio_memcpy_toio(smsdev->func, SMSSDIO_DATA, in smssdio_sendrequest() 100 buffer, smsdev->func->cur_blksize); in smssdio_sendrequest() 104 buffer += smsdev->func->cur_blksize; in smssdio_sendrequest() 105 size -= smsdev->func->cur_blksize; in smssdio_sendrequest() 109 ret = sdio_memcpy_toio(smsdev->func, SMSSDIO_DATA, in smssdio_sendrequest() 114 sdio_release_host(smsdev->func); in smssdio_sendrequest() 123 static void smssdio_interrupt(struct sdio_func *func) in smssdio_interrupt() argument [all …]
|
| /linux/drivers/gpu/drm/nouveau/nvkm/subdev/gpio/ |
| H A D | base.c | 31 return gpio->func->drive(gpio, line, dir, out); in nvkm_gpio_drive() 37 return gpio->func->sense(gpio, line); in nvkm_gpio_sense() 41 nvkm_gpio_reset(struct nvkm_gpio *gpio, u8 func) in nvkm_gpio_reset() argument 43 if (gpio->func->reset) in nvkm_gpio_reset() 44 gpio->func->reset(gpio, func); in nvkm_gpio_reset() 49 struct dcb_gpio_func *func) in nvkm_gpio_find() argument 59 data = dcb_gpio_match(bios, idx, tag, line, &ver, &len, func); in nvkm_gpio_find() 66 *func = (struct dcb_gpio_func) { in nvkm_gpio_find() 67 .func = DCB_GPIO_TVDAC0, in nvkm_gpio_find() 82 struct dcb_gpio_func func; in nvkm_gpio_set() local [all …]
|