Skip to content

Commit 1a697da

Browse files
committed
drm/apple: Unify driver into a single module
Signed-off-by: Janne Grunau <[email protected]>
1 parent bd6a8f6 commit 1a697da

7 files changed

Lines changed: 42 additions & 50 deletions

File tree

drivers/gpu/drm/apple/Makefile

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,20 +3,19 @@
33
CFLAGS_trace.o = -I$(src)
44

55
appledrm-y := apple_drv.o
6+
appledrm-y += afk.o dcp.o dcp_backlight.o dptxep.o iomfb.o parser.o systemep.o
7+
appledrm-$(CONFIG_DRM_APPLE_AUDIO) += audio.o
8+
appledrm-$(CONFIG_DRM_APPLE_AUDIO) += av.o
9+
appledrm-y += connector.o
10+
appledrm-y += ibootep.o
11+
appledrm-y += iomfb_v12_3.o
12+
appledrm-y += iomfb_v13_3.o
13+
appledrm-y += epic/dpavservep.o
614

7-
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
9-
apple_dcp-$(CONFIG_DRM_APPLE_AUDIO) += av.o
10-
apple_dcp-y += connector.o
11-
apple_dcp-y += ibootep.o
12-
apple_dcp-y += iomfb_v12_3.o
13-
apple_dcp-y += iomfb_v13_3.o
14-
apple_dcp-y += epic/dpavservep.o
1515

16-
apple_dcp-$(CONFIG_TRACING) += trace.o
16+
appledrm-$(CONFIG_TRACING) += trace.o
1717

1818
obj-$(CONFIG_DRM_APPLE) += appledrm.o
19-
obj-$(CONFIG_DRM_APPLE) += apple_dcp.o
2019

2120
# header test
2221

drivers/gpu/drm/apple/apple_drv.c

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -812,7 +812,33 @@ static struct platform_driver apple_platform_driver = {
812812
.remove = apple_platform_remove,
813813
};
814814

815-
drm_module_platform_driver(apple_platform_driver);
815+
816+
817+
static int __init appledrm_register(void)
818+
{
819+
if (drm_firmware_drivers_only())
820+
return -ENODEV;
821+
822+
#if IS_ENABLED(CONFIG_DRM_APPLE_AUDIO)
823+
dcp_audio_register();
824+
#endif
825+
dcp_register();
826+
platform_driver_register(&apple_platform_driver);
827+
828+
return 0;
829+
}
830+
831+
static void __exit appledrm_unregister(void)
832+
{
833+
#if IS_ENABLED(CONFIG_DRM_APPLE_AUDIO)
834+
dcp_audio_unregister();
835+
#endif
836+
dcp_unregister();
837+
platform_driver_unregister(&apple_platform_driver);
838+
}
839+
840+
module_init(appledrm_register);
841+
module_exit(appledrm_unregister);
816842

817843
MODULE_AUTHOR("Alyssa Rosenzweig <[email protected]>");
818844
MODULE_DESCRIPTION(DRIVER_DESC);

drivers/gpu/drm/apple/connector.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,6 @@ void apple_connector_debugfs_init(struct drm_connector *connector, struct dentry
120120
break;
121121
}
122122
}
123-
EXPORT_SYMBOL(apple_connector_debugfs_init);
124123

125124
static void dcp_connector_set_dict(struct apple_connector *connector,
126125
struct dcp_chunks *dict,

drivers/gpu/drm/apple/dcp.c

Lines changed: 3 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -201,7 +201,6 @@ int dcp_set_crc(struct drm_crtc *crtc, bool enabled)
201201

202202
return 0;
203203
}
204-
EXPORT_SYMBOL_GPL(dcp_set_crc);
205204

