diff options
Diffstat (limited to 'target/linux/brcm63xx/patches-3.9/031-MIPS-BCM63XX-export-PSI-size-from-nvram.patch')
-rw-r--r-- | target/linux/brcm63xx/patches-3.9/031-MIPS-BCM63XX-export-PSI-size-from-nvram.patch | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/target/linux/brcm63xx/patches-3.9/031-MIPS-BCM63XX-export-PSI-size-from-nvram.patch b/target/linux/brcm63xx/patches-3.9/031-MIPS-BCM63XX-export-PSI-size-from-nvram.patch new file mode 100644 index 000000000..8ff9659b5 --- /dev/null +++ b/target/linux/brcm63xx/patches-3.9/031-MIPS-BCM63XX-export-PSI-size-from-nvram.patch @@ -0,0 +1,58 @@ +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 */ |