opnsense-src/sys/compat/linuxkpi/common/include/linux
Bjoern A. Zeeb ff119f7c4a LinuxKPI: implement devres() framework parts and two examples
This code implements a version of the devres framework found
working for various iwlwifi use cases and also providing functions
for ttm_page_alloc_dma.c from DRM.

Part of the framework replicates the consumed KPI, while others
are internal helper functions.

In addition the simple devm_k*malloc() consumers were implemented
and kvasprintf() was enhanced to also work for the devm_kasprintf()
case.
Addmittingly lkpi_devm_kmalloc_release() could be avoided but for
the overall understanding of the code and possible memory tracing
it may still be helpful.

Further devsres consumer are implemented for iwlwifi but will follow
later as the main reason for this change is to sort out overlap with
DRM.

Sponsored-by:	The FreeBSD Foundation
Obtained-from:	bz_iwlwifi
MFC After:	3 days
Reviewed-by:	hselasky, manu
Differential Revision:	https://reviews.freebsd.org/D28189

(cherry picked from commit fa765ca73e)
2021-02-02 11:51:26 +00:00
..
acpi.h LinuxKPI: Exclude linux/acpi.h content on non-ACPI archs. 2020-11-14 10:34:18 +00:00
atomic.h LinuxKPI: Include asm/atomic-long.h from atomic.h. 2019-05-15 17:44:25 +00:00
backlight.h linuxkpi: Add backlight support 2020-10-02 18:26:41 +00:00
bitfield.h LinuxKPI: add a bitfield.h implementation. 2020-10-07 22:07:26 +00:00
bitmap.h Implement the bitmap_subset() function in the LinuxKPI. This function 2020-07-10 12:06:18 +00:00
bitops.h Prefer using the MIN() function macro over the min() inline function 2020-12-07 09:48:06 +00:00
bottom_half.h
cache.h
cdev.h linuxkpi: Remove extraneous NULL check on M_WAITOK allocation 2019-01-01 19:56:49 +00:00
clocksource.h
compat.h compat: clean up empty lines in .c and .h files 2020-09-01 21:24:33 +00:00
compiler.h linuxkpi: Add __same_type and __must_be_array macros 2020-05-25 12:42:55 +00:00
completion.h
dcache.h
debugfs.h import linux debugfs support 2019-02-23 20:56:41 +00:00
delay.h
device.h LinuxKPI: implement devres() framework parts and two examples 2021-02-02 11:51:26 +00:00
dma-attrs.h compat: clean up empty lines in .c and .h files 2020-09-01 21:24:33 +00:00
dma-mapping.h compat: clean up empty lines in .c and .h files 2020-09-01 21:24:33 +00:00
dmapool.h compat: clean up empty lines in .c and .h files 2020-09-01 21:24:33 +00:00
dmi.h linuxkpi: Add dmi_* function 2020-10-02 18:28:00 +00:00
err.h Cleanups to *ERR* compat shims. 2020-12-17 20:28:53 +00:00
errno.h linuxkpi: Add EBADRQC to errno.h 2020-05-13 07:49:12 +00:00
etherdevice.h Replace read_random(9) with more appropriate arc4rand(9) KPIs 2019-04-04 01:02:50 +00:00
export.h
file.h fd: remove the seq argument from fget_unlocked 2020-02-03 22:27:55 +00:00
firmware.h LinuxKPI: add firmware loading support 2021-02-02 11:50:38 +00:00
fs.h linuxkpi: Add dmi_* function 2020-10-02 18:28:00 +00:00
gcd.h linuxkpi: Add gcd function 2020-10-06 10:35:03 +00:00
gfp.h Add necessary bits for Linux KPI to work correctly on powerpc 2019-08-04 19:28:10 +00:00
hardirq.h linuxkpi: Include hardirq.h in preempt.h and lockdep.h in hardirq.h 2020-07-26 16:30:59 +00:00
hrtimer.h
idr.h Resolve duplicate symbol name conflict after r345095, when building LINT. 2019-03-13 19:53:20 +00:00
if_arp.h
if_ether.h
if_vlan.h
in.h
in6.h
inetdevice.h Mechanical cleanup of epoch(9) usage in network stack. 2019-01-09 01:11:19 +00:00
interrupt.h Fix broken DECLARE_TASKLET() macro after r347852. 2019-09-11 07:53:49 +00:00
io-mapping.h
io.h compat: clean up empty lines in .c and .h files 2020-09-01 21:24:33 +00:00
ioctl.h
irq_work.h LinuxKPI: Reimplement irq_work queue on top of fast taskqueue 2021-01-17 12:47:28 +01:00
irqreturn.h
jhash.h compat: clean up empty lines in .c and .h files 2020-09-01 21:24:33 +00:00
jiffies.h linuxkpi: Add time_after32 and time_before32 2020-08-04 15:27:32 +00:00
kdev_t.h
kernel.h LinuxKPI: upstream a collection of drm-kmod conflicting changes 2021-02-02 11:51:15 +00:00
kmod.h compat: clean up empty lines in .c and .h files 2020-09-01 21:24:33 +00:00
kobject.h LinuxKPI: upstream a collection of drm-kmod conflicting changes 2021-02-02 11:51:15 +00:00
kref.h compat: clean up empty lines in .c and .h files 2020-09-01 21:24:33 +00:00
kthread.h
ktime.h LinuxKPI: Expand ktime functionality. 2019-05-15 16:59:04 +00:00
list.h Allow the list header file in the LinuxKPI to be used in standalone code. 2020-12-04 15:46:48 +00:00
llist.h LinuxKPI: Reimplement irq_work queue on top of fast taskqueue 2021-01-17 12:47:28 +01:00
lockdep.h LinuxKPI: upstream a collection of drm-kmod conflicting changes 2021-02-02 11:51:15 +00:00
log2.h
math64.h Implement DIV64_U64_ROUND_UP() in the LinuxKPI. 2020-05-01 10:25:07 +00:00
miscdevice.h
mm.h Remove set_page_dirty_lock(). 2020-01-02 19:29:14 +00:00
mm_types.h Implement mmget_not_zero() in the LinuxKPI. 2020-01-24 13:05:53 +00:00
mod_devicetable.h linuxkpi: Add dmi_* function 2020-10-02 18:28:00 +00:00
module.h
moduleparam.h
mutex.h linuxkpi: Add nested variant of mutex_lock_interruptible 2020-08-04 14:45:22 +00:00
net.h
net_dim.h Add support for Dynamic Interrupt Moderation, DIM, in mlx5en(4). 2019-05-08 10:23:33 +00:00
netdevice.h Fix missing epochification of the LinuxKPI after r353292. 2019-10-15 11:14:14 +00:00
notifier.h
numa.h linuxkpi: Add numa.h 2020-10-06 10:36:16 +00:00
overflow.h Implement the array_size() function in the LinuxKPI. This function 2020-07-10 11:27:54 +00:00
page.h
pagemap.h linuxkpi: Add pagemap.h 2020-10-06 10:41:00 +00:00
pci.h LinuxKPI: enhance PCI bits for DRM 2021-02-02 11:51:20 +00:00
pfn.h
pfn_t.h
pid.h
pm.h LinuxKPI: upstream a collection of drm-kmod conflicting changes 2021-02-02 11:51:15 +00:00
poll.h
power_supply.h linuxkpi: Add power_supply.h 2020-10-06 10:39:40 +00:00
preempt.h linuxkpi: Include hardirq.h in preempt.h and lockdep.h in hardirq.h 2020-07-26 16:30:59 +00:00
prefetch.h linuxkpi: Add prefetch.h 2020-10-06 10:37:21 +00:00
printk.h Use the 't' modifier to print a ptrdiff_t. 2020-12-16 00:11:30 +00:00
radix-tree.h Implement radix_tree_store() in the LinuxKPI for use with the coming 2020-08-07 16:15:44 +00:00
random.h linuxkpi: Fix the "error: unknown type name 'u32'" compilation issue when 2021-01-09 15:27:04 -08:00
rbtree.h Allow the rbtree header file in the LinuxKPI to be used in standalone code. 2020-12-04 15:50:44 +00:00
rculist.h Implement more RCU list functions in the LinuxKPI. 2020-10-13 16:19:21 +00:00
rcupdate.h linuxkpi: Add rcu_swap_protected 2020-05-27 10:01:30 +00:00
refcount.h linuxkpi: Add refcount.h 2020-05-25 12:44:07 +00:00
rwlock.h
rwsem.h
scatterlist.h LinuxKPI: upstream a collection of drm-kmod conflicting changes 2021-02-02 11:51:15 +00:00
sched.h Need to clone the task struct fields related to RCU aswell in the 2020-08-11 12:17:46 +00:00
semaphore.h Use function macro for sema_init() in the LinuxKPI to limit macro expansion scope. 2020-11-30 09:47:53 +00:00
seq_file.h LinuxKPI: Finalize import of seq_file. 2019-05-16 21:17:18 +00:00
shmem_fs.h linuxkpi: Move shmem related functions in it's own file 2020-02-21 09:28:45 +00:00
shrinker.h linuxkpi: Add shrinker support 2021-01-12 12:31:00 +01:00
sizes.h linuxkpi: Add linux/sizes.h 2020-08-04 14:42:38 +00:00
slab.h LinuxKPI: Reimplement irq_work queue on top of fast taskqueue 2021-01-17 12:47:28 +01:00
smp.h
socket.h
spinlock.h
srcu.h Implement synchronize_srcu_expedited() in the LinuxKPI. 2020-05-16 14:27:50 +00:00
string.h linuxkpi: Ignore NULL pointers passed to string parameter of kstr(n)dup 2020-07-14 21:56:59 +00:00
swap.h
sysfs.h compat: clean up empty lines in .c and .h files 2020-09-01 21:24:33 +00:00
time.h
timer.h linuxkpi: Fix mod_timer and del_timer_sync 2020-05-25 12:46:05 +00:00
types.h Allow LinuxKPI types to be used in bootloaders, by checking for the 2020-11-18 13:47:11 +00:00
uaccess.h LinuxKPI: Update access_ok macro for v5.0. 2019-05-16 17:44:17 +00:00
usb.h
vmalloc.h
wait.h linuxkpi: Add a few wait_bit functions 2020-08-14 08:48:17 +00:00
wait_bit.h linuxkpi: Add a few wait_bit functions 2020-08-14 08:48:17 +00:00
workqueue.h linuxkpi: Add rcu_work functions 2020-05-21 20:18:38 +00:00
ww_mutex.h Populate the acquire context field of a ww_mutex in the LinuxKPI. 2020-10-04 17:23:39 +00:00
xarray.h Implement xa_init() in the LinuxKPI as a wrapper for xa_init_flags(). 2020-10-24 13:16:10 +00:00