[PATCH 1/3] drm: Move client code to clients/ subdirectory

Jocelyn Falempe jfalempe at redhat.com
Fri Nov 8 16:45:43 UTC 2024


On 08/11/2024 16:42, Thomas Zimmermann wrote:
> Just move some files around to keep source code well organized. Plus
> fix a type in the help text of CONFIG_DRM_FBDEV_LEAK_PHYS_SMEM. No
> functional changes.

Thanks, it looks good to me.

Reviewed-by: Jocelyn Falempe <jfalempe at redhat.com>

> 
> Signed-off-by: Thomas Zimmermann <tzimmermann at suse.de>
> ---
>   drivers/gpu/drm/Kconfig                       | 72 +-----------------
>   drivers/gpu/drm/Makefile                      |  9 +--
>   drivers/gpu/drm/clients/Kconfig               | 73 +++++++++++++++++++
>   drivers/gpu/drm/clients/Makefile              |  5 ++
>   .../gpu/drm/{ => clients}/drm_client_setup.c  |  0
>   .../gpu/drm/{ => clients}/drm_fbdev_client.c  |  0
>   6 files changed, 80 insertions(+), 79 deletions(-)
>   create mode 100644 drivers/gpu/drm/clients/Kconfig
>   create mode 100644 drivers/gpu/drm/clients/Makefile
>   rename drivers/gpu/drm/{ => clients}/drm_client_setup.c (100%)
>   rename drivers/gpu/drm/{ => clients}/drm_fbdev_client.c (100%)
> 
> diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig
> index 5504721007cc..fd294ccca6bb 100644
> --- a/drivers/gpu/drm/Kconfig
> +++ b/drivers/gpu/drm/Kconfig
> @@ -217,77 +217,7 @@ config DRM_CLIENT
>   	  option. Drivers that support the default clients should
>   	  select DRM_CLIENT_SELECTION instead.
>   
> -config DRM_CLIENT_LIB
> -	tristate
> -	depends on DRM
> -	select DRM_KMS_HELPER if DRM_FBDEV_EMULATION
> -	select FB_CORE if DRM_FBDEV_EMULATION
> -	help
> -	  This option enables the DRM client library and selects all
> -	  modules and components according to the enabled clients.
> -
> -config DRM_CLIENT_SELECTION
> -	tristate
> -	depends on DRM
> -	select DRM_CLIENT_LIB if DRM_FBDEV_EMULATION
> -	help
> -	  Drivers that support in-kernel DRM clients have to select this
> -	  option.
> -
> -config DRM_CLIENT_SETUP
> -	bool
> -	depends on DRM_CLIENT_SELECTION
> -	help
> -	  Enables the DRM client selection. DRM drivers that support the
> -	  default clients should select DRM_CLIENT_SELECTION instead.
> -
> -menu "Supported DRM clients"
> -	depends on DRM_CLIENT_SELECTION
> -
> -config DRM_FBDEV_EMULATION
> -	bool "Enable legacy fbdev support for your modesetting driver"
> -	depends on DRM_CLIENT_SELECTION
> -	select DRM_CLIENT
> -	select DRM_CLIENT_SETUP
> -	select FRAMEBUFFER_CONSOLE_DETECT_PRIMARY if FRAMEBUFFER_CONSOLE
> -	default FB
> -	help
> -	  Choose this option if you have a need for the legacy fbdev
> -	  support. Note that this support also provides the linux console
> -	  support on top of your modesetting driver.
> -
> -	  If in doubt, say "Y".
> -
> -config DRM_FBDEV_OVERALLOC
> -	int "Overallocation of the fbdev buffer"
> -	depends on DRM_FBDEV_EMULATION
> -	default 100
> -	help
> -	  Defines the fbdev buffer overallocation in percent. Default
> -	  is 100. Typical values for double buffering will be 200,
> -	  triple buffering 300.
> -
> -config DRM_FBDEV_LEAK_PHYS_SMEM
> -	bool "Shamelessly allow leaking of fbdev physical address (DANGEROUS)"
> -	depends on DRM_FBDEV_EMULATION && EXPERT
> -	default n
> -	help
> -	  In order to keep user-space compatibility, we want in certain
> -	  use-cases to keep leaking the fbdev physical address to the
> -	  user-space program handling the fbdev buffer.
> -	  This affects, not only, Amlogic, Allwinner or Rockchip devices
> -	  with ARM Mali GPUs using an userspace Blob.
> -	  This option is not supported by upstream developers and should be
> -	  removed as soon as possible and be considered as a broken and
> -	  legacy behaviour from a modern fbdev device driver.
> -
> -	  Please send any bug reports when using this to your proprietary
> -	  software vendor that requires this.
> -
> -	  If in doubt, say "N" or spread the word to your closed source
> -	  library vendor.
> -
> -endmenu
> +source "drivers/gpu/drm/clients/Kconfig"
>   
>   config DRM_LOAD_EDID_FIRMWARE
>   	bool "Allow to specify an EDID data set instead of probing for it"
> diff --git a/drivers/gpu/drm/Makefile b/drivers/gpu/drm/Makefile
> index 463afad1b5ca..4f6585be14cc 100644
> --- a/drivers/gpu/drm/Makefile
> +++ b/drivers/gpu/drm/Makefile
> @@ -148,14 +148,6 @@ drm_kms_helper-$(CONFIG_DRM_PANEL_BRIDGE) += bridge/panel.o
>   drm_kms_helper-$(CONFIG_DRM_FBDEV_EMULATION) += drm_fb_helper.o
>   obj-$(CONFIG_DRM_KMS_HELPER) += drm_kms_helper.o
>   
> -#
> -# DRM clients
> -#
> -
> -drm_client_lib-y := drm_client_setup.o
> -drm_client_lib-$(CONFIG_DRM_FBDEV_EMULATION) += drm_fbdev_client.o
> -obj-$(CONFIG_DRM_CLIENT_LIB) += drm_client_lib.o
> -
>   #
>   # Drivers and the rest
>   #
> @@ -165,6 +157,7 @@ obj-y			+= tests/
>   obj-$(CONFIG_DRM_MIPI_DBI) += drm_mipi_dbi.o
>   obj-$(CONFIG_DRM_MIPI_DSI) += drm_mipi_dsi.o
>   obj-y			+= arm/
> +obj-y			+= clients/
>   obj-y			+= display/
>   obj-$(CONFIG_DRM_TTM)	+= ttm/
>   obj-$(CONFIG_DRM_SCHED)	+= scheduler/
> diff --git a/drivers/gpu/drm/clients/Kconfig b/drivers/gpu/drm/clients/Kconfig
> new file mode 100644
> index 000000000000..01ad3b000130
> --- /dev/null
> +++ b/drivers/gpu/drm/clients/Kconfig
> @@ -0,0 +1,73 @@
> +# SPDX-License-Identifier: GPL-2.0-only
> +
> +config DRM_CLIENT_LIB
> +	tristate
> +	depends on DRM
> +	select DRM_KMS_HELPER if DRM_FBDEV_EMULATION
> +	select FB_CORE if DRM_FBDEV_EMULATION
> +	help
> +	  This option enables the DRM client library and selects all
> +	  modules and components according to the enabled clients.
> +
> +config DRM_CLIENT_SELECTION
> +	tristate
> +	depends on DRM
> +	select DRM_CLIENT_LIB if DRM_FBDEV_EMULATION
> +	help
> +	  Drivers that support in-kernel DRM clients have to select this
> +	  option.
> +
> +config DRM_CLIENT_SETUP
> +	bool
> +	depends on DRM_CLIENT_SELECTION
> +	help
> +	  Enables the DRM client selection. DRM drivers that support the
> +	  default clients should select DRM_CLIENT_SELECTION instead.
> +
> +menu "Supported DRM clients"
> +	depends on DRM_CLIENT_SELECTION
> +
> +config DRM_FBDEV_EMULATION
> +	bool "Enable legacy fbdev support for your modesetting driver"
> +	depends on DRM_CLIENT_SELECTION
> +	select DRM_CLIENT
> +	select DRM_CLIENT_SETUP
> +	select FRAMEBUFFER_CONSOLE_DETECT_PRIMARY if FRAMEBUFFER_CONSOLE
> +	default FB
> +	help
> +	  Choose this option if you have a need for the legacy fbdev
> +	  support. Note that this support also provides the linux console
> +	  support on top of your modesetting driver.
> +
> +	  If in doubt, say "Y".
> +
> +config DRM_FBDEV_OVERALLOC
> +	int "Overallocation of the fbdev buffer"
> +	depends on DRM_FBDEV_EMULATION
> +	default 100
> +	help
> +	  Defines the fbdev buffer overallocation in percent. Default
> +	  is 100. Typical values for double buffering will be 200,
> +	  triple buffering 300.
> +
> +config DRM_FBDEV_LEAK_PHYS_SMEM
> +	bool "Shamelessly allow leaking of fbdev physical address (DANGEROUS)"
> +	depends on DRM_FBDEV_EMULATION && EXPERT
> +	default n
> +	help
> +	  In order to keep user-space compatibility, we want in certain
> +	  use-cases to keep leaking the fbdev physical address to the
> +	  user-space program handling the fbdev buffer.
> +	  This affects, not only, Amlogic, Allwinner or Rockchip devices
> +	  with ARM Mali GPUs using a userspace Blob.
> +	  This option is not supported by upstream developers and should be
> +	  removed as soon as possible and be considered as a broken and
> +	  legacy behaviour from a modern fbdev device driver.
> +
> +	  Please send any bug reports when using this to your proprietary
> +	  software vendor that requires this.
> +
> +	  If in doubt, say "N" or spread the word to your closed source
> +	  library vendor.
> +
> +endmenu
> diff --git a/drivers/gpu/drm/clients/Makefile b/drivers/gpu/drm/clients/Makefile
> new file mode 100644
> index 000000000000..1d004ec92e1e
> --- /dev/null
> +++ b/drivers/gpu/drm/clients/Makefile
> @@ -0,0 +1,5 @@
> +# SPDX-License-Identifier: GPL-2.0
> +
> +drm_client_lib-y := drm_client_setup.o
> +drm_client_lib-$(CONFIG_DRM_FBDEV_EMULATION) += drm_fbdev_client.o
> +obj-$(CONFIG_DRM_CLIENT_LIB) += drm_client_lib.o
> diff --git a/drivers/gpu/drm/drm_client_setup.c b/drivers/gpu/drm/clients/drm_client_setup.c
> similarity index 100%
> rename from drivers/gpu/drm/drm_client_setup.c
> rename to drivers/gpu/drm/clients/drm_client_setup.c
> diff --git a/drivers/gpu/drm/drm_fbdev_client.c b/drivers/gpu/drm/clients/drm_fbdev_client.c
> similarity index 100%
> rename from drivers/gpu/drm/drm_fbdev_client.c
> rename to drivers/gpu/drm/clients/drm_fbdev_client.c



More information about the dri-devel mailing list