opnsense-src/sys/compat/linuxkpi/common/include/linux
Bjoern A. Zeeb fa765ca73e 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
2021-01-28 16:32:43 +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 Correct macroname in the LinuxKPI. 2018-05-31 12:55:38 +00:00
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-01-28 16:32:43 +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 Move the EXPORT_SYMBOL_XXX() function macros into own header file. 2018-06-07 11:34:59 +00:00
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-01-28 16:05:32 +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 Improve high resolution timer support in the LinuxKPI. 2018-06-01 11:33:14 +00:00
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 linuxkpi whitespace cleanup 2018-03-23 15:50:01 +00:00
if_vlan.h linuxkpi whitespace cleanup 2018-03-23 15:50:01 +00:00
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-01-28 16:15:12 +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-01-28 16:15:12 +00:00
kref.h compat: clean up empty lines in .c and .h files 2020-09-01 21:24:33 +00:00
kthread.h Add kthread parking support to the LinuxKPI. 2017-06-18 19:22:05 +00:00
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-01-28 16:15:12 +00:00
log2.h linuxkpi whitespace cleanup 2018-03-23 15:50:01 +00:00
math64.h Implement DIV64_U64_ROUND_UP() in the LinuxKPI. 2020-05-01 10:25:07 +00:00
miscdevice.h linuxkpi whitespace cleanup 2018-03-23 15:50:01 +00:00
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 Move the EXPORT_SYMBOL_XXX() function macros into own header file. 2018-06-07 11:34:59 +00:00
moduleparam.h Stub kernel_param_lock() and kernel_param_unlock() in the LinuxKPI. 2018-03-04 19:10:30 +00:00
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-01-28 16:23:19 +00:00
pfn.h
pfn_t.h
pid.h
pm.h LinuxKPI: upstream a collection of drm-kmod conflicting changes 2021-01-28 16:15:12 +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 linuxkpi whitespace cleanup 2018-03-23 15:50:01 +00:00
rwsem.h linuxkpi whitespace cleanup 2018-03-23 15:50:01 +00:00
scatterlist.h LinuxKPI: upstream a collection of drm-kmod conflicting changes 2021-01-28 16:15:12 +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 Finish process of moving the LinuxKPI module into the default kernel build. 2015-10-29 08:28:39 +00:00
spinlock.h linuxkpi whitespace cleanup 2018-03-23 15:50:01 +00:00
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 linuxkpi: Use pageproc instead of vmproc 2018-11-21 04:34:18 +00:00
sysfs.h compat: clean up empty lines in .c and .h files 2020-09-01 21:24:33 +00:00
time.h Make timespecadd(3) and friends public 2018-07-30 15:46:40 +00:00
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 linuxkpi whitespace cleanup 2018-03-23 15:50:01 +00:00
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