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_ekang...@quicinc.com/
> 
> Signed-off-by: Ekansh Gupta <quic_ekang...@quicinc.com>
> ---
>  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 <amah...@qti.qualcomm.com>
>  L:   linux-arm-...@vger.kernel.org
>  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

Reply via email to