diff options
Diffstat (limited to 'package')
| -rw-r--r-- | package/broadcom-diag/src/diag.c | 43 | ||||
| -rw-r--r-- | package/broadcom-diag/src/diag.h | 1 | ||||
| -rw-r--r-- | package/kernel/modules/netfilter.mk | 1 | ||||
| -rw-r--r-- | package/kernel/modules/other.mk | 8 | 
4 files changed, 51 insertions, 2 deletions
| diff --git a/package/broadcom-diag/src/diag.c b/package/broadcom-diag/src/diag.c index 66e86ccdc..4dcc0bf15 100644 --- a/package/broadcom-diag/src/diag.c +++ b/package/broadcom-diag/src/diag.c @@ -63,6 +63,7 @@ enum {  	WL500GD,  	WL500GP,  	ASUS_4702, +	WL700GE,  	/* Buffalo */  	WBR2_G54, @@ -101,6 +102,20 @@ enum {  	TEW411BRPP,  }; +static void __init wl700ge_init(void) { +		int pin = 1 << 3; + +		/* Enables GPIO 3 that controls HDD and led power on ASUS WL-700gE */ +		printk(MODULE_NAME ": Spinning up HDD and enabling leds\n"); +		gpio_outen(pin, pin); +		gpio_control(pin, 0); +		gpio_out(pin, pin); + +		/* Wait 5s, so the HDD can spin up */ +		set_current_state(TASK_INTERRUPTIBLE); +		schedule_timeout(HZ * 5); +} +  static struct platform_t __initdata platforms[] = {  	/* Linksys */  	[WAP54GV1] = { @@ -244,6 +259,25 @@ static struct platform_t __initdata platforms[] = {  			{ .name = "power",	.gpio = 1 << 0, .polarity = REVERSE },  		},  	}, +	[WL700GE] = { +		.name		= "ASUS WL-700gE", +		.buttons	= { +			{ .name = "reset",	.gpio = 1 << 7 }, // on back, hardwired, always resets device regardless OS state +			{ .name = "ses",	.gpio = 1 << 4 }, // on back, actual name ezsetup +			{ .name = "power",	.gpio = 1 << 0 }, // on front +			{ .name = "copy",	.gpio = 1 << 6 }, // on front +		}, +		.leds		= { +#if 0 +			// GPIO that controls power led also enables/disables some essential functions +			// - power to HDD +			// - switch leds +			{ .name = "power",	.gpio = 1 << 3, .polarity = NORMAL },  // actual name power +#endif +			{ .name = "diag",	.gpio = 1 << 1, .polarity = REVERSE }, // actual name ready +		}, +		.platform_init = wl700ge_init, +	},  	/* Buffalo */  	[WHR_G54S] = {  		.name		= "Buffalo WHR-G54S", @@ -478,10 +512,14 @@ static struct platform_t __init *platform_detect(void)  	boardnum = getvar("boardnum");  	boardtype = getvar("boardtype"); + +	if (strncmp(getvar("model_no"), "WL700",5) == 0) { +		return &platforms[WL700GE]; } +  	if (strncmp(getvar("pmon_ver"), "CFE", 3) == 0) {  		/* CFE based - newer hardware */  		if (!strcmp(boardnum, "42")) { /* Linksys */ -			if (!strcmp(boardtype, "0x478") && !strcmp(getvar("cardbus"), 1)) +			if (!strcmp(boardtype, "0x478") && !strcmp(getvar("cardbus"), "1"))  				return &platforms[WRT350N];  			if (!strcmp(boardtype, "0x0101") && !strcmp(getvar("boot_ver"), "v3.6")) @@ -873,6 +911,9 @@ static int __init diag_init(void)  	memcpy(&platform, detected, sizeof(struct platform_t));  	printk(MODULE_NAME ": Detected '%s'\n", platform.name); +	if (platform.platform_init != NULL) { +		platform.platform_init(); +	}  	if (!(diag = proc_mkdir("diag", NULL))) {  		printk(MODULE_NAME ": proc_mkdir on /proc/diag failed\n"); diff --git a/package/broadcom-diag/src/diag.h b/package/broadcom-diag/src/diag.h index 30791cffe..af30823aa 100644 --- a/package/broadcom-diag/src/diag.h +++ b/package/broadcom-diag/src/diag.h @@ -66,6 +66,7 @@ struct platform_t {  	struct button_t buttons[MAX_GPIO];  	u32 button_mask;  	u32 button_polarity; +	void (*platform_init)(void);  	struct led_t leds[MAX_GPIO];  }; diff --git a/package/kernel/modules/netfilter.mk b/package/kernel/modules/netfilter.mk index e14cdb809..5f7efe61f 100644 --- a/package/kernel/modules/netfilter.mk +++ b/package/kernel/modules/netfilter.mk @@ -87,7 +87,6 @@ $(eval $(call KernelPackage,ipt-nat))  define KernelPackage/ipt-nathelper    TITLE:=Default Conntrack and NAT helpers -  DEFAULT:=y    DESCRIPTION:=\  	Default Netfilter (IPv4) Conntrack and NAT helpers \\\  	\\\ diff --git a/package/kernel/modules/other.mk b/package/kernel/modules/other.mk index a5cc4de8f..d0975e01c 100644 --- a/package/kernel/modules/other.mk +++ b/package/kernel/modules/other.mk @@ -64,6 +64,14 @@ define KernelPackage/ide-pdc202xx  endef  $(eval $(call KernelPackage,ide-pdc202xx)) +define KernelPackage/ide-aec62xx +  TITLE:=AEC62xx IDE driver +  SUBMENU:=$(EMENU) +  KCONFIG:=$(CONFIG_BLK_DEV_AEC62XX) +  FILES:=$(MODULES_DIR)/kernel/drivers/ide/pci/aec62xx.$(LINUX_KMOD_SUFFIX) +  AUTOLOAD:=$(call AutoLoad,30,aec62xx) +endef +$(eval $(call KernelPackage,ide-aec62xx))  define KernelPackage/lp    TITLE:=Parallel port and line printer support | 