206205
/*
207206
* Helper to send a DRM vblank event. We do not know how call swap_submit_dcp
@@ -361,15 +360,13 @@ int dcp_crtc_atomic_check(struct drm_crtc *crtc, struct drm_atomic_state *state)
361360

362361
return 0;
363362
}
364-
EXPORT_SYMBOL_GPL(dcp_crtc_atomic_check);
365363

366364
int dcp_get_connector_type(struct platform_device *pdev)
367365
{
368366
struct apple_dcp *dcp = platform_get_drvdata(pdev);
369367

370368
return (dcp->connector_type);
371369
}
372-
EXPORT_SYMBOL_GPL(dcp_get_connector_type);
373370

374371
#define DPTX_CONNECT_TIMEOUT msecs_to_jiffies(2000)
375372

@@ -451,7 +448,6 @@ int dcp_dptx_connect_oob(struct platform_device *pdev, u32 port)
451448
struct apple_dcp *dcp = platform_get_drvdata(pdev);
452449
return dcp_dptx_connect(dcp, port);
453450
}
454-
EXPORT_SYMBOL_GPL(dcp_dptx_connect_oob);
455451

456452
int dcp_dptx_disconnect_oob(struct platform_device *pdev, u32 port)
457453
{
@@ -467,7 +463,6 @@ int dcp_dptx_disconnect_oob(struct platform_device *pdev, u32 port)
467463

468464
return dcp_dptx_disconnect(dcp, port);
469465
}
470-
EXPORT_SYMBOL_GPL(dcp_dptx_disconnect_oob);
471466

472467
static irqreturn_t dcp_dp2hdmi_hpd(int irq, void *data)
473468
{
@@ -502,7 +497,6 @@ void dcp_link(struct platform_device *pdev, struct apple_crtc *crtc,
502497
dcp->crtc = crtc;
503498
dcp->connector = connector;
504499
}
505-
EXPORT_SYMBOL_GPL(dcp_link);
506500

507501
int dcp_start(struct platform_device *pdev)
508502
{
@@ -575,7 +569,6 @@ int dcp_start(struct platform_device *pdev)
575569

576570
return ret;
577571
}
578-
EXPORT_SYMBOL(dcp_start);
579572

580573
static int dcp_enable_dp2hdmi_hpd(struct apple_dcp *dcp)
581574
{
@@ -618,7 +611,6 @@ int dcp_wait_ready(struct platform_device *pdev, u64 timeout)
618611

619612
return dcp->active ? 0 : -ETIMEDOUT;
620613
}
621-
EXPORT_SYMBOL(dcp_wait_ready);
622614

623615
static void __maybe_unused dcp_sleep(struct apple_dcp *dcp)
624616
{
@@ -662,7 +654,6 @@ void dcp_poweron(struct platform_device *pdev)
662654
if (dcp->avep)
663655
av_service_connect(dcp);
664656
}
665-
EXPORT_SYMBOL(dcp_poweron);
666657

667658
void dcp_poweroff(struct platform_device *pdev)
668659
{
@@ -691,7 +682,6 @@ void dcp_poweroff(struct platform_device *pdev)
691682
}
692683
}
693684
}
694-
EXPORT_SYMBOL(dcp_poweroff);
695685

696686
static void dcp_work_register_backlight(struct work_struct *work)
697687
{
@@ -1339,28 +1329,12 @@ static struct platform_driver apple_platform_driver = {
13391329
},
13401330
};
13411331

1342-
static int __init apple_dcp_register(void)
1332+
void __init dcp_register(void)
13431333
{
1344-
if (drm_firmware_drivers_only())
1345-
return -ENODEV;
1346-
1347-
#if IS_ENABLED(CONFIG_DRM_APPLE_AUDIO)
1348-
dcp_audio_register();
1349-
#endif
1350-
return platform_driver_register(&apple_platform_driver);
1334+
platform_driver_register(&apple_platform_driver);
13511335
}
13521336

1353-
static void __exit apple_dcp_unregister(void)
1337+
void __exit dcp_unregister(void)
13541338
{
13551339
platform_driver_unregister(&apple_platform_driver);
1356-
#if IS_ENABLED(CONFIG_DRM_APPLE_AUDIO)
1357-
dcp_audio_unregister();
1358-
#endif
13591340
}
1360-
1361-
module_init(apple_dcp_register);
1362-
module_exit(apple_dcp_unregister);
1363-
1364-
MODULE_AUTHOR("Alyssa Rosenzweig <[email protected]>");
1365-
MODULE_DESCRIPTION("Apple Display Controller DRM driver");
1366-
MODULE_LICENSE("Dual MIT/GPL");

drivers/gpu/drm/apple/dcp.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,9 @@ int dpavservep_init(struct apple_dcp *dcp);
6868
int avep_init(struct apple_dcp *dcp);
6969

7070

71+
void __init dcp_register(void);
72+
void __exit dcp_unregister(void);
73+
7174
void __init dcp_audio_register(void);
7275
void __exit dcp_audio_unregister(void);
7376

drivers/gpu/drm/apple/iomfb.c

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -258,7 +258,6 @@ void dcp_hotplug(struct work_struct *work)
258258

259259
drm_kms_helper_connector_hotplug_event(&connector->base);
260260
}
261-
EXPORT_SYMBOL_GPL(dcp_hotplug);
262261

263262
static void dcpep_handle_cb(struct apple_dcp *dcp, enum dcp_context_id context,
264263
void *data, u32 length, u16 offset)
@@ -413,7 +412,6 @@ int dcp_get_modes(struct drm_connector *connector)
413412

414413
return dcp->nr_modes;
415414
}
416-
EXPORT_SYMBOL_GPL(dcp_get_modes);
417415

418416
/* The user may own drm_display_mode, so we need to search for our copy */
419417
struct dcp_display_mode *lookup_mode(struct apple_dcp *dcp,
@@ -440,7 +438,6 @@ enum drm_mode_status dcp_mode_valid(struct drm_connector *connector,
440438

441439
return lookup_mode(dcp, mode) ? MODE_OK : MODE_BAD;
442440
}
443-
EXPORT_SYMBOL_GPL(dcp_mode_valid);
444441

445442
int dcp_crtc_atomic_modeset(struct drm_crtc *crtc,
446443
struct drm_atomic_state *state)
@@ -479,7 +476,6 @@ int dcp_crtc_atomic_modeset(struct drm_crtc *crtc,
479476

480477
return ret;
481478
}
482-
EXPORT_SYMBOL_GPL(dcp_crtc_atomic_modeset);
483479

484480
bool dcp_crtc_mode_fixup(struct drm_crtc *crtc,
485481
const struct drm_display_mode *mode,
@@ -492,7 +488,6 @@ bool dcp_crtc_mode_fixup(struct drm_crtc *crtc,
492488
/* TODO: support synthesized modes through scaling */
493489
return lookup_mode(dcp, mode) != NULL;
494490
}
495-
EXPORT_SYMBOL(dcp_crtc_mode_fixup);
496491

497492

498493
void dcp_flush(struct drm_crtc *crtc, struct drm_atomic_state *state)
@@ -527,7 +522,6 @@ void dcp_flush(struct drm_crtc *crtc, struct drm_atomic_state *state)
527522
break;
528523
}
529524
}
530-
EXPORT_SYMBOL_GPL(dcp_flush);
531525

532526
static void iomfb_start(struct apple_dcp *dcp)
533527
{
@@ -550,7 +544,6 @@ bool dcp_is_initialized(struct platform_device *pdev)
550544

551545
return dcp->active;
552546
}
553-
EXPORT_SYMBOL_GPL(dcp_is_initialized);
554547

555548
void iomfb_recv_msg(struct apple_dcp *dcp, u64 message)
556549
{

drivers/gpu/drm/apple/parser.c

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -959,7 +959,6 @@ int parse_sound_constraints(struct dcp_parse_ctx *handle,
959959

960960
return 0;
961961
}
962-
EXPORT_SYMBOL_GPL(parse_sound_constraints);
963962

964963
int parse_sound_mode(struct dcp_parse_ctx *handle,
965964
struct dcp_sound_format_mask *sieve,
@@ -989,7 +988,6 @@ int parse_sound_mode(struct dcp_parse_ctx *handle,
989988

990989
return 0;
991990
}
992-
EXPORT_SYMBOL_GPL(parse_sound_mode);
993991
#endif
994992

995993
int parse_system_log_mnits(struct dcp_parse_ctx *handle, struct dcp_system_ev_mnits *entry)

0 commit comments

Comments
 (0)