xref: /linux/drivers/dibs/dibs_main.c (revision 35758b0032c056cdff3e8f5a70669cb3e2c8d0e4)
1*35758b00SAlexandra Winter // SPDX-License-Identifier: GPL-2.0
2*35758b00SAlexandra Winter /*
3*35758b00SAlexandra Winter  *  DIBS - Direct Internal Buffer Sharing
4*35758b00SAlexandra Winter  *
5*35758b00SAlexandra Winter  *  Implementation of the DIBS class module
6*35758b00SAlexandra Winter  *
7*35758b00SAlexandra Winter  *  Copyright IBM Corp. 2025
8*35758b00SAlexandra Winter  */
9*35758b00SAlexandra Winter #define KMSG_COMPONENT "dibs"
10*35758b00SAlexandra Winter #define pr_fmt(fmt) KMSG_COMPONENT ": " fmt
11*35758b00SAlexandra Winter 
12*35758b00SAlexandra Winter #include <linux/module.h>
13*35758b00SAlexandra Winter #include <linux/types.h>
14*35758b00SAlexandra Winter #include <linux/err.h>
15*35758b00SAlexandra Winter #include <linux/dibs.h>
16*35758b00SAlexandra Winter 
17*35758b00SAlexandra Winter MODULE_DESCRIPTION("Direct Internal Buffer Sharing class");
18*35758b00SAlexandra Winter MODULE_LICENSE("GPL");
19*35758b00SAlexandra Winter 
20*35758b00SAlexandra Winter /* use an array rather a list for fast mapping: */
21*35758b00SAlexandra Winter static struct dibs_client *clients[MAX_DIBS_CLIENTS];
22*35758b00SAlexandra Winter static u8 max_client;
23*35758b00SAlexandra Winter 
24*35758b00SAlexandra Winter static int __init dibs_init(void)
25*35758b00SAlexandra Winter {
26*35758b00SAlexandra Winter 	memset(clients, 0, sizeof(clients));
27*35758b00SAlexandra Winter 	max_client = 0;
28*35758b00SAlexandra Winter 
29*35758b00SAlexandra Winter 	return 0;
30*35758b00SAlexandra Winter }
31*35758b00SAlexandra Winter 
32*35758b00SAlexandra Winter static void __exit dibs_exit(void)
33*35758b00SAlexandra Winter {
34*35758b00SAlexandra Winter }
35*35758b00SAlexandra Winter 
36*35758b00SAlexandra Winter module_init(dibs_init);
37*35758b00SAlexandra Winter module_exit(dibs_exit);
38