mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 10:40:15 +02:00 
			
		
		
		
	drm/panel: simple - Disable panel on shutdown
When a device is shut down, disable the panel to make sure the display backlight doesn't stay lit. Signed-off-by: Thierry Reding <treding@nvidia.com>
This commit is contained in:
		
							parent
							
								
									26ab006579
								
							
						
					
					
						commit
						d02fd93e2c
					
				
					 1 changed files with 19 additions and 0 deletions
				
			
		| 
						 | 
					@ -262,6 +262,13 @@ static int panel_simple_remove(struct device *dev)
 | 
				
			||||||
	return 0;
 | 
						return 0;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					static void panel_simple_shutdown(struct device *dev)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						struct panel_simple *panel = dev_get_drvdata(dev);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						panel_simple_disable(&panel->base);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static const struct drm_display_mode auo_b101aw03_mode = {
 | 
					static const struct drm_display_mode auo_b101aw03_mode = {
 | 
				
			||||||
	.clock = 51450,
 | 
						.clock = 51450,
 | 
				
			||||||
	.hdisplay = 1024,
 | 
						.hdisplay = 1024,
 | 
				
			||||||
| 
						 | 
					@ -467,6 +474,11 @@ static int panel_simple_platform_remove(struct platform_device *pdev)
 | 
				
			||||||
	return panel_simple_remove(&pdev->dev);
 | 
						return panel_simple_remove(&pdev->dev);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					static void panel_simple_platform_shutdown(struct platform_device *pdev)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						panel_simple_shutdown(&pdev->dev);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static struct platform_driver panel_simple_platform_driver = {
 | 
					static struct platform_driver panel_simple_platform_driver = {
 | 
				
			||||||
	.driver = {
 | 
						.driver = {
 | 
				
			||||||
		.name = "panel-simple",
 | 
							.name = "panel-simple",
 | 
				
			||||||
| 
						 | 
					@ -475,6 +487,7 @@ static struct platform_driver panel_simple_platform_driver = {
 | 
				
			||||||
	},
 | 
						},
 | 
				
			||||||
	.probe = panel_simple_platform_probe,
 | 
						.probe = panel_simple_platform_probe,
 | 
				
			||||||
	.remove = panel_simple_platform_remove,
 | 
						.remove = panel_simple_platform_remove,
 | 
				
			||||||
 | 
						.shutdown = panel_simple_platform_shutdown,
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
struct panel_desc_dsi {
 | 
					struct panel_desc_dsi {
 | 
				
			||||||
| 
						 | 
					@ -616,6 +629,11 @@ static int panel_simple_dsi_remove(struct mipi_dsi_device *dsi)
 | 
				
			||||||
	return panel_simple_remove(&dsi->dev);
 | 
						return panel_simple_remove(&dsi->dev);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					static void panel_simple_dsi_shutdown(struct mipi_dsi_device *dsi)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						panel_simple_shutdown(&dsi->dev);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static struct mipi_dsi_driver panel_simple_dsi_driver = {
 | 
					static struct mipi_dsi_driver panel_simple_dsi_driver = {
 | 
				
			||||||
	.driver = {
 | 
						.driver = {
 | 
				
			||||||
		.name = "panel-simple-dsi",
 | 
							.name = "panel-simple-dsi",
 | 
				
			||||||
| 
						 | 
					@ -624,6 +642,7 @@ static struct mipi_dsi_driver panel_simple_dsi_driver = {
 | 
				
			||||||
	},
 | 
						},
 | 
				
			||||||
	.probe = panel_simple_dsi_probe,
 | 
						.probe = panel_simple_dsi_probe,
 | 
				
			||||||
	.remove = panel_simple_dsi_remove,
 | 
						.remove = panel_simple_dsi_remove,
 | 
				
			||||||
 | 
						.shutdown = panel_simple_dsi_shutdown,
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static int __init panel_simple_init(void)
 | 
					static int __init panel_simple_init(void)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue