/linux/include/linux/ |
H A D | bootconfig.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 28 #define BOOTCONFIG_ALIGN_MASK (BOOTCONFIG_ALIGN - 1) 31 * xbc_calc_checksum() - Calculate checksum of bootconfig 44 while (size--) in xbc_calc_checksum() 50 /* XBC tree node */ 53 uint16_t child; member 60 /* Maximum size of boot config is 32KB - 1 */ 61 #define XBC_DATA_MAX (XBC_VALUE - 1) 67 /* Node tree access raw APIs */ 69 int __init xbc_node_index(struct xbc_node *node); [all …]
|
H A D | rbtree_augmented.h | 1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 20 * Please note - only struct rb_augment_callbacks and the prototypes for 24 * See Documentation/core-api/rbtree.rst for documentation and samples. 28 void (*propagate)(struct rb_node *node, struct rb_node *stop); 33 extern void __rb_insert_augmented(struct rb_node *node, struct rb_root *root, 40 * leading to the inserted node, then call rb_link_node() as usual and 47 rb_insert_augmented(struct rb_node *node, struct rb_root *root, in rb_insert_augmented() argument 50 __rb_insert_augmented(node, root, augment->rotate); in rb_insert_augmented() 54 rb_insert_augmented_cached(struct rb_node *node, in rb_insert_augmented_cached() argument 59 root->rb_leftmost = node; in rb_insert_augmented_cached() [all …]
|
/linux/kernel/bpf/ |
H A D | lpm_trie.c | 1 // SPDX-License-Identifier: GPL-2.0-only 20 /* Intermediate node */ 26 struct lpm_trie_node __rcu *child[2]; member 50 * lead to more nodes containing more specific matches. Each node also stores 57 * [0xc0, 0xa8, 0x00, 0x00] in big-endian notation. This documentation will 58 * stick to IP-address notation for readability though. 60 * As the trie is empty initially, the new node (1) will be places as root 61 * node, denoted as (R) in the example below. As there are no other node, both 62 * child pointers are %NULL. 64 * +----------------+ [all …]
|
/linux/tools/include/linux/ |
H A D | rbtree_augmented.h | 1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 22 * Please note - only struct rb_augment_callbacks and the prototypes for 26 * See Documentation/core-api/rbtree.rst for documentation and samples. 30 void (*propagate)(struct rb_node *node, struct rb_node *stop); 35 extern void __rb_insert_augmented(struct rb_node *node, struct rb_root *root, 42 * leading to the inserted node, the 49 rb_insert_augmented(struct rb_node * node,struct rb_root * root,const struct rb_augment_callbacks * augment) rb_insert_augmented() argument 56 rb_insert_augmented_cached(struct rb_node * node,struct rb_root_cached * root,bool newleft,const struct rb_augment_callbacks * augment) rb_insert_augmented_cached() argument 187 __rb_erase_augmented(struct rb_node * node,struct rb_root * root,const struct rb_augment_callbacks * augment) __rb_erase_augmented() argument 190 struct rb_node *child = node->rb_right; __rb_erase_augmented() local 291 rb_erase_augmented(struct rb_node * node,struct rb_root * root,const struct rb_augment_callbacks * augment) rb_erase_augmented() argument 300 rb_erase_augmented_cached(struct rb_node * node,struct rb_root_cached * root,const struct rb_augment_callbacks * augment) rb_erase_augmented_cached() argument [all...] |
/linux/drivers/firmware/efi/ |
H A D | dev-path-parser.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * dev-path-parser.c - EFI Device Path parser 15 static long __init parse_acpi_path(const struct efi_dev_path *node, in parse_acpi_path() argument 16 struct device *parent, struct device **child) in parse_acpi_path() argument 22 if (node->heade in parse_acpi_path() 57 parse_pci_path(const struct efi_dev_path * node,struct device * parent,struct device ** child) parse_pci_path() argument 58 parse_pci_path(const struct efi_dev_path * node,struct device * parent,struct device ** child) parse_pci_path() argument 93 parse_end_path(const struct efi_dev_path * node,struct device * parent,struct device ** child) parse_end_path() argument 94 parse_end_path(const struct efi_dev_path * node,struct device * parent,struct device ** child) parse_end_path() argument 144 efi_get_device_by_path(const struct efi_dev_path ** node,size_t * len) efi_get_device_by_path() argument 147 struct device *parent = NULL, *child; efi_get_device_by_path() local [all...] |
/linux/drivers/net/ethernet/mellanox/mlx5/core/en/ |
H A D | htb.c | 1 // SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB 16 u32 classid; /* 16-bit, except root. */ 36 struct mlx5e_qos_node *node = NULL; in mlx5e_htb_enumerate_leaves() local 39 hash_for_each(htb->qos_tc2node, bkt, node, hnode) { in mlx5e_htb_enumerate_leaves() 40 if (node->qid == MLX5E_QOS_QID_INNER) in mlx5e_htb_enumerate_leaves() 42 err = callback(data, node->qid, node->hw_id); in mlx5e_htb_enumerate_leaves() 53 last = find_last_bit(htb->qos_used_qids, mlx5e_qos_max_leaf_nodes(htb->mdev)); in mlx5e_htb_cur_leaf_nodes() 54 return last == mlx5e_qos_max_leaf_nodes(htb->mdev) ? 0 : last + 1; in mlx5e_htb_cur_leaf_nodes() 59 int size = mlx5e_qos_max_leaf_nodes(htb->mdev); in mlx5e_htb_find_unused_qos_qid() 60 struct mlx5e_priv *priv = htb->priv; in mlx5e_htb_find_unused_qos_qid() [all …]
|
/linux/lib/ |
H A D | bootconfig.c | 1 // SPDX-License-Identifier: GPL-2.0 25 /* embedded_bootconfig_data is defined in bootconfig-data.S */ 31 *size = embedded_bootconfig_data_end - embedded_bootconfig_data; in xbc_get_embedded_bootconfig() 38 * Extra Boot Config (XBC) is given as tree-structured ascii text of 39 * key-value pairs on memory. 40 * xbc_parse() parses the text to build a simple tree. Each tree node is 41 * simply a key word or a value. A key node may have a next key node or/and 42 * a child node (both key and value). A value node may have a next value 43 * node (for array). 83 * xbc_get_info() - Get the information of loaded boot config [all …]
|
H A D | radix-tree.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 24 #include <linux/radix-tree.h> 30 #include "radix-tree.h" 33 * Radix tree node cache. 38 * The radix tree is variable-height, so an insert operation not only has 45 * of RADIX_TREE_MAX_PATH size to be created, with only the root node shared. 48 #define RADIX_TREE_PRELOAD_SIZE (RADIX_TREE_MAX_PATH * 2 - 1) 54 #define IDR_INDEX_BITS (8 /* CHAR_BIT */ * sizeof(int) - 1) 57 #define IDR_PRELOAD_SIZE (IDR_MAX_PATH * 2 - 1) 60 * Per-cpu pool of preloaded nodes [all …]
|
/linux/drivers/acpi/acpica/ |
H A D | nsalloc.c | 1 // SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0 4 * Module Name: nsalloc - Namespace allocation and deletion utilities 19 * PARAMETERS: name - Name of the new node (4 char ACPI name) 21 * RETURN: New namespace node (Null on failure) 23 * DESCRIPTION: Create a namespace node 28 struct acpi_namespace_node *node; in acpi_ns_create_node() local 35 node = acpi_os_acquire_object(acpi_gbl_namespace_cache); in acpi_ns_create_node() 36 if (!node) { in acpi_ns_create_node() 40 ACPI_MEM_TRACKING(acpi_gbl_ns_node_list->total_allocated++); in acpi_ns_create_node() 43 temp = acpi_gbl_ns_node_list->total_allocated - in acpi_ns_create_node() [all …]
|
H A D | nswalk.c | 1 // SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0 4 * Module Name: nswalk - Functions for walking the ACPI namespace 6 * Copyright (C) 2000 - 2023, Intel Corp. 21 * PARAMETERS: parent_node - Parent node whose children we are 23 * child_node - Previous child that was found. 24 * The NEXT child will be returned 26 * RETURN: struct acpi_namespace_node - Pointer to the NEXT child or NULL if 29 * DESCRIPTION: Return the next peer node within the namespace. If Handle 30 * is valid, Scope is ignored. Otherwise, the first node 45 return (parent_node->child); in acpi_ns_get_next_node() [all …]
|
/linux/drivers/usb/core/ |
H A D | of.c | 1 // SPDX-License-Identifier: GPL-2.0 15 * usb_of_get_device_node() - get a USB device node 17 * @port1: one-based index of port 19 * Look up the node of a USB device given its parent hub device and one-based 22 * Return: A pointer to the node with incremented refcount if found, or 27 struct device_node *node; in usb_of_get_device_node() local 30 for_each_child_of_node(hub->dev.of_node, node) { in usb_of_get_device_node() 31 if (of_property_read_u32(node, "reg", ®)) in usb_of_get_device_node() 35 return node; in usb_of_get_device_node() 43 * usb_of_has_combined_node() - determine whether a device has a combined node [all …]
|
/linux/scripts/dtc/ |
H A D | livetree.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 19 if (streq(new->label, label)) { in add_label() 20 new->deleted = 0; in add_label() 26 new->label = label; in add_label() 27 new->next = *labels; in add_label() 36 label->deleted = 1; in delete_labels() 46 new->name = xstrdup(name); in build_property() 47 new->val = val; in build_property() 48 new->srcpos = srcpos_copy(srcpos); in build_property() 59 new->name = xstrdup(name); in build_property_delete() [all …]
|
/linux/drivers/firewire/ |
H A D | core-topology.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 5 * Copyright (C) 2004-2006 Kristian Hoegsberg <krh@bitplanet.net> 11 #include <linux/firewire-constants.h> 23 #include "phy-packet-definitions.h" 28 struct fw_node *node; in fw_node_create() local 30 node = kzalloc(struct_size(node, ports, port_count), GFP_ATOMIC); in fw_node_create() 31 if (node == NULL) in fw_node_create() 34 node->color = color; in fw_node_create() 35 node->node_id = LOCAL_BUS | phy_packet_self_id_get_phy_id(sid); in fw_node_create() 36 node->link_on = phy_packet_self_id_zero_get_link_active(sid); in fw_node_create() [all …]
|
/linux/drivers/regulator/ |
H A D | of_regulator.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 19 [PM_SUSPEND_STANDBY] = "regulator-state-standby", 20 [PM_SUSPEND_MEM] = "regulator-state-mem", 21 [PM_SUSPEND_MAX] = "regulator-state-disk", 41 "regulator-oc-%s-microamp", in of_get_regulator_prot_limits() 42 "regulator-ov-%s-microvolt", in of_get_regulator_prot_limits() 43 "regulator-temp-%s-kelvin", in of_get_regulator_prot_limits() 44 "regulator-uv-%s-microvolt", in of_get_regulator_prot_limits() 47 &constraints->over_curr_limits, in of_get_regulator_prot_limits() 48 &constraints->over_voltage_limits, in of_get_regulator_prot_limits() [all …]
|
/linux/drivers/net/mdio/ |
H A D | of_mdio.c | 1 // SPDX-License-Identifier: GPL-2.0-only 31 * ethernet-phy-idAAAA.BBBB */ 38 struct device_node *child, u32 addr) in of_mdiobus_phy_device_register() argument 41 of_fwnode_handle(child), in of_mdiobus_phy_device_register() 47 struct device_node *child, u32 addr) in of_mdiobus_register_phy() argument 49 return fwnode_mdiobus_register_phy(mdio, of_fwnode_handle(child), addr); in of_mdiobus_register_phy() 53 struct device_node *child, u32 addr) in of_mdiobus_register_device() argument 55 struct fwnode_handle *fwnode = of_fwnode_handle(child); in of_mdiobus_register_device() 63 /* Associate the OF node with the device structure so it in of_mdiobus_register_device() 67 device_set_node(&mdiodev->dev, fwnode); in of_mdiobus_register_device() [all …]
|
/linux/tools/perf/util/ |
H A D | callchain.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Copyright (C) 2009-2011, Frederic Weisbecker <fweisbec@gmail.com> 5 * Handle the callchains from the stream in an ad-hoc radix tree and then 53 * -e cycles/call-graph=dwarf/ 61 /* Used for thread-local struct callchain_cursor. */ 87 return -1; in parse_callchain_mode() 102 return -1; in parse_callchain_order() 123 return -1; in parse_callchain_sort_key() 140 return -1; in parse_callchain_value() 166 return -1; in get_stack_size() [all …]
|
/linux/drivers/powercap/ |
H A D | dtpm.c | 1 // SPDX-License-Identifier: GPL-2.0-only 12 * parent node is a virtual description of the aggregation of the 42 return -ENOSYS; in get_time_window_us() 47 return -ENOSYS; in set_time_window_us() 54 *max_power_uw = dtpm->power_max - dtpm->power_min; in get_max_power_range_uw() 61 struct dtpm *child; in __get_power_uw() local 65 if (dtpm->ops) { in __get_power_uw() 66 *power_uw = dtpm->ops->get_power_uw(dtpm); in __get_power_uw() 72 list_for_each_entry(child, &dtpm->children, sibling) { in __get_power_uw() 73 ret = __get_power_uw(child, &power); in __get_power_uw() [all …]
|
/linux/drivers/mtd/ |
H A D | mtdpart.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 7 * Copyright © 2000-2010 David Woodhouse <dwmw2@infradead.org> 31 kfree(mtd->name); in free_partition() 37 WARN_ON(!list_empty(&mtd->part.node)); in release_mtd_partition() 46 int wr_alignment = (parent->flags & MTD_NO_ERASE) ? in allocate_partition() 47 master->writesize : master->erasesize; in allocate_partition() 49 parent->part.size : parent->size; in allocate_partition() 50 struct mtd_info *child; in allocate_partition() local 56 child = kzalloc(sizeof(*child), GFP_KERNEL); in allocate_partition() 57 name = kstrdup(part->name, GFP_KERNEL); in allocate_partition() [all …]
|
/linux/Documentation/networking/ |
H A D | fib_trie.rst | 1 .. SPDX-License-Identifier: GPL-2.0 4 LC-trie implementation notes 7 Node types 8 ---------- 10 An end node with data. This has a copy of the relevant key, along 14 trie node or tnode 15 An internal node, holding an array of child (leaf or tnode) pointers, 19 ------------------------ 22 child array - the "child index". See Level Compression. 26 the child array. See Path Compression. [all …]
|
/linux/drivers/of/ |
H A D | base.c | 1 // SPDX-License-Identifier: GPL-2.0+ 6 * Copyright (C) 1996-2005 Paul Mackerras. 54 /* use when traversing tree through the child, sibling, 67 node_name = kbasename(np->full_name); in of_node_name_eq() 68 len = strchrnul(node_name, '@') - node_name; in of_node_name_eq() 79 return strncmp(kbasename(np->full_name), prefix, strlen(prefix)) == 0; in of_node_name_prefix() 99 for (; np; np = np->parent) { in of_bus_n_addr_cells() 100 if (!of_property_read_u32(np, "#address-cells", &cells)) in of_bus_n_addr_cells() 103 * Default root value and walking parent nodes for "#address-cells" in of_bus_n_addr_cells() 108 "Missing '#address-cells' in %pOF\n", np); in of_bus_n_addr_cells() [all …]
|
H A D | of_reserved_mem.c | 1 // SPDX-License-Identifier: GPL-2.0+ 46 return -ENOMEM; in early_init_dt_alloc_reserved_memory_arch() 62 * alloc_reserved_mem_array() - allocate memory for the reserved_mem 79 pr_err("Failed to allocate memory for reserved_mem array with err: %d", -EOVERFLOW); in alloc_reserved_mem_array() 85 pr_err("Failed to allocate memory for reserved_mem array with err: %d", -ENOMEM); in alloc_reserved_mem_array() 93 pr_err("Failed to allocate memory for reserved_mem array with err: %d", -EOVERFLOW); in alloc_reserved_mem_array() 97 memset_size = alloc_size - copy_size; in alloc_reserved_mem_array() 107 * fdt_reserved_mem_save_node() - save fdt node for second pass initialization 109 static void __init fdt_reserved_mem_save_node(unsigned long node, const char *uname, in fdt_reserved_mem_save_node() argument 119 rmem->fdt_node = node; in fdt_reserved_mem_save_node() [all …]
|
H A D | resolver.c | 1 // SPDX-License-Identifier: GPL-2.0 5 * Copyright (C) 2012 Pantelis Antoniou <panto@antoniou-consulting.com> 25 struct device_node *node; in live_tree_max_phandle() local 31 for_each_of_allnodes(node) { in live_tree_max_phandle() 32 if (node->phandle != OF_PHANDLE_ILLEGAL && in live_tree_max_phandle() 33 node->phandle > phandle) in live_tree_max_phandle() 34 phandle = node->phandle; in live_tree_max_phandle() 44 struct device_node *child; in adjust_overlay_phandles() local 48 /* adjust node's phandle in node */ in adjust_overlay_phandles() 49 if (overlay->phandle != 0 && overlay->phandle != OF_PHANDLE_ILLEGAL) in adjust_overlay_phandles() [all …]
|
/linux/drivers/gpu/drm/nouveau/nvkm/core/ |
H A D | object.c | 36 spin_lock_irqsave(&client->obj_lock, flags); in nvkm_object_search() 37 struct rb_node *node = client->objroot.rb_node; in nvkm_object_search() local 38 while (node) { in nvkm_object_search() 39 object = rb_entry(node, typeof(*object), node); in nvkm_object_search() 40 if (handle < object->object) in nvkm_object_search() 41 node = node->rb_left; in nvkm_object_search() 43 if (handle > object->object) in nvkm_object_search() 44 node = node->rb_right; in nvkm_object_search() 46 spin_unlock_irqrestore(&client->obj_lock, flags); in nvkm_object_search() 50 spin_unlock_irqrestore(&client->obj_lock, flags); in nvkm_object_search() [all …]
|
/linux/drivers/md/persistent-data/ |
H A D | dm-btree-remove.c | 1 // SPDX-License-Identifier: GPL-2.0-only 8 #include "dm-btree.h" 9 #include "dm-btree-internal.h" 10 #include "dm-transaction-manager.h" 13 #include <linux/device-mapper.h> 21 * A very important constraint for our btree is that no node, except the 29 * Each node may have a left or right sibling. When decending the spine, 30 * if a node contains only MIN_ENTRIES then we try and increase this to at 33 * [A] No siblings => this can only happen if the node is the root, in which 37 * ==> rebalance(node, right sibling) [all …]
|
/linux/drivers/net/wireguard/ |
H A D | allowedips.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Copyright (C) 2015-2019 Jason A. Donenfeld <Jason@zx2c4.com>. All Rights Reserved. 23 static void copy_and_assign_cidr(struct allowedips_node *node, const u8 *src, in copy_and_assign_cidr() argument 26 node->cidr = cidr; in copy_and_assign_cidr() 27 node->bit_at_a = cidr / 8U; in copy_and_assign_cidr() 29 node->bit_at_a ^= (bits / 8U - 1U) % 8U; in copy_and_assign_cidr() 31 node->bit_at_b = 7U - (cidr % 8U); in copy_and_assign_cidr() 32 node->bitlen = bits; in copy_and_assign_cidr() 33 memcpy(node->bits, src, bits / 8U); in copy_and_assign_cidr() 36 static inline u8 choose(struct allowedips_node *node, const u8 *key) in choose() argument [all …]
|