diff --git a/drivers/Kconfig b/drivers/Kconfig index 8befa53f43be..c7396659fdbe 100644 --- a/drivers/Kconfig +++ b/drivers/Kconfig @@ -228,4 +228,5 @@ source "drivers/interconnect/Kconfig" source "drivers/counter/Kconfig" +source "drivers/most/Kconfig" endmenu diff --git a/drivers/Makefile b/drivers/Makefile index 31cf17dee252..7646549a1e93 100644 --- a/drivers/Makefile +++ b/drivers/Makefile @@ -186,3 +186,4 @@ obj-$(CONFIG_SIOX) += siox/ obj-$(CONFIG_GNSS) += gnss/ obj-$(CONFIG_INTERCONNECT) += interconnect/ obj-$(CONFIG_COUNTER) += counter/ +obj-$(CONFIG_MOST) += most/ diff --git a/drivers/most/Kconfig b/drivers/most/Kconfig new file mode 100644 index 000000000000..58d7999170a7 --- /dev/null +++ b/drivers/most/Kconfig @@ -0,0 +1,15 @@ +# SPDX-License-Identifier: GPL-2.0 +menuconfig MOST + tristate "MOST support" + depends on HAS_DMA && CONFIGFS_FS + default n + help + Say Y here if you want to enable MOST support. + This driver needs at least one additional component to enable the + desired access from userspace (e.g. character devices) and one that + matches the network controller's hardware interface (e.g. USB). + + To compile this driver as a module, choose M here: the + module will be called most_core. + + If in doubt, say N here. diff --git a/drivers/most/Makefile b/drivers/most/Makefile new file mode 100644 index 000000000000..e810cd3a47ee --- /dev/null +++ b/drivers/most/Makefile @@ -0,0 +1,4 @@ +# SPDX-License-Identifier: GPL-2.0 +obj-$(CONFIG_MOST) += most_core.o +most_core-y := core.o \ + configfs.o diff --git a/drivers/staging/most/configfs.c b/drivers/most/configfs.c similarity index 99% rename from drivers/staging/most/configfs.c rename to drivers/most/configfs.c index 9a961222f458..27b0c923597f 100644 --- a/drivers/staging/most/configfs.c +++ b/drivers/most/configfs.c @@ -10,8 +10,7 @@ #include #include #include - -#include "most.h" +#include #define MAX_STRING_SIZE 80 diff --git a/drivers/staging/most/core.c b/drivers/most/core.c similarity index 99% rename from drivers/staging/most/core.c rename to drivers/most/core.c index f6b38d9d57e6..06426fc5c990 100644 --- a/drivers/staging/most/core.c +++ b/drivers/most/core.c @@ -20,8 +20,7 @@ #include #include #include - -#include "most.h" +#include #define MAX_CHANNELS 64 #define STRING_SIZE 80 diff --git a/drivers/staging/most/Kconfig b/drivers/staging/most/Kconfig index 6262eb25c80b..c5a99f750abe 100644 --- a/drivers/staging/most/Kconfig +++ b/drivers/staging/most/Kconfig @@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0 -menuconfig MOST +menuconfig MOST_COMPONENTS tristate "MOST support" - depends on HAS_DMA && CONFIGFS_FS + depends on HAS_DMA && CONFIGFS_FS && MOST default n help Say Y here if you want to enable MOST support. @@ -16,7 +16,7 @@ menuconfig MOST -if MOST +if MOST_COMPONENTS source "drivers/staging/most/cdev/Kconfig" diff --git a/drivers/staging/most/Makefile b/drivers/staging/most/Makefile index 20a99ecb37c4..a803a98654a8 100644 --- a/drivers/staging/most/Makefile +++ b/drivers/staging/most/Makefile @@ -1,7 +1,4 @@ # SPDX-License-Identifier: GPL-2.0 -obj-$(CONFIG_MOST) += most_core.o -most_core-y := core.o -most_core-y += configfs.o obj-$(CONFIG_MOST_CDEV) += cdev/ obj-$(CONFIG_MOST_NET) += net/ diff --git a/drivers/staging/most/cdev/cdev.c b/drivers/staging/most/cdev/cdev.c index 71943d17f825..cc1e3dea196d 100644 --- a/drivers/staging/most/cdev/cdev.c +++ b/drivers/staging/most/cdev/cdev.c @@ -16,8 +16,7 @@ #include #include #include - -#include "../most.h" +#include #define CHRDEV_REGION_SIZE 50 diff --git a/drivers/staging/most/dim2/dim2.c b/drivers/staging/most/dim2/dim2.c index 16593281fcda..8e0f27e61652 100644 --- a/drivers/staging/most/dim2/dim2.c +++ b/drivers/staging/most/dim2/dim2.c @@ -20,8 +20,7 @@ #include #include #include - -#include "../most.h" +#include #include "hal.h" #include "errors.h" #include "sysfs.h" diff --git a/drivers/staging/most/i2c/i2c.c b/drivers/staging/most/i2c/i2c.c index 2980f7065846..893a8babdb2f 100644 --- a/drivers/staging/most/i2c/i2c.c +++ b/drivers/staging/most/i2c/i2c.c @@ -13,8 +13,7 @@ #include #include #include - -#include "../most.h" +#include enum { CH_RX, CH_TX, NUM_CHANNELS }; diff --git a/drivers/staging/most/net/net.c b/drivers/staging/most/net/net.c index 5547e36e09de..830f089f1a88 100644 --- a/drivers/staging/most/net/net.c +++ b/drivers/staging/most/net/net.c @@ -15,8 +15,7 @@ #include #include #include - -#include "../most.h" +#include #define MEP_HDR_LEN 8 #define MDP_HDR_LEN 16 diff --git a/drivers/staging/most/sound/sound.c b/drivers/staging/most/sound/sound.c index 44cf2334834f..1527f410af2b 100644 --- a/drivers/staging/most/sound/sound.c +++ b/drivers/staging/most/sound/sound.c @@ -17,8 +17,7 @@ #include #include #include - -#include "../most.h" +#include #define DRIVER_NAME "sound" #define STRING_SIZE 80 diff --git a/drivers/staging/most/usb/usb.c b/drivers/staging/most/usb/usb.c index 0bda88c4bc89..e8c5a8c98375 100644 --- a/drivers/staging/most/usb/usb.c +++ b/drivers/staging/most/usb/usb.c @@ -23,8 +23,7 @@ #include #include #include - -#include "../most.h" +#include #define USB_MTU 512 #define NO_ISOCHRONOUS_URB 0 diff --git a/drivers/staging/most/video/video.c b/drivers/staging/most/video/video.c index d32ae49d617b..20d177aaec44 100644 --- a/drivers/staging/most/video/video.c +++ b/drivers/staging/most/video/video.c @@ -20,8 +20,7 @@ #include #include #include - -#include "../most.h" +#include #define V4L2_CMP_MAX_INPUT 1 diff --git a/drivers/staging/most/most.h b/include/linux/most.h similarity index 100% rename from drivers/staging/most/most.h rename to include/linux/most.h