Message ID | 20241108154600.126162-2-tzimmermann@suse.de (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | drm: Move client code into subdirectories | expand |
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@redhat.com> > > Signed-off-by: Thomas Zimmermann <tzimmermann@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
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
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. Signed-off-by: Thomas Zimmermann <tzimmermann@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%)