mirror of
https://github.com/torvalds/linux.git
synced 2026-04-18 06:44:00 -04:00
dibs: Create drivers/dibs
Create the file structure for a 'DIBS - Direct Internal Buffer Sharing' shim layer that will provide generic functionality and declarations for dibs device drivers and dibs clients. Following patches will add functionality. Signed-off-by: Alexandra Winter <wintera@linux.ibm.com> Link: https://patch.msgid.link/20250918110500.1731261-4-wintera@linux.ibm.com Signed-off-by: Paolo Abeni <pabeni@redhat.com>
This commit is contained in:
committed by
Paolo Abeni
parent
a4997e17d1
commit
35758b0032
12
drivers/dibs/Kconfig
Normal file
12
drivers/dibs/Kconfig
Normal file
@@ -0,0 +1,12 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
config DIBS
|
||||
tristate "DIBS support"
|
||||
default n
|
||||
help
|
||||
Direct Internal Buffer Sharing (DIBS)
|
||||
A communication method that uses common physical (internal) memory
|
||||
for synchronous direct access into a remote buffer.
|
||||
|
||||
Select this option to provide the abstraction layer between
|
||||
dibs devices and dibs clients like the SMC protocol.
|
||||
The module name is dibs.
|
||||
7
drivers/dibs/Makefile
Normal file
7
drivers/dibs/Makefile
Normal file
@@ -0,0 +1,7 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
#
|
||||
# DIBS class module
|
||||
#
|
||||
|
||||
dibs-y += dibs_main.o
|
||||
obj-$(CONFIG_DIBS) += dibs.o
|
||||
37
drivers/dibs/dibs_main.c
Normal file
37
drivers/dibs/dibs_main.c
Normal file
@@ -0,0 +1,37 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
/*
|
||||
* DIBS - Direct Internal Buffer Sharing
|
||||
*
|
||||
* Implementation of the DIBS class module
|
||||
*
|
||||
* Copyright IBM Corp. 2025
|
||||
*/
|
||||
#define KMSG_COMPONENT "dibs"
|
||||
#define pr_fmt(fmt) KMSG_COMPONENT ": " fmt
|
||||
|
||||
#include <linux/module.h>
|
||||
#include <linux/types.h>
|
||||
#include <linux/err.h>
|
||||
#include <linux/dibs.h>
|
||||
|
||||
MODULE_DESCRIPTION("Direct Internal Buffer Sharing class");
|
||||
MODULE_LICENSE("GPL");
|
||||
|
||||
/* use an array rather a list for fast mapping: */
|
||||
static struct dibs_client *clients[MAX_DIBS_CLIENTS];
|
||||
static u8 max_client;
|
||||
|
||||
static int __init dibs_init(void)
|
||||
{
|
||||
memset(clients, 0, sizeof(clients));
|
||||
max_client = 0;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void __exit dibs_exit(void)
|
||||
{
|
||||
}
|
||||
|
||||
module_init(dibs_init);
|
||||
module_exit(dibs_exit);
|
||||
Reference in New Issue
Block a user