File tree Expand file tree Collapse file tree 3 files changed +16
-0
lines changed Expand file tree Collapse file tree 3 files changed +16
-0
lines changed Original file line number Diff line number Diff line change @@ -92,6 +92,13 @@ static int dcss_drv_platform_remove(struct platform_device *pdev)
92
92
return 0 ;
93
93
}
94
94
95
+ static void dcss_drv_platform_shutdown (struct platform_device * pdev )
96
+ {
97
+ struct dcss_drv * mdrv = dev_get_drvdata (& pdev -> dev );
98
+
99
+ dcss_kms_shutdown (mdrv -> kms );
100
+ }
101
+
95
102
static struct dcss_type_data dcss_types [] = {
96
103
[DCSS_IMX8MQ ] = {
97
104
.name = "DCSS_IMX8MQ" ,
@@ -114,6 +121,7 @@ MODULE_DEVICE_TABLE(of, dcss_of_match);
114
121
static struct platform_driver dcss_platform_driver = {
115
122
.probe = dcss_drv_platform_probe ,
116
123
.remove = dcss_drv_platform_remove ,
124
+ .shutdown = dcss_drv_platform_shutdown ,
117
125
.driver = {
118
126
.name = "imx-dcss" ,
119
127
.of_match_table = dcss_of_match ,
Original file line number Diff line number Diff line change @@ -172,3 +172,10 @@ void dcss_kms_detach(struct dcss_kms_dev *kms)
172
172
dcss_crtc_deinit (& kms -> crtc , drm );
173
173
drm -> dev_private = NULL ;
174
174
}
175
+
176
+ void dcss_kms_shutdown (struct dcss_kms_dev * kms )
177
+ {
178
+ struct drm_device * drm = & kms -> base ;
179
+
180
+ drm_atomic_helper_shutdown (drm );
181
+ }
Original file line number Diff line number Diff line change @@ -34,6 +34,7 @@ struct dcss_kms_dev {
34
34
35
35
struct dcss_kms_dev * dcss_kms_attach (struct dcss_dev * dcss );
36
36
void dcss_kms_detach (struct dcss_kms_dev * kms );
37
+ void dcss_kms_shutdown (struct dcss_kms_dev * kms );
37
38
int dcss_crtc_init (struct dcss_crtc * crtc , struct drm_device * drm );
38
39
void dcss_crtc_deinit (struct dcss_crtc * crtc , struct drm_device * drm );
39
40
struct dcss_plane * dcss_plane_init (struct drm_device * drm ,
You can’t perform that action at this time.
0 commit comments