mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-11-03 22:44:27 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			59 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			59 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
From bda508f975d1372568a4fc9862be501a6176fd46 Mon Sep 17 00:00:00 2001
 | 
						|
From: Jonas Gorski <jogo@openwrt.org>
 | 
						|
Date: Sat, 12 May 2012 23:04:17 +0200
 | 
						|
Subject: [PATCH v2 2/3] MIPS: BCM63XX: export PSI size from nvram
 | 
						|
 | 
						|
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
 | 
						|
---
 | 
						|
 arch/mips/bcm63xx/nvram.c                          |   13 +++++++++++++
 | 
						|
 arch/mips/include/asm/mach-bcm63xx/bcm63xx_nvram.h |    7 +++++++
 | 
						|
 2 files changed, 20 insertions(+)
 | 
						|
 | 
						|
--- a/arch/mips/bcm63xx/nvram.c
 | 
						|
+++ b/arch/mips/bcm63xx/nvram.c
 | 
						|
@@ -15,6 +15,7 @@
 | 
						|
 #include <linux/export.h>
 | 
						|
 #include <linux/kernel.h>
 | 
						|
 #include <linux/if_ether.h>
 | 
						|
+#include <linux/sizes.h>
 | 
						|
 
 | 
						|
 #include <bcm63xx_nvram.h>
 | 
						|
 
 | 
						|
@@ -35,6 +36,8 @@ struct bcm963xx_nvram {
 | 
						|
 	u32	checksum_high;
 | 
						|
 };
 | 
						|
 
 | 
						|
+#define BCM63XX_DEFAULT_PSI_SIZE	SZ_64K
 | 
						|
+
 | 
						|
 static struct bcm963xx_nvram nvram;
 | 
						|
 static int mac_addr_used;
 | 
						|
 
 | 
						|
@@ -104,3 +107,13 @@ int bcm63xx_nvram_get_mac_address(u8 *ma
 | 
						|
 	return 0;
 | 
						|
 }
 | 
						|
 EXPORT_SYMBOL(bcm63xx_nvram_get_mac_address);
 | 
						|
+
 | 
						|
+unsigned int bcm63xx_nvram_get_psi_size(void)
 | 
						|
+{
 | 
						|
+	/* max is 64k, but some vendors use higher values */
 | 
						|
+	if (nvram.psi_size > 0 && nvram.psi_size <= 512)
 | 
						|
+		return nvram.psi_size * SZ_1K;
 | 
						|
+
 | 
						|
+	return BCM63XX_DEFAULT_PSI_SIZE;
 | 
						|
+}
 | 
						|
+EXPORT_SYMBOL(bcm63xx_nvram_get_psi_size);
 | 
						|
--- a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_nvram.h
 | 
						|
+++ b/arch/mips/include/asm/mach-bcm63xx/bcm63xx_nvram.h
 | 
						|
@@ -30,4 +30,11 @@ u8 *bcm63xx_nvram_get_name(void);
 | 
						|
  */
 | 
						|
 int bcm63xx_nvram_get_mac_address(u8 *mac);
 | 
						|
 
 | 
						|
+/**
 | 
						|
+ * bcm63xx_nvram_get_psi_size() - returns the size of the PSI area
 | 
						|
+ *
 | 
						|
+ * Returns the size of the Persitent Storage Information area in bytes.
 | 
						|
+ */
 | 
						|
+unsigned int bcm63xx_nvram_get_psi_size(void);
 | 
						|
+
 | 
						|
 #endif /* BCM63XX_NVRAM_H */
 |