Merge branch 'develop-3.10' of ssh://10.10.10.29/rk/kernel into rk30/box/4.4_r1/develop

This commit is contained in:
sugar
2014-12-08 09:44:14 +08:00
6 changed files with 38 additions and 97 deletions

View File

@@ -39,6 +39,7 @@
#include "sram.h"
#include "pm.h"
#include "pm-rk312x.c"
#include <linux/rockchip/cpu.h>
#define RK312X_DEVICE(name) \
{ \
.virtual = (unsigned long) RK_##name##_VIRT, \
@@ -256,7 +257,8 @@ static int rk312x_pmu_set_power_domain(enum pmu_power_domain pd, bool on)
rk312x_pmu_set_idle_request(IDLE_REQ_GPU, true);
} else if (pd == PD_VIO) {
SAVE_QOS(rga_qos, VIO_RGA);
SAVE_QOS(ebc_qos, VIO_EBC);
if (!soc_is_rk3126b())
SAVE_QOS(ebc_qos, VIO_EBC);
SAVE_QOS(iep_qos, VIO_IEP);
SAVE_QOS(lcdc0_qos, VIO_LCDC0);
SAVE_QOS(vip0_qos, VIO_VIP0);
@@ -276,7 +278,8 @@ static int rk312x_pmu_set_power_domain(enum pmu_power_domain pd, bool on)
} else if (pd == PD_VIO) {
rk312x_pmu_set_idle_request(IDLE_REQ_VIO, false);
RESTORE_QOS(rga_qos, VIO_RGA);
RESTORE_QOS(ebc_qos, VIO_EBC);
if (!soc_is_rk3126b())
RESTORE_QOS(ebc_qos, VIO_EBC);
RESTORE_QOS(iep_qos, VIO_IEP);
RESTORE_QOS(lcdc0_qos, VIO_LCDC0);
RESTORE_QOS(vip0_qos, VIO_VIP0);

View File

@@ -24,6 +24,7 @@
#include "esp_debug.h"
#include "esp_wl.h"
#include "esp_utils.h"
#include <linux/rfkill-wlan.h>
#define ESP_IEEE80211_DBG esp_dbg
@@ -2194,14 +2195,25 @@ esp_pub_init_mac80211(struct esp_pub *epub)
int
esp_register_mac80211(struct esp_pub *epub)
{
int ret = 0;
int ret = 0;
u8 mac[ETH_ALEN];
#ifdef P2P_CONCURRENT
u8 *wlan_addr;
u8 *p2p_addr;
int idx;
#endif
esp_pub_init_mac80211(epub);
esp_pub_init_mac80211(epub);
printk("Wifi Efuse Mac => %02x:%02x:%02x:%02x:%02x:%02x\n", epub->mac_addr[0], epub->mac_addr[1],
epub->mac_addr[2], epub->mac_addr[3], epub->mac_addr[4], epub->mac_addr[5]);
if (!rockchip_wifi_mac_addr(mac))
{
printk("=========> get mac address from flash=[%02x:%02x:%02x:%02x:%02x:%02x]\n", mac[0], mac[1],
mac[2], mac[3], mac[4], mac[5]);
memcpy(epub->mac_addr, mac, ETH_ALEN);
}
#ifdef P2P_CONCURRENT
epub->hw->wiphy->addresses = (struct mac_address *)esp_mac_addr;

View File

@@ -76,49 +76,7 @@ extern int pcd_remove(struct platform_device *_dev);
extern void hcd_remove(struct platform_device *_dev);
extern void dwc_otg_adp_start(dwc_otg_core_if_t *core_if, uint8_t is_host);
#ifdef CONFIG_USB20_OTG
static struct usb20otg_pdata_id usb20otg_pdata[] = {
{
.name = "rk3188-usb20otg",
.pdata = &usb20otg_pdata_rk3188,
},
{
.name = "rk3288-usb20otg",
.pdata = &usb20otg_pdata_rk3288,
},
{
.name = "rk3036-usb20otg",
.pdata = &usb20otg_pdata_rk3036,
},
{
.name = "rk3126-usb20otg",
.pdata = &usb20otg_pdata_rk3126,
},
{},
};
#endif
#ifdef CONFIG_USB20_HOST
static struct usb20host_pdata_id usb20host_pdata[] = {
{
.name = "rk3188-usb20host",
.pdata = &usb20host_pdata_rk3188,
},
{
.name = "rk3288-usb20host",
.pdata = &usb20host_pdata_rk3288,
},
{
.name = "rk3036-usb20host",
.pdata = &usb20host_pdata_rk3036,
},
{
.name = "rk3126-usb20host",
.pdata = &usb20host_pdata_rk3126,
},
{},
};
#endif
static u32 usb_to_uart_status;
/*-------------------------------------------------------------------------*/
@@ -958,19 +916,19 @@ static int host20_driver_remove(struct platform_device *_dev)
static const struct of_device_id usb20_host_of_match[] = {
{
.compatible = "rockchip,rk3188_usb20_host",
.data = &usb20host_pdata[RK3188_USB_CTLR],
.data = &usb20host_pdata_rk3188,
},
{
.compatible = "rockchip,rk3288_usb20_host",
.data = &usb20host_pdata[RK3288_USB_CTLR],
.data = &usb20host_pdata_rk3288,
},
{
.compatible = "rockchip,rk3036_usb20_host",
.data = &usb20host_pdata[RK3036_USB_CTLR],
.data = &usb20host_pdata_rk3036,
},
{
.compatible = "rockchip,rk3126_usb20_host",
.data = &usb20host_pdata[RK3126_USB_CTLR],
.data = &usb20host_pdata_rk3126,
},
{},
};
@@ -997,18 +955,16 @@ static int host20_driver_probe(struct platform_device *_dev)
struct device *dev = &_dev->dev;
struct device_node *node = _dev->dev.of_node;
struct dwc_otg_platform_data *pldata;
struct usb20host_pdata_id *p;
const struct of_device_id *match =
of_match_device(of_match_ptr(usb20_host_of_match), &_dev->dev);
if (match) {
p = (struct usb20host_pdata_id *)match->data;
if (match && match->data) {
dev->platform_data = (void *)match->data;
} else {
dev_err(dev, "usb20host match failed\n");
return -EINVAL;
}
dev->platform_data = p->pdata;
pldata = dev->platform_data;
pldata->dev = dev;
@@ -1326,22 +1282,21 @@ static int otg20_driver_remove(struct platform_device *_dev)
static const struct of_device_id usb20_otg_of_match[] = {
{
.compatible = "rockchip,rk3188_usb20_otg",
.data = &usb20otg_pdata[RK3188_USB_CTLR],
.data = &usb20otg_pdata_rk3188,
},
{
.compatible = "rockchip,rk3288_usb20_otg",
.data = &usb20otg_pdata[RK3288_USB_CTLR],
.data = &usb20otg_pdata_rk3288,
},
{
.compatible = "rockchip,rk3036_usb20_otg",
.data = &usb20otg_pdata[RK3036_USB_CTLR],
.data = &usb20otg_pdata_rk3036,
},
{
.compatible = "rockchip,rk3126_usb20_otg",
.data = &usb20otg_pdata[RK3126_USB_CTLR],
},
{
.data = &usb20otg_pdata_rk3126,
},
{ },
};
MODULE_DEVICE_TABLE(of, usb20_otg_of_match);
@@ -1367,19 +1322,16 @@ static int otg20_driver_probe(struct platform_device *_dev)
struct device *dev = &_dev->dev;
struct device_node *node = _dev->dev.of_node;
struct dwc_otg_platform_data *pldata;
struct usb20otg_pdata_id *p;
const struct of_device_id *match =
of_match_device(of_match_ptr(usb20_otg_of_match), &_dev->dev);
if (match) {
p = (struct usb20otg_pdata_id *)match->data;
dev->platform_data = (void *)match->data;
} else {
dev_err(dev, "usb20otg match failed\n");
return -EINVAL;
}
dev->platform_data = p->pdata;
/* dev->platform_data = &usb20otg_pdata; */
pldata = dev->platform_data;
pldata->dev = dev;

View File

@@ -137,16 +137,6 @@ enum {
RK3126_USB_CTLR,
};
struct usb20otg_pdata_id {
char name[32];
struct dwc_otg_platform_data *pdata;
};
struct usb20host_pdata_id {
char name[32];
struct dwc_otg_platform_data *pdata;
};
struct rkehci_pdata_id {
char name[32];
struct rkehci_platform_data *pdata;

View File

@@ -212,11 +212,11 @@ static DEVICE_ATTR(hsic_debug_ehci, S_IRUGO, hsic_debug_show, NULL);
static struct of_device_id rk_hsic_of_match[] = {
{
.compatible = "rockchip,rk3188_rk_hsic_host",
.data = &rkhsic_pdata[RK3188_USB_CTLR],
.data = &rkhsic_pdata_rk3188,
},
{
.compatible = "rockchip,rk3288_rk_hsic_host",
.data = &rkhsic_pdata[RK3288_USB_CTLR],
.data = &rkhsic_pdata_rk3288,
},
{},
};
@@ -234,20 +234,18 @@ static int ehci_rkhsic_probe(struct platform_device *pdev)
int retval = 0;
static u64 usb_dmamask = 0xffffffffUL;
struct device_node *node = pdev->dev.of_node;
struct rkehci_pdata_id *p;
const struct of_device_id *match =
of_match_device(of_match_ptr(rk_hsic_of_match), &pdev->dev);
dev_dbg(&pdev->dev, "ehci_rkhsic proble\n");
if (match) {
p = (struct rkehci_pdata_id *)match->data;
if (match && match->data) {
dev->platform_data = match->data;
} else {
dev_err(dev, "ehci_rkhsic match failed\n");
return -EINVAL;
}
dev->platform_data = p->pdata;
pldata = dev->platform_data;
pldata->dev = dev;

View File

@@ -41,18 +41,6 @@ struct rk_ehci_hcd {
};
#define EHCI_PRINT(x...) printk(KERN_INFO "EHCI: " x)
static struct rkehci_pdata_id rkehci_pdata[] = {
{
.name = "rk3188-reserved",
.pdata = NULL,
},
{
.name = "rk3288-ehci",
.pdata = &rkehci_pdata_rk3288,
},
{},
};
static void rk_ehci_hcd_enable(struct work_struct *work)
{
struct rk_ehci_hcd *rk_ehci;
@@ -263,7 +251,7 @@ static DEVICE_ATTR(test_sq, S_IWUSR, NULL, test_sq_store);
static struct of_device_id rk_ehci_of_match[] = {
{
.compatible = "rockchip,rk3288_rk_ehci_host",
.data = &rkehci_pdata[RK3288_USB_CTLR],
.data = &rkehci_pdata_rk3288,
},
{},
};
@@ -279,21 +267,19 @@ static int ehci_rk_probe(struct platform_device *pdev)
struct rkehci_platform_data *pldata;
int ret;
struct device_node *node = pdev->dev.of_node;
struct rkehci_pdata_id *p;
struct rk_ehci_hcd *rk_ehci;
const struct of_device_id *match =
of_match_device(of_match_ptr(rk_ehci_of_match), &pdev->dev);
dev_dbg(&pdev->dev, "ehci_rk probe!\n");
if (match) {
p = (struct rkehci_pdata_id *)match->data;
if (match && match->data) {
dev->platform_data = (void *)match->data;
} else {
dev_err(dev, "ehci_rk match failed\n");
return -EINVAL;
}
dev->platform_data = p->pdata;
pldata = dev->platform_data;
pldata->dev = dev;