From bda508f975d1372568a4fc9862be501a6176fd46 Mon Sep 17 00:00:00 2001 From: Jonas Gorski 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 --- 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 #include #include +#include #include @@ -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 */