Skip to content

Commit de23abd

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 <j@jannau.net>
1 parent 54cb247 commit de23abd

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
@@ -600,9 +600,13 @@ static struct platform_driver dcpaud_driver = {
600600
.remove = dcpaud_remove,
601601
};
602602

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

605-
MODULE_AUTHOR("Martin Povišer <povik+lin@cutebit.org>");
606-
MODULE_DESCRIPTION("Apple DCP HDMI Audio Driver");
607-
MODULE_LICENSE("GPL");
608-
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
@@ -1138,7 +1138,27 @@ static struct platform_driver apple_platform_driver = {
11381138
},
11391139
};
11401140

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

11431163
MODULE_AUTHOR("Alyssa Rosenzweig <alyssa@rosenzweig.io>");
11441164
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)