| /linux/drivers/mmc/core/ |
| H A D | sdio_bus.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 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) \ [all …]
|
| H A D | sdio_irq.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 32 struct mmc_card *card = host->card; in sdio_get_pending_irqs() 35 WARN_ON(!host->claimed); in sdio_get_pending_irqs() 45 !(host->caps & MMC_CAP_SDIO_IRQ)) { in sdio_get_pending_irqs() 60 struct mmc_card *card = host->card; in process_sdio_pending_irqs() 62 bool sdio_irq_pending = host->sdio_irq_pending; in process_sdio_pending_irqs() 64 struct sdio_func *func; in process_sdio_pending_irqs() local 71 host->sdio_irq_pending = false; in process_sdio_pending_irqs() 78 func = card->sdio_single_irq; in process_sdio_pending_irqs() 79 if (func && sdio_irq_pending) { in process_sdio_pending_irqs() [all …]
|
| /linux/tools/bpf/bpftool/ |
| H A D | cfg.c | 1 // SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 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 55 list_first_entry(&cfg->funcs, struct func_node, l) 57 list_last_entry(&cfg->funcs, struct func_node, l) 58 #define func_first_bb(func) \ argument 59 list_first_entry(&func->bbs, struct bb_node, l) 60 #define func_last_bb(func) \ argument [all …]
|
| /linux/drivers/net/wireless/ti/wl1251/ |
| H A D | sdio.c | 1 // SPDX-License-Identifier: GPL-2.0-only 23 struct sdio_func *func; member 29 struct wl1251_sdio *wl_sdio = wl->if_priv; in wl_to_func() 30 return wl_sdio->func; in wl_to_func() 33 static void wl1251_sdio_interrupt(struct sdio_func *func) in wl1251_sdio_interrupt() argument 35 struct wl1251 *wl = sdio_get_drvdata(func); in wl1251_sdio_interrupt() 40 ieee80211_queue_work(wl->hw, &wl->irq_work); in wl1251_sdio_interrupt() 54 struct sdio_func *func = wl_to_func(wl); in wl1251_sdio_read() local 56 sdio_claim_host(func); in wl1251_sdio_read() 57 ret = sdio_memcpy_fromio(func, buf, addr, len); in wl1251_sdio_read() [all …]
|
| /linux/drivers/pinctrl/mediatek/ |
| H A D | pinctrl-mt76x8.c | 1 // SPDX-License-Identifier: GPL-2.0-only 6 #include "pinctrl-mtmips.h" 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), [all …]
|
| H A D | pinctrl-mtmips.c | 1 // SPDX-License-Identifier: GPL-2.0 14 #include <linux/pinctrl/pinconf-generic.h> 19 #include <asm/mach-ralink/ralink_regs.h> 20 #include <asm/mach-ralink/mt7620.h> 22 #include "pinctrl-mtmips.h" 24 #include "../pinctrl-utils.h" 35 struct mtmips_pmx_func **func; member 50 return p->group_count; in mtmips_get_group_count() 58 return (group >= p->group_count) ? NULL : p->group_names[group]; in mtmips_get_group_name() 68 if (group >= p->group_count) in mtmips_get_group_pins() [all …]
|
| /linux/drivers/pinctrl/renesas/ |
| H A D | pinctrl-rza1.c | 1 // SPDX-License-Identifier: GPL-2.0 11 * This includes SoCs which are sub- or super- sets of this particular line, 23 #include <linux/pinctrl/pinconf-generic.h> 35 #define DRIVER_NAME "pinctrl-rza1" 75 /* ---------------------------------------------------------------------------- 80 * rza1_bidir_pin - describe a single pin that needs bidir flag applied. 84 u8 func: 4; member 88 * rza1_bidir_entry - describe a list of pins that needs bidir flag applied. 97 * rza1_swio_pin - describe a single pin that needs swio flag applied. 102 u16 func: 4; member [all …]
|
| /linux/drivers/net/wireless/silabs/wfx/ |
| H A D | bus_sdio.c | 1 // SPDX-License-Identifier: GPL-2.0-only 5 * Copyright (c) 2017-2020, Silicon Laboratories, Inc. 6 * Copyright (c) 2010, ST-Ericsson 46 struct sdio_func *func; member 65 sdio_addr |= (bus->buf_id_rx + 1) << 7; in wfx_sdio_copy_from_io() 66 ret = sdio_memcpy_fromio(bus->func, dst, sdio_addr, count); in wfx_sdio_copy_from_io() 68 bus->buf_id_rx = (bus->buf_id_rx + 1) % 4; in wfx_sdio_copy_from_io() 85 sdio_addr |= bus->buf_id_tx << 7; in wfx_sdio_copy_to_io() 87 ret = sdio_memcpy_toio(bus->func, sdio_addr, (void *)src, count); in wfx_sdio_copy_to_io() 89 bus->buf_id_tx = (bus->buf_id_tx + 1) % 32; in wfx_sdio_copy_to_io() [all …]
|
| H A D | bus_spi.c | 1 // SPDX-License-Identifier: GPL-2.0-only 5 * Copyright (c) 2017-2020, Silicon Laboratories, Inc. 7 * Copyright (c) 2010, ST-Ericsson 52 struct spi_device *func; member 84 if (bus->need_swab) in wfx_spi_copy_from_io() 90 ret = spi_sync(bus->func, &m); in wfx_spi_copy_from_io() 92 if (bus->need_swab && addr == WFX_REG_CONFIG) in wfx_spi_copy_from_io() 123 if (bus->need_swab) in wfx_spi_copy_to_io() 125 if (bus->need_swab && addr == WFX_REG_CONFIG) in wfx_spi_copy_to_io() 132 ret = spi_sync(bus->func, &m); in wfx_spi_copy_to_io() [all …]
|
| /linux/Documentation/translations/zh_CN/kernel-hacking/ |
| H A D | hacking.rst | 1 .. include:: ../disclaimer-zh_CN.rst 3 :Original: Documentation/kernel-hacking/hacking.rst 31 - 与任何进程无关,服务于硬件中断; 33 - 与任何进程无关,服务于软件中断(softirq)或子任务(tasklet); 35 - 运行于内核空间中,与进程(用户上下文)相关联; 37 - 在用户空间中运行进程。 46 ------------ 49 重要的任务和中断抢占。您可以通过调用 :c:func:`schedule()` 进行睡眠。 56 且 :c:func:`in_interrupt()` ( ``include/linux/preempt.h`` )值为非(false)。 60 请注意,如果您禁用了抢占或软中断(见下文),:c:func:`in_interrupt()` 会 [all …]
|
| /linux/kernel/livepatch/ |
| H A D | patch.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * patch.c - livepatch patching functions 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() 74 * In the enable path, enforce the order of the ops->func_stack and in klp_ftrace_handler() [all …]
|
| /linux/drivers/net/wireless/broadcom/b43/ |
| H A D | sdio.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 41 for (q = b43_sdio_quirks; q->quirks; q++) { in b43_sdio_get_quirks() 42 if (vendor == q->vendor && device == q->device) in b43_sdio_get_quirks() 43 return q->quirks; in b43_sdio_get_quirks() 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() 52 struct b43_wldev *dev = sdio->irq_handler_opaque; in b43_sdio_interrupt_dispatcher() 57 sdio_release_host(func); in b43_sdio_interrupt_dispatcher() 58 sdio->irq_handler(dev); in b43_sdio_interrupt_dispatcher() 59 sdio_claim_host(func); in b43_sdio_interrupt_dispatcher() [all …]
|
| /linux/drivers/gpu/drm/nouveau/nvkm/engine/gr/ |
| H A D | base.c | 31 struct nvkm_gr *gr = device->gr; in nvkm_gr_ctxsw_inst() 32 if (gr && gr->func->ctxsw.inst) in nvkm_gr_ctxsw_inst() 33 return gr->func->ctxsw.inst(gr); in nvkm_gr_ctxsw_inst() 40 struct nvkm_gr *gr = device->gr; in nvkm_gr_ctxsw_resume() 41 if (gr && gr->func->ctxsw.resume) in nvkm_gr_ctxsw_resume() 42 return gr->func->ctxsw.resume(gr); in nvkm_gr_ctxsw_resume() 49 struct nvkm_gr *gr = device->gr; in nvkm_gr_ctxsw_pause() 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() [all …]
|
| H A D | nv04.c | 378 * - bits 0-7: class 379 * - bit 12: color key active 380 * - bit 13: clip rect active 381 * - bit 14: if set, destination surface is swizzled and taken from buffer 5 385 * - bits 15-17: 2d operation [aka patch config] 386 * - bit 24: patch valid [enables rendering using this object] 387 * - bit 25: surf3d valid [for tex_tri and multitex_tri only] 389 * - bits 0-1: mono format 390 * - bits 8-13: color format 391 * - bits 16-31: DMA_NOTIFY instance [all …]
|
| /linux/drivers/pci/hotplug/ |
| H A D | cpqphp_pci.c | 1 // SPDX-License-Identifier: GPL-2.0+ 6 * Copyright (C) 2001 Greg Kroah-Hartman (greg@kroah.com) 49 endp = (end - sizeof(struct hrt) + 1); in detect_HRT_floating_pointer() 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() [all …]
|
| /linux/drivers/gpu/drm/i915/ |
| H A D | intel_device_info.h | 2 * Copyright © 2014-2017 Intel Corporation 103 #define INTEL_SUBPLATFORM_MASK (BIT(INTEL_SUBPLATFORM_BITS) - 1) 124 /* ADL-P */ 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); \ [all …]
|
| /linux/arch/powerpc/platforms/powermac/ |
| H A D | pfunc_core.c | 1 // SPDX-License-Identifier: GPL-2.0-only 73 struct pmf_function *func; member 84 while(bytes--) { 99 if ((cmd->cmdend - cmd->cmdptr) < 4) { in pmf_next32() 100 cmd->error = 1; in pmf_next32() 103 value = *((u32 *)cmd->cmdptr); in pmf_next32() 104 cmd->cmdptr += 4; in pmf_next32() 111 if ((cmd->cmdend - cmd->cmdptr) < count) { in pmf_next_blob() 112 cmd->error = 1; in pmf_next_blob() 115 value = cmd->cmdptr; in pmf_next_blob() [all …]
|
| /linux/drivers/bluetooth/ |
| H A D | btsdio.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 29 /* Generic Bluetooth Type-A SDIO device */ 32 /* Generic Bluetooth Type-B SDIO device */ 42 struct sdio_func *func; member 65 BT_DBG("%s", data->hdev->name); in btsdio_tx_packet() 67 /* Prepend Type-A header */ in btsdio_tx_packet() 69 skb->data[0] = (skb->len & 0x0000ff); in btsdio_tx_packet() 70 skb->data[1] = (skb->len & 0x00ff00) >> 8; in btsdio_tx_packet() 71 skb->data[2] = (skb->len & 0xff0000) >> 16; in btsdio_tx_packet() 72 skb->data[3] = hci_skb_pkt_type(skb); in btsdio_tx_packet() [all …]
|
| /linux/drivers/net/wireless/microchip/wilc1000/ |
| H A D | sdio.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Copyright (c) 2012 - 2018 Microchip Technology Inc., and its subsidiaries. 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() 75 if (cmd->read_write) { /* write */ in wilc_sdio_cmd52() [all …]
|
| /linux/drivers/media/mmc/siano/ |
| H A D | smssdio.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * smssdio.c - Siano 1xxx SDIO interface driver 8 * Copyright (C) 2006-2008, Uri Shkolnik 21 * - only typedefs should be name *_t 23 * - use ERR_PTR and friends for smscore_register_device() 25 * - smscore_getbuffer should zero fields 41 #include "sms-cards.h" 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() [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 51 struct nvkm_device *device = gpio->subdev.device; in nvkm_gpio_find() 52 struct nvkm_bios *bios = device->bios; in nvkm_gpio_find() 57 return -EINVAL; in nvkm_gpio_find() 59 data = dcb_gpio_match(bios, idx, tag, line, &ver, &len, func); in nvkm_gpio_find() [all …]
|
| /linux/drivers/gpu/drm/nouveau/nvkm/subdev/fb/ |
| H A D | base.c | 37 fb->func->tile.fini(fb, region, tile); in nvkm_fb_tile_fini() 44 fb->func->tile.init(fb, region, addr, size, pitch, flags, tile); in nvkm_fb_tile_init() 50 struct nvkm_device *device = fb->subdev.device; in nvkm_fb_tile_prog() 51 if (fb->func->tile.prog) { in nvkm_fb_tile_prog() 52 fb->func->tile.prog(fb, region, tile); in nvkm_fb_tile_prog() 53 if (device->gr) in nvkm_fb_tile_prog() 54 nvkm_engine_tile(&device->gr->engine, region); in nvkm_fb_tile_prog() 55 if (device->mpeg) in nvkm_fb_tile_prog() 56 nvkm_engine_tile(device->mpeg, region); in nvkm_fb_tile_prog() 63 struct nvkm_fb *fb = device->fb; in nvkm_fb_sysmem_flush_page_init() [all …]
|
| /linux/arch/powerpc/math-emu/ |
| H A D | math.c | 1 // SPDX-License-Identifier: GPL-2.0 13 #include <asm/sfp-machine.h> 14 #include <math-emu/double.h> 93 /* X-Form: */ 105 /* A-Form: */ 119 /* A-Form: */ 133 /* X-Form: */ 229 unsigned long pc = regs->nip; in do_mathemu() 233 int (*func)(void *, void *, void *, void *); in do_mathemu() local 238 return -EFAULT; in do_mathemu() [all …]
|
| /linux/drivers/net/wireless/st/cw1200/ |
| H A D | cw1200_sdio.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Mac80211 SDIO driver for ST-Ericsson CW1200 device 5 * Copyright (c) 2010, ST-Ericsson 22 #include <linux/platform_data/net-cw1200.h> 26 MODULE_DESCRIPTION("mac80211 ST-Ericsson CW1200 SDIO driver"); 47 struct sdio_func *func; member 64 return sdio_memcpy_fromio(self->func, dst, addr, count); in cw1200_sdio_memcpy_fromio() 71 return sdio_memcpy_toio(self->func, addr, (void *)src, count); in cw1200_sdio_memcpy_toio() 76 sdio_claim_host(self->func); in cw1200_sdio_lock() 81 sdio_release_host(self->func); in cw1200_sdio_unlock() [all …]
|
| /linux/include/trace/events/ |
| H A D | csd.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 14 smp_call_func_t func, 17 TP_ARGS(cpu, callsite, func, csd), 22 __field(void *, func) 27 __entry->cpu = cpu; 28 __entry->callsite = (void *)callsite; 29 __entry->func = func; 30 __entry->csd = csd; 33 TP_printk("cpu=%u callsite=%pS func=%ps csd=%p", 34 __entry->cpu, __entry->callsite, __entry->func, __entry->csd) [all …]
|