#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
#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
#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)
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)
{
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
__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)
{
__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
__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
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
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
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) {
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);