@@ -474,11 +474,6 @@ static int picolcd_probe_lcd(struct hid_device *hdev, struct picolcd_data *data)
474
474
if (error )
475
475
goto err ;
476
476
477
- /* Set up the framebuffer device */
478
- error = picolcd_init_framebuffer (data );
479
- if (error )
480
- goto err ;
481
-
482
477
/* Setup lcd class device */
483
478
error = picolcd_init_lcd (data , picolcd_out_report (REPORT_CONTRAST , hdev ));
484
479
if (error )
@@ -489,6 +484,11 @@ static int picolcd_probe_lcd(struct hid_device *hdev, struct picolcd_data *data)
489
484
if (error )
490
485
goto err ;
491
486
487
+ /* Set up the framebuffer device */
488
+ error = picolcd_init_framebuffer (data );
489
+ if (error )
490
+ goto err ;
491
+
492
492
/* Setup the LED class devices */
493
493
error = picolcd_init_leds (data , picolcd_out_report (REPORT_LED_STATE , hdev ));
494
494
if (error )
@@ -502,9 +502,9 @@ static int picolcd_probe_lcd(struct hid_device *hdev, struct picolcd_data *data)
502
502
return 0 ;
503
503
err :
504
504
picolcd_exit_leds (data );
505
+ picolcd_exit_framebuffer (data );
505
506
picolcd_exit_backlight (data );
506
507
picolcd_exit_lcd (data );
507
- picolcd_exit_framebuffer (data );
508
508
picolcd_exit_cir (data );
509
509
picolcd_exit_keys (data );
510
510
return error ;
@@ -623,9 +623,9 @@ static void picolcd_remove(struct hid_device *hdev)
623
623
/* Cleanup LED */
624
624
picolcd_exit_leds (data );
625
625
/* Clean up the framebuffer */
626
+ picolcd_exit_framebuffer (data );
626
627
picolcd_exit_backlight (data );
627
628
picolcd_exit_lcd (data );
628
- picolcd_exit_framebuffer (data );
629
629
/* Cleanup input */
630
630
picolcd_exit_cir (data );
631
631
picolcd_exit_keys (data );
0 commit comments