mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-10-31 05:54:26 -04:00 
			
		
		
		
	Changelog: https://cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.15.143 Removed upstreamed: generic/backport-5.15/795-v6.6-12-r8152-Rename-RTL8152_UNPLUG-to-RTL8152_INACCESSIBLE.patch[1] Manually rebased: mediatek/patches-5.15/100-dts-update-mt7622-rfb1.patch All other patches automatically rebased. 1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.143&id=00beca907a7be61da935bb687f9601420fc5f8a8 Build system: x86_64 Build-tested: ramips/tplink_archer-a6-v3 Run-tested: ramips/tplink_archer-a6-v3 Signed-off-by: John Audia <therealgraysky@proton.me>
		
			
				
	
	
		
			75 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			75 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| From 82985725e071f2a5735052f18e109a32aeac3a0b Mon Sep 17 00:00:00 2001
 | |
| From: David Bauer <mail@david-bauer.net>
 | |
| Date: Sun, 26 Jul 2020 02:38:31 +0200
 | |
| Subject: [PATCH] net: usb: r8152: add LED configuration from OF
 | |
| 
 | |
| This adds the ability to configure the LED configuration register using
 | |
| OF. This way, the correct value for board specific LED configuration can
 | |
| be determined.
 | |
| 
 | |
| Signed-off-by: David Bauer <mail@david-bauer.net>
 | |
| ---
 | |
|  drivers/net/usb/r8152.c | 23 +++++++++++++++++++++++
 | |
|  1 file changed, 23 insertions(+)
 | |
| 
 | |
| --- a/drivers/net/usb/r8152.c
 | |
| +++ b/drivers/net/usb/r8152.c
 | |
| @@ -11,6 +11,7 @@
 | |
|  #include <linux/mii.h>
 | |
|  #include <linux/ethtool.h>
 | |
|  #include <linux/usb.h>
 | |
| +#include <linux/of.h>
 | |
|  #include <linux/crc32.h>
 | |
|  #include <linux/if_vlan.h>
 | |
|  #include <linux/uaccess.h>
 | |
| @@ -6994,6 +6995,22 @@ static void rtl_tally_reset(struct r8152
 | |
|  	ocp_write_word(tp, MCU_TYPE_PLA, PLA_RSTTALLY, ocp_data);
 | |
|  }
 | |
|  
 | |
| +static int r8152_led_configuration(struct r8152 *tp)
 | |
| +{
 | |
| +	u32 led_data;
 | |
| +	int ret;
 | |
| +
 | |
| +	ret = of_property_read_u32(tp->udev->dev.of_node, "realtek,led-data",
 | |
| +								&led_data);
 | |
| +
 | |
| +	if (ret)
 | |
| +		return ret;
 | |
| +	
 | |
| +	ocp_write_word(tp, MCU_TYPE_PLA, PLA_LEDSEL, led_data);
 | |
| +
 | |
| +	return 0;
 | |
| +}
 | |
| +
 | |
|  static void r8152b_init(struct r8152 *tp)
 | |
|  {
 | |
|  	u32 ocp_data;
 | |
| @@ -7035,6 +7052,8 @@ static void r8152b_init(struct r8152 *tp
 | |
|  	ocp_data = ocp_read_word(tp, MCU_TYPE_USB, USB_USB_CTRL);
 | |
|  	ocp_data &= ~(RX_AGG_DISABLE | RX_ZERO_EN);
 | |
|  	ocp_write_word(tp, MCU_TYPE_USB, USB_USB_CTRL, ocp_data);
 | |
| +
 | |
| +	r8152_led_configuration(tp);
 | |
|  }
 | |
|  
 | |
|  static void r8153_init(struct r8152 *tp)
 | |
| @@ -7175,6 +7194,8 @@ static void r8153_init(struct r8152 *tp)
 | |
|  		tp->coalesce = COALESCE_SLOW;
 | |
|  		break;
 | |
|  	}
 | |
| +
 | |
| +	r8152_led_configuration(tp);
 | |
|  }
 | |
|  
 | |
|  static void r8153b_init(struct r8152 *tp)
 | |
| @@ -7257,6 +7278,8 @@ static void r8153b_init(struct r8152 *tp
 | |
|  	rtl_tally_reset(tp);
 | |
|  
 | |
|  	tp->coalesce = 15000;	/* 15 us */
 | |
| +
 | |
| +	r8152_led_configuration(tp);
 | |
|  }
 | |
|  
 | |
|  static void r8153c_init(struct r8152 *tp)
 |