With this change the LED subsystem is abused in the kernel to switch the simswap. This change will be reverted, so we could use again the gpio subsystem. Signed-off-by: Florian Eckert <fe@dev.tdt.de>
		
			
				
	
	
		
			57 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			57 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
From 8c9254d41881c81bea610193c6ac59c8cb8b79fe Mon Sep 17 00:00:00 2001
 | 
						|
From: Florian Eckert <fe@dev.tdt.de>
 | 
						|
Date: Fri, 27 Mar 2020 16:11:55 +0100
 | 
						|
Subject: [PATCH] Revert "platform/x86: pcengines-apuv2: wire up simswitch gpio
 | 
						|
 as led"
 | 
						|
 | 
						|
This reverts commit 5037d4ddda31c2dbbb018109655f61054b1756dc.
 | 
						|
 | 
						|
Commit message from linux:
 | 
						|
The APU3+ boards have two SIM sockets, while only one of them
 | 
						|
can be routed to the mpcie slots at a time. Selection is done
 | 
						|
via simswap gpio.
 | 
						|
 | 
						|
We currently don't have a fitting subsystem for those cases yet,
 | 
						|
so just wire it up to a LED for the time being. While this isn't
 | 
						|
really semantically correct, it's a good compromise.
 | 
						|
 | 
						|
Explanation why this does not work:
 | 
						|
This change connects the simswap to the LED subsystem of the kernel.
 | 
						|
From my point of view, it's nonsense. If we do it this way, then this
 | 
						|
can be switched relatively easily via the LED subsystem (trigger:
 | 
						|
none/default-on) and that is dangerous! If this is used, it would be
 | 
						|
unfavorable, since there is also another trigger (trigger: heartbeat/netdev).
 | 
						|
This LED also appears in the LuCI and can therefore be switched by the user.
 | 
						|
 | 
						|
Therefore, this simswap GPIO should remain in the GPIO
 | 
						|
subsystem and be switched via it and not be connected to the LED
 | 
						|
subsystem. To avoid the problems mentioned above. The LED subsystem is
 | 
						|
not made for this and it is not a good compromise, but rather dangerous.
 | 
						|
 | 
						|
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
 | 
						|
---
 | 
						|
 drivers/platform/x86/pcengines-apuv2.c | 5 +----
 | 
						|
 1 file changed, 1 insertion(+), 4 deletions(-)
 | 
						|
 | 
						|
--- a/drivers/platform/x86/pcengines-apuv2.c
 | 
						|
+++ b/drivers/platform/x86/pcengines-apuv2.c
 | 
						|
@@ -77,8 +77,7 @@ static const struct amd_fch_gpio_pdata b
 | 
						|
 static const struct gpio_led apu2_leds[] = {
 | 
						|
 	{ .name = "apu:green:1" },
 | 
						|
 	{ .name = "apu:green:2" },
 | 
						|
-	{ .name = "apu:green:3" },
 | 
						|
-	{ .name = "apu:simswap" },
 | 
						|
+	{ .name = "apu:green:3" }
 | 
						|
 };
 | 
						|
 
 | 
						|
 static const struct gpio_led_platform_data apu2_leds_pdata = {
 | 
						|
@@ -95,8 +94,6 @@ static struct gpiod_lookup_table gpios_l
 | 
						|
 				NULL, 1, GPIO_ACTIVE_LOW),
 | 
						|
 		GPIO_LOOKUP_IDX(AMD_FCH_GPIO_DRIVER_NAME, APU2_GPIO_LINE_LED3,
 | 
						|
 				NULL, 2, GPIO_ACTIVE_LOW),
 | 
						|
-		GPIO_LOOKUP_IDX(AMD_FCH_GPIO_DRIVER_NAME, APU2_GPIO_LINE_SIMSWAP,
 | 
						|
-				NULL, 3, GPIO_ACTIVE_LOW),
 | 
						|
 	}
 | 
						|
 };
 | 
						|
 
 |