#include <linux/sysctl.h>
#include <asm/io.h>
#include <typedefs.h>
+#include <osl.h>
#include <bcmdevs.h>
#include <sbutils.h>
#define DMZ_GPIO (1<<7)
static void set_gpio(uint32 mask, uint32 value) {
- sb_gpiocontrol(sbh,mask,0);
- sb_gpioouten(sbh,mask,mask);
- sb_gpioout(sbh,mask,value);
+ sb_gpiocontrol(sbh,mask, 0, GPIO_DRV_PRIORITY);
+ sb_gpioouten(sbh,mask,mask,GPIO_DRV_PRIORITY);
+ sb_gpioout(sbh,mask,value,GPIO_DRV_PRIORITY);
}
static void v2_set_diag(u8 state) {
{
if (reset_gpio) {
- sb_gpiocontrol(sbh,reset_gpio,reset_gpio);
- sb_gpioouten(sbh,reset_gpio,0);
+ sb_gpiocontrol(sbh,reset_gpio,reset_gpio,GPIO_DRV_PRIORITY);
+ sb_gpioouten(sbh,reset_gpio,0,GPIO_DRV_PRIORITY);
reset=!(sb_gpioin(sbh)&reset_gpio);
if (reset_polarity) reset=!reset;
set_diag=ignore;
set_dmz=ignore;
- buf=nvram_get("boardrev");
- if (((board_type & 0xf00) == 0x400) && strcmp(buf,"0x10")) {
+ buf=nvram_get("pmon_ver") ?: "";
+ if (((board_type & 0xf00) == 0x400) && (strncmp(buf, "CFE", 3) != 0)) {
buf=nvram_get("boardtype")?:"";
if (!strcmp(buf,"bcm94710dev")) {
buf=nvram_get("boardnum")?:"";
}
- sb_gpiocontrol(sbh,reset_gpio,reset_gpio);
- sb_gpioouten(sbh,reset_gpio,0);
+ sb_gpiocontrol(sbh,reset_gpio,reset_gpio,GPIO_DRV_PRIORITY);
+ sb_gpioouten(sbh,reset_gpio,0,GPIO_DRV_PRIORITY);
reset_polarity=!(sb_gpioin(sbh)&reset_gpio);
diag_sysctl_header = register_sysctl_table(sys_diag, 0);