Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 055a65d5 authored by Alexandre Courbot's avatar Alexandre Courbot Committed by Ben Skeggs
Browse files

drm/nouveau: merge nouveau_platform.ko into nouveau.ko



Having the two modules separated causes various unneeded complications,
including having to export symbols accessed between the modules. Make
things simpler by compiling platform device support into nouveau.ko.
Platform device support remains optional and is only compiled on Tegra.

Signed-off-by: default avatarAlexandre Courbot <acourbot@nvidia.com>
Reviewed-by: default avatarVince Hsu <vinceh@nvidia.com>
Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
parent 4dc63933
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -26,7 +26,7 @@ config DRM_NOUVEAU
	  Choose this option for open-source NVIDIA support.

config NOUVEAU_PLATFORM_DRIVER
	tristate "Nouveau (NVIDIA) SoC GPUs"
	bool "Nouveau (NVIDIA) SoC GPUs"
	depends on DRM_NOUVEAU && ARCH_TEGRA
	default y
	help
+1 −2
Original line number Diff line number Diff line
@@ -394,8 +394,7 @@ nouveau-$(CONFIG_ACPI) += nouveau_acpi.o
endif
nouveau-$(CONFIG_DRM_NOUVEAU_BACKLIGHT) += nouveau_backlight.o
nouveau-$(CONFIG_DEBUG_FS) += nouveau_debugfs.o
nouveau-$(CONFIG_NOUVEAU_PLATFORM_DRIVER) += nouveau_platform.o

obj-$(CONFIG_DRM_NOUVEAU)+= nouveau.o
# platform driver
obj-$(CONFIG_NOUVEAU_PLATFORM_DRIVER) += nouveau_platform.o
+9 −2
Original line number Diff line number Diff line
@@ -52,6 +52,7 @@
#include "nouveau_debugfs.h"
#include "nouveau_usif.h"
#include "nouveau_connector.h"
#include "nouveau_platform.h"

MODULE_PARM_DESC(config, "option string to pass to driver core");
static char *nouveau_config;
@@ -533,7 +534,6 @@ nouveau_drm_device_remove(struct drm_device *dev)
	nouveau_object_ref(NULL, &device);
	nouveau_object_debug();
}
EXPORT_SYMBOL(nouveau_drm_device_remove);

static void
nouveau_drm_remove(struct pci_dev *pdev)
@@ -1083,7 +1083,6 @@ nouveau_platform_device_create_(struct platform_device *pdev, int size,

	return ERR_PTR(err);
}
EXPORT_SYMBOL(nouveau_platform_device_create_);

static int __init
nouveau_drm_init(void)
@@ -1105,6 +1104,10 @@ nouveau_drm_init(void)
	if (!nouveau_modeset)
		return 0;

#ifdef CONFIG_NOUVEAU_PLATFORM_DRIVER
	platform_driver_register(&nouveau_platform_driver);
#endif

	nouveau_register_dsm_handler();
	return drm_pci_init(&driver_pci, &nouveau_drm_pci_driver);
}
@@ -1117,6 +1120,10 @@ nouveau_drm_exit(void)

	drm_pci_exit(&driver_pci, &nouveau_drm_pci_driver);
	nouveau_unregister_dsm_handler();

#ifdef CONFIG_NOUVEAU_PLATFORM_DRIVER
	platform_driver_unregister(&nouveau_platform_driver);
#endif
}

module_init(nouveau_drm_init);
+0 −6
Original line number Diff line number Diff line
@@ -177,9 +177,3 @@ struct platform_driver nouveau_platform_driver = {
	.probe = nouveau_platform_probe,
	.remove = nouveau_platform_remove,
};

module_platform_driver(nouveau_platform_driver);

MODULE_AUTHOR(DRIVER_AUTHOR);
MODULE_DESCRIPTION(DRIVER_DESC);
MODULE_LICENSE("GPL and additional rights");
+3 −0
Original line number Diff line number Diff line
@@ -28,6 +28,7 @@
struct reset_control;
struct clk;
struct regulator;
struct platform_driver;

struct nouveau_platform_gpu {
	struct reset_control *rst;
@@ -48,4 +49,6 @@ struct nouveau_platform_device {
#define nv_device_to_platform(d)                                               \
	container_of(d, struct nouveau_platform_device, device)

extern struct platform_driver nouveau_platform_driver;

#endif