Skip to content

Commit bd1c2aa

Browse files
committed
drm: apple: audio: move the audio driver into the DCP module
Those two drivers are closely linked and should always exists together. Signed-off-by: Janne Grunau <[email protected]>
1 parent bc56f1d commit bd1c2aa

4 files changed

Lines changed: 35 additions & 11 deletions

File tree

drivers/gpu/drm/apple/Makefile

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,20 +5,16 @@ CFLAGS_trace.o = -I$(src)
55
appledrm-y := apple_drv.o
66

77
apple_dcp-y := afk.o dcp.o dcp_backlight.o dptxep.o iomfb.o parser.o systemep.o
8+
apple_dcp-$(CONFIG_DRM_APPLE_AUDIO) += audio.o
89
apple_dcp-$(CONFIG_DRM_APPLE_AUDIO) += av.o
910
apple_dcp-y += connector.o
1011
apple_dcp-y += ibootep.o
1112
apple_dcp-y += iomfb_v12_3.o
1213
apple_dcp-y += iomfb_v13_3.o
1314
apple_dcp-$(CONFIG_TRACING) += trace.o
1415

15-
apple_dcp_audio-y := audio.o
16-
1716
obj-$(CONFIG_DRM_APPLE) += appledrm.o
1817
obj-$(CONFIG_DRM_APPLE) += apple_dcp.o
19-
ifeq ($(CONFIG_DRM_APPLE_AUDIO),y)
20-
obj-$(CONFIG_DRM_APPLE) += apple_dcp_audio.o
21-
endif
2218

2319
# header test
2420

drivers/gpu/drm/apple/audio.c

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -598,9 +598,13 @@ static struct platform_driver dcpaud_driver = {
598598
.remove = dcpaud_remove,
599599
};
600600

601-
module_platform_driver(dcpaud_driver);
601+
void __init dcp_audio_register(void)
602+
{
603+
platform_driver_register(&dcpaud_driver);
604+
}
605+
606+
void __exit dcp_audio_unregister(void)
607+
{
608+
platform_driver_unregister(&dcpaud_driver);
609+
}
602610

603-
MODULE_AUTHOR("Martin Povišer <[email protected]>");
604-
MODULE_DESCRIPTION("Apple DCP HDMI Audio Driver");
605-
MODULE_LICENSE("GPL");
606-
MODULE_ALIAS("platform:" DRV_NAME);

drivers/gpu/drm/apple/dcp.c

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1140,7 +1140,27 @@ static struct platform_driver apple_platform_driver = {
11401140
},
11411141
};
11421142

1143-
drm_module_platform_driver(apple_platform_driver);
1143+
static int __init apple_dcp_register(void)
1144+
{
1145+
if (drm_firmware_drivers_only())
1146+
return -ENODEV;
1147+
1148+
#if IS_ENABLED(CONFIG_DRM_APPLE_AUDIO)
1149+
dcp_audio_register();
1150+
#endif
1151+
return platform_driver_register(&apple_platform_driver);
1152+
}
1153+
1154+
static void __exit apple_dcp_unregister(void)
1155+
{
1156+
platform_driver_unregister(&apple_platform_driver);
1157+
#if IS_ENABLED(CONFIG_DRM_APPLE_AUDIO)
1158+
dcp_audio_unregister();
1159+
#endif
1160+
}
1161+
1162+
module_init(apple_dcp_register);
1163+
module_exit(apple_dcp_unregister);
11441164

11451165
MODULE_AUTHOR("Alyssa Rosenzweig <[email protected]>");
11461166
MODULE_DESCRIPTION("Apple Display Controller DRM driver");

drivers/gpu/drm/apple/dcp.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,4 +62,8 @@ int dptxep_init(struct apple_dcp *dcp);
6262
int ibootep_init(struct apple_dcp *dcp);
6363
int avep_init(struct apple_dcp *dcp);
6464

65+
66+
void __init dcp_audio_register(void);
67+
void __exit dcp_audio_unregister(void);
68+
6569
#endif

0 commit comments

Comments
 (0)