@@ -183,6 +183,12 @@ static bool iomfbep_cb_match_backlight_service(struct apple_dcp *dcp, int tag, v
183183{
184184 trace_iomfb_callback (dcp , tag , __func__ );
185185
186+ if (!dcp_has_panel (dcp )) {
187+ u8 * succ = out ;
188+ * succ = true;
189+ return true;
190+ }
191+
186192 iomfb_a132_backlight_service_matched (dcp , false, complete_backlight_service_matched , out );
187193
188194 // return false for deferred ACK
@@ -194,11 +200,13 @@ static void iomfb_cb_pr_publish(struct apple_dcp *dcp, struct iomfb_property *pr
194200 switch (prop -> id ) {
195201 case IOMFB_PROPERTY_NITS :
196202 {
197- dcp -> brightness .nits = prop -> value / dcp -> brightness .scale ;
198- /* notify backlight device of the initial brightness */
199- if (!dcp -> brightness .bl_dev && dcp -> brightness .maximum > 0 )
200- schedule_work (& dcp -> bl_register_wq );
201- trace_iomfb_brightness (dcp , prop -> value );
203+ if (dcp_has_panel (dcp )) {
204+ dcp -> brightness .nits = prop -> value / dcp -> brightness .scale ;
205+ /* notify backlight device of the initial brightness */
206+ if (!dcp -> brightness .bl_dev && dcp -> brightness .maximum > 0 )
207+ schedule_work (& dcp -> bl_register_wq );
208+ trace_iomfb_brightness (dcp , prop -> value );
209+ }
202210 break ;
203211 }
204212 default :
@@ -1003,6 +1011,11 @@ dcpep_cb_get_tiling_state(struct apple_dcp *dcp,
10031011 };
10041012}
10051013
1014+ static u8 dcpep_cb_create_backlight_service (struct apple_dcp * dcp )
1015+ {
1016+ return dcp_has_panel (dcp );
1017+ }
1018+
10061019TRAMPOLINE_VOID (trampoline_nop , dcpep_cb_nop );
10071020TRAMPOLINE_OUT (trampoline_true , dcpep_cb_true , u8 );
10081021TRAMPOLINE_OUT (trampoline_false , dcpep_cb_false , u8 );
@@ -1053,6 +1066,7 @@ TRAMPOLINE_IN(trampoline_pr_publish, iomfb_cb_pr_publish,
10531066 struct iomfb_property );
10541067TRAMPOLINE_INOUT (trampoline_get_tiling_state , dcpep_cb_get_tiling_state ,
10551068 struct dcpep_get_tiling_state_req , struct dcpep_get_tiling_state_resp );
1069+ TRAMPOLINE_OUT (trampoline_create_backlight_service , dcpep_cb_create_backlight_service , u8 );
10561070
10571071/*
10581072 * Callback for swap requests. If a swap failed, we'll never get a swap
0 commit comments