Re: [PATCH v1] misc: fastrpc: Move fastrpc driver to misc/fastrpc/

From: Dmitry Baryshkov
Date: Wed Jun 12 2024 - 14:29:28 EST


On Wed, Jun 12, 2024 at 12:17:28PM +0530, Ekansh Gupta wrote:
> Move fastrpc.c from misc/ to misc/fastrpc/. New C files are planned
> to be added for PD notifications and other missing features. Adding
> and maintaining new files from within fastrpc directory would be easy.
>
> Example of feature that is being planned to be introduced in a new C
> file:
> https://lore.kernel.org/all/20240606165939.12950-6-quic_ekangupt@xxxxxxxxxxx/
>
> Signed-off-by: Ekansh Gupta <quic_ekangupt@xxxxxxxxxxx>
> ---
> MAINTAINERS | 2 +-
> drivers/misc/Kconfig | 13 +------------
> drivers/misc/Makefile | 2 +-
> drivers/misc/fastrpc/Kconfig | 16 ++++++++++++++++
> drivers/misc/fastrpc/Makefile | 2 ++
> drivers/misc/{ => fastrpc}/fastrpc.c | 0
> 6 files changed, 21 insertions(+), 14 deletions(-)
> create mode 100644 drivers/misc/fastrpc/Kconfig
> create mode 100644 drivers/misc/fastrpc/Makefile
> rename drivers/misc/{ => fastrpc}/fastrpc.c (100%)

Please consider whether it makes sense to move to drivers/accel instead
(and possibly writing a better Kconfig entry, specifying that the driver
is to be used to offload execution to the DSP).

> diff --git a/MAINTAINERS b/MAINTAINERS
> index d6c90161c7bf..e9c79e9063f8 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -18501,7 +18501,7 @@ M: Amol Maheshwari <amahesh@xxxxxxxxxxxxxxxx>
> L: linux-arm-msm@xxxxxxxxxxxxxxx
> S: Maintained
> F: Documentation/devicetree/bindings/misc/qcom,fastrpc.yaml
> -F: drivers/misc/fastrpc.c
> +F: drivers/misc/fastrpc/
> F: include/uapi/misc/fastrpc.h
>
> QUALCOMM HEXAGON ARCHITECTURE
> diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig
> index faf983680040..630e8ccd8669 100644
> --- a/drivers/misc/Kconfig
> +++ b/drivers/misc/Kconfig
> @@ -276,18 +276,6 @@ config QCOM_COINCELL
> to maintain PMIC register and RTC state in the absence of
> external power.
>
> -config QCOM_FASTRPC
> - tristate "Qualcomm FastRPC"
> - depends on ARCH_QCOM || COMPILE_TEST
> - depends on RPMSG
> - select DMA_SHARED_BUFFER
> - select QCOM_SCM
> - help
> - Provides a communication mechanism that allows for clients to
> - make remote method invocations across processor boundary to
> - applications DSP processor. Say M if you want to enable this
> - module.
> -
> config SGI_GRU
> tristate "SGI GRU driver"
> depends on X86_UV && SMP
> @@ -602,4 +590,5 @@ source "drivers/misc/cardreader/Kconfig"
> source "drivers/misc/uacce/Kconfig"
> source "drivers/misc/pvpanic/Kconfig"
> source "drivers/misc/mchp_pci1xxxx/Kconfig"
> +source "drivers/misc/fastrpc/Kconfig"
> endmenu
> diff --git a/drivers/misc/Makefile b/drivers/misc/Makefile
> index 153a3f4837e8..f83d73844ea5 100644
> --- a/drivers/misc/Makefile
> +++ b/drivers/misc/Makefile
> @@ -16,7 +16,6 @@ obj-$(CONFIG_TIFM_CORE) += tifm_core.o
> obj-$(CONFIG_TIFM_7XX1) += tifm_7xx1.o
> obj-$(CONFIG_PHANTOM) += phantom.o
> obj-$(CONFIG_QCOM_COINCELL) += qcom-coincell.o
> -obj-$(CONFIG_QCOM_FASTRPC) += fastrpc.o
> obj-$(CONFIG_SENSORS_BH1770) += bh1770glc.o
> obj-$(CONFIG_SENSORS_APDS990X) += apds990x.o
> obj-$(CONFIG_ENCLOSURE_SERVICES) += enclosure.o
> @@ -69,3 +68,4 @@ obj-$(CONFIG_TMR_INJECT) += xilinx_tmr_inject.o
> obj-$(CONFIG_TPS6594_ESM) += tps6594-esm.o
> obj-$(CONFIG_TPS6594_PFSM) += tps6594-pfsm.o
> obj-$(CONFIG_NSM) += nsm.o
> +obj-y += fastrpc/
> diff --git a/drivers/misc/fastrpc/Kconfig b/drivers/misc/fastrpc/Kconfig
> new file mode 100644
> index 000000000000..3243dc56b2a0
> --- /dev/null
> +++ b/drivers/misc/fastrpc/Kconfig
> @@ -0,0 +1,16 @@
> +# SPDX-License-Identifier: GPL-2.0-only
> +#
> +# Qualcomm FastRPC devices
> +#
> +
> +config QCOM_FASTRPC
> + tristate "Qualcomm FastRPC"
> + depends on ARCH_QCOM || COMPILE_TEST
> + depends on RPMSG
> + select DMA_SHARED_BUFFER
> + select QCOM_SCM
> + help
> + Provides a communication mechanism that allows for clients to
> + make remote method invocations across processor boundary to
> + applications DSP processor. Say M if you want to enable this
> + module.
> \ No newline at end of file
> diff --git a/drivers/misc/fastrpc/Makefile b/drivers/misc/fastrpc/Makefile
> new file mode 100644
> index 000000000000..77fd2b763b6b
> --- /dev/null
> +++ b/drivers/misc/fastrpc/Makefile
> @@ -0,0 +1,2 @@
> +# SPDX-License-Identifier: GPL-2.0
> +obj-$(CONFIG_QCOM_FASTRPC) += fastrpc.o
> diff --git a/drivers/misc/fastrpc.c b/drivers/misc/fastrpc/fastrpc.c
> similarity index 100%
> rename from drivers/misc/fastrpc.c
> rename to drivers/misc/fastrpc/fastrpc.c
> --
> 2.43.0
>

--
With best wishes
Dmitry