add MTK-combo-module

This commit is contained in:
xbw
2012-08-10 14:02:20 +08:00
parent a2809576ee
commit 17f39ed917
7 changed files with 49 additions and 7 deletions

View File

@@ -67,6 +67,10 @@
#include "../../../drivers/staging/android/timed_gpio.h"
#endif
#if defined(CONFIG_MT6620)
#include <linux/gps.h>
#endif
#ifdef CONFIG_THREE_FB_BUFFER
#define RK30_FB0_MEM_SIZE 12*SZ_1M
#else
@@ -1486,6 +1490,11 @@ static struct platform_device *devices[] __initdata = {
#if defined(CONFIG_WIFI_CONTROL_FUNC)||defined(CONFIG_WIFI_COMBO_MODULE_CONTROL_FUNC)
&rk29sdk_wifi_device,
#endif
#if defined(CONFIG_MT6620)
&mt3326_device_gps,
#endif
#ifdef CONFIG_RK29_SUPPORT_MODEM
&rk30_device_modem,
#endif
@@ -1822,6 +1831,10 @@ static void __init machine_rk30_board_init(void)
#ifdef CONFIG_WIFI_CONTROL_FUNC
rk29sdk_wifi_bt_gpio_control_init();
#endif
#if defined(CONFIG_MT6620)
clk_set_rate(clk_get_sys("rk_serial.0", "uart"), 16*1000000);
#endif
}
static void __init rk30_reserve(void)

View File

@@ -140,4 +140,6 @@ source "drivers/smc/Kconfig"
source "drivers/cir/Kconfig"
source "drivers/mtk_wcn_combo/Kconfig"
endmenu

View File

@@ -130,3 +130,4 @@ obj-$(CONFIG_TEST_CODE) += testcode/
obj-y += smc/
obj-y += cir/
obj-$(CONFIG_ARCH_RK29) += dbg/
obj-$(CONFIG_MTK_COMBO) += mtk_wcn_combo/

23
drivers/gpio/gpiolib.c Normal file → Executable file
View File

@@ -1225,7 +1225,7 @@ done:
spin_unlock_irqrestore(&gpio_lock, flags);
return status;
}
EXPORT_SYMBOL_GPL(gpio_request);
EXPORT_SYMBOL(gpio_request);//EXPORT_SYMBOL_GPL(gpio_request);
void gpio_free(unsigned gpio)
{
@@ -1262,7 +1262,9 @@ void gpio_free(unsigned gpio)
spin_unlock_irqrestore(&gpio_lock, flags);
}
EXPORT_SYMBOL_GPL(gpio_free);
//EXPORT_SYMBOL_GPL(gpio_free);
EXPORT_SYMBOL(gpio_free);
/**
* gpio_request_one - request a single GPIO with initial configuration
@@ -1418,7 +1420,9 @@ fail:
__func__, gpio, status);
return status;
}
EXPORT_SYMBOL_GPL(gpio_direction_input);
//EXPORT_SYMBOL_GPL(gpio_direction_input);
EXPORT_SYMBOL(gpio_direction_input);
int gpio_direction_output(unsigned gpio, int value)
{
@@ -1475,7 +1479,8 @@ fail:
__func__, gpio, status);
return status;
}
EXPORT_SYMBOL_GPL(gpio_direction_output);
//EXPORT_SYMBOL_GPL(gpio_direction_output);
EXPORT_SYMBOL(gpio_direction_output);
/*
gpio pull up or pull down
@@ -1536,7 +1541,8 @@ fail:
__func__, gpio, status);
return status;
}
EXPORT_SYMBOL_GPL(gpio_pull_updown);
//EXPORT_SYMBOL_GPL(gpio_pull_updown);
EXPORT_SYMBOL(gpio_pull_updown);
/**
* gpio_set_debounce - sets @debounce time for a @gpio
@@ -1626,7 +1632,9 @@ int __gpio_get_value(unsigned gpio)
trace_gpio_value(gpio, 1, value);
return value;
}
EXPORT_SYMBOL_GPL(__gpio_get_value);
//EXPORT_SYMBOL_GPL(__gpio_get_value);
EXPORT_SYMBOL(__gpio_get_value);
/**
* __gpio_set_value() - assign a gpio's value
@@ -1650,7 +1658,8 @@ void __gpio_set_value(unsigned gpio, int value)
trace_gpio_value(gpio, 0, value);
chip->set(chip, gpio - chip->base, value);
}
EXPORT_SYMBOL_GPL(__gpio_set_value);
//EXPORT_SYMBOL_GPL(__gpio_set_value);
EXPORT_SYMBOL(__gpio_set_value);
/**
* __gpio_cansleep() - report whether gpio value access will sleep

10
drivers/net/wireless/Kconfig Normal file → Executable file
View File

@@ -55,6 +55,16 @@ choice
---help---
A library for Broadcom BCM4319 SDIO WLAN devices.
config MT6620
depends on WLAN_80211 && MMC && MTK_COMBO
select WIRELESS_EXT
select WEXT_PRIV
select IEEE80211
select FW_LOADER
bool "MTK MT6620 WiFi SDIO"
---help---
A library for MTK_wcn_combo SDIO WLAN devices.
config MV8686
depends on WLAN_80211 && MMC
select WIRELESS_EXT

5
include/net/cfg80211.h Normal file → Executable file
View File

@@ -558,6 +558,11 @@ struct station_info {
struct sta_bss_parameters bss_param;
int generation;
#if defined(CONFIG_MT6620)
const u8 *assoc_req_ies;
size_t assoc_req_ies_len;
#endif
};
/**

2
net/bluetooth/hci_core.c Normal file → Executable file
View File

@@ -1530,6 +1530,7 @@ int hci_register_dev(struct hci_dev *hdev)
hci_register_sysfs(hdev);
#if !defined(CONFIG_MT6620)
hdev->rfkill = rfkill_alloc(hdev->name, &hdev->dev,
RFKILL_TYPE_BLUETOOTH, &hci_rfkill_ops, hdev);
if (hdev->rfkill) {
@@ -1542,6 +1543,7 @@ int hci_register_dev(struct hci_dev *hdev)
set_bit(HCI_AUTO_OFF, &hdev->flags);
set_bit(HCI_SETUP, &hdev->flags);
queue_work(hdev->workqueue, &hdev->power_on);
#endif
hci_notify(hdev, HCI_DEV_REG);