mirror of
https://github.com/armbian/linux.git
synced 2026-01-06 10:13:00 -08:00
rk2818: remove all rk2818 stuff, prepare for 2.6.36
This commit is contained in:
@@ -707,20 +707,6 @@ config ARCH_BCMRING
|
||||
help
|
||||
Support for Broadcom's BCMRing platform.
|
||||
|
||||
config ARCH_RK2818
|
||||
bool "Rockchip soc rk2818"
|
||||
select CPU_ARM926T
|
||||
select CPU_CP15_MMU
|
||||
select HAVE_TCM
|
||||
select HAVE_CLK
|
||||
select COMMON_CLKDEV
|
||||
select ARCH_HAS_CPUFREQ
|
||||
select GENERIC_TIME
|
||||
select GENERIC_CLOCKEVENTS
|
||||
select ARCH_REQUIRE_GPIOLIB
|
||||
help
|
||||
Support for Rockchip RK2818 soc.
|
||||
|
||||
config ARCH_RK29
|
||||
bool "Rockchip Soc Rk29"
|
||||
select CPU_V7
|
||||
@@ -840,8 +826,6 @@ source "arch/arm/mach-w90x900/Kconfig"
|
||||
|
||||
source "arch/arm/mach-bcmring/Kconfig"
|
||||
|
||||
source "arch/arm/mach-rk2818/Kconfig"
|
||||
|
||||
source "arch/arm/mach-rk29/Kconfig"
|
||||
|
||||
# Definitions to make life easier
|
||||
|
||||
@@ -170,7 +170,6 @@ machine-$(CONFIG_ARCH_VERSATILE) := versatile
|
||||
machine-$(CONFIG_ARCH_W90X900) := w90x900
|
||||
machine-$(CONFIG_FOOTBRIDGE) := footbridge
|
||||
machine-$(CONFIG_ARCH_MXC91231) := mxc91231
|
||||
machine-$(CONFIG_ARCH_RK2818) := rk2818
|
||||
machine-$(CONFIG_ARCH_RK29) := rk29
|
||||
|
||||
# Platform directory name. This list is sorted alphanumerically
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,74 +0,0 @@
|
||||
if ARCH_RK2818
|
||||
|
||||
comment "ROCKCHIP rk2818 Board Type"
|
||||
depends on ARCH_RK2818
|
||||
|
||||
config MACH_RK2818MID
|
||||
depends on ARCH_RK2818
|
||||
default y
|
||||
bool "ROCKCHIP Board For Mid"
|
||||
help
|
||||
Support for the ROCKCHIP Board For Rk2818 Mid.
|
||||
|
||||
config MACH_RK2818PHONE
|
||||
depends on ARCH_RK2818
|
||||
default y
|
||||
bool "ROCKCHIP Board For PHONE"
|
||||
help
|
||||
Support for the ROCKCHIP Board For Rk2818 Phone.
|
||||
|
||||
config MACH_RAHO
|
||||
depends on ARCH_RK2818
|
||||
default n
|
||||
bool "ROCKCHIP Board For raho"
|
||||
help
|
||||
Support for the ROCKCHIP Board For raho Phone.
|
||||
|
||||
config MACH_RAHOSDK
|
||||
depends on ARCH_RK2818
|
||||
default n
|
||||
bool "ROCKCHIP Board For raho sdk"
|
||||
help
|
||||
Support for the ROCKCHIP Board For raho sdk Phone.
|
||||
|
||||
config MACH_RK2818INFO
|
||||
depends on ARCH_RK2818
|
||||
default n
|
||||
bool "ROCKCHIP Board For Info"
|
||||
help
|
||||
Support for the ROCKCHIP Board For Info Telephone.
|
||||
|
||||
config MACH_RK2818INFO_IT50
|
||||
depends on ARCH_RK2818
|
||||
default n
|
||||
bool "ROCKCHIP Board For Info It50"
|
||||
help
|
||||
Support for the ROCKCHIP Board For Info IT50 Telephone.
|
||||
|
||||
config RK28_GPIO_IRQ
|
||||
int
|
||||
default 16 if ARCH_RK2818
|
||||
default 0
|
||||
config RK28_ADC
|
||||
tristate "RK28 ADC Driver"
|
||||
depends on ARCH_RK2818
|
||||
default y
|
||||
---help---
|
||||
RK28 ADC Driver
|
||||
|
||||
config RK28_USB_WAKE
|
||||
bool "Enable wake-up events for USB ports"
|
||||
depends on ARCH_RK2818 && PM
|
||||
default y
|
||||
help
|
||||
Select this option if you want to have your system wake up from USB.
|
||||
This will poll usb every second while suspend, so consumes more power.
|
||||
|
||||
config WIFI_CONTROL_FUNC
|
||||
bool "Enable WiFi control function abstraction"
|
||||
help
|
||||
Enables Power/Reset/Carddetect function abstraction
|
||||
config RK2818_SOC_PM
|
||||
bool "Enable soc power manager function"
|
||||
default n
|
||||
endif
|
||||
@@ -1,15 +0,0 @@
|
||||
obj-y += irq.o timer.o iomux.o gpio.o
|
||||
obj-y += devices.o
|
||||
obj-y += clock.o
|
||||
obj-$(CONFIG_CPU_FREQ) += cpufreq.o
|
||||
obj-y += ddr.o
|
||||
obj-y += dma.o
|
||||
obj-$(CONFIG_PM) += pm.o
|
||||
obj-$(CONFIG_RK28_ADC) += adc.o
|
||||
obj-$(CONFIG_MACH_RK2818MID) += board-midsdk.o
|
||||
obj-$(CONFIG_MACH_RK2818PHONE) += board-phonesdk.o
|
||||
obj-$(CONFIG_MACH_RAHO) += board-raho.o board-raho-rfkill.o
|
||||
obj-$(CONFIG_MACH_RAHOSDK) += board-rahosdk.o board-rahosdk-rfkill.o
|
||||
obj-$(CONFIG_MACH_RK2818INFO) += board-infosdk.o board-infosdk-rfkill.o
|
||||
obj-$(CONFIG_MACH_RK2818INFO_IT50) += board-infoit50.o board-infoit50-rfkill.o
|
||||
obj-$(CONFIG_RK2818_SOC_PM) += rk2818-socpm.o
|
||||
@@ -1,3 +0,0 @@
|
||||
zreladdr-y := 0x60408000
|
||||
params_phys-y := 0x600f8000
|
||||
initrd_phys-y := 0x60800000
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,140 +0,0 @@
|
||||
/* linux/arch/arm/mach-rk2818/board-infoit50-rfkill.c
|
||||
*
|
||||
* Copyright (C) 2010 ROCKCHIP, Inc.
|
||||
*
|
||||
* This software is licensed under the terms of the GNU General Public
|
||||
* License version 2, as published by the Free Software Foundation, and
|
||||
* may be copied, distributed, and modified under those terms.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
*/
|
||||
|
||||
#include <linux/module.h>
|
||||
#include <linux/rfkill.h>
|
||||
#include <linux/delay.h>
|
||||
#include <linux/platform_device.h>
|
||||
#include <mach/gpio.h>
|
||||
|
||||
#define INFOIT50_BT_GPIO_POWER_N TCA6424_P01
|
||||
#define INFOIT50_BT_GPIO_RESET_N TCA6424_P14
|
||||
|
||||
static struct rfkill *bt_rfk;
|
||||
static const char bt_name[] = "bcm4329";
|
||||
|
||||
static int bcm4329_set_block(void *data, bool blocked)
|
||||
{
|
||||
pr_info("%s---blocked :%d\n", __func__, blocked);
|
||||
|
||||
if (false == blocked) {
|
||||
gpio_direction_output(INFOIT50_BT_GPIO_POWER_N, GPIO_HIGH); /* bt power on */
|
||||
gpio_direction_output(INFOIT50_BT_GPIO_RESET_N, GPIO_HIGH); /* bt reset deactive */
|
||||
mdelay(20);
|
||||
pr_info("bt turn on power\n");
|
||||
}else{
|
||||
gpio_direction_output(INFOIT50_BT_GPIO_POWER_N, GPIO_LOW); /* bt power off */
|
||||
gpio_direction_output(INFOIT50_BT_GPIO_RESET_N, GPIO_LOW); /* bt reset active */
|
||||
mdelay(20);
|
||||
pr_info("bt shut off power\n");
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
static const struct rfkill_ops bcm4329_rfk_ops = {
|
||||
.set_block = bcm4329_set_block,
|
||||
};
|
||||
|
||||
static int bcm4329_rfkill_probe(struct platform_device *pdev)
|
||||
{
|
||||
int rc = 0;
|
||||
bool default_state = true;
|
||||
|
||||
pr_info("Enter::%s,line=%d\n",__FUNCTION__,__LINE__);
|
||||
|
||||
rc = gpio_request(INFOIT50_BT_GPIO_POWER_N, "bt_shutdown");
|
||||
if (rc)
|
||||
return rc;
|
||||
rc = gpio_request(INFOIT50_BT_GPIO_RESET_N, "bt_reset");
|
||||
if (rc){
|
||||
gpio_free(INFOIT50_BT_GPIO_POWER_N);
|
||||
return rc;
|
||||
}
|
||||
|
||||
/* default to bluetooth off */
|
||||
bcm4329_set_block(NULL, default_state); /* blocked -> bt off */
|
||||
|
||||
bt_rfk = rfkill_alloc(bt_name,
|
||||
NULL,
|
||||
RFKILL_TYPE_BLUETOOTH,
|
||||
&bcm4329_rfk_ops,
|
||||
NULL);
|
||||
|
||||
if (!bt_rfk)
|
||||
{
|
||||
printk("fail to rfkill_allocate************\n");
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
rfkill_set_states(bt_rfk, default_state, false);
|
||||
|
||||
rc = rfkill_register(bt_rfk);
|
||||
if (rc)
|
||||
rfkill_destroy(bt_rfk);
|
||||
|
||||
printk("rc=0x%x\n", rc);
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
||||
|
||||
static int bcm4329_rfkill_remove(struct platform_device *pdev)
|
||||
{
|
||||
if (bt_rfk)
|
||||
rfkill_unregister(bt_rfk);
|
||||
rfkill_destroy(bt_rfk);
|
||||
bt_rfk = NULL;
|
||||
gpio_free(INFOIT50_BT_GPIO_POWER_N);
|
||||
gpio_free(INFOIT50_BT_GPIO_RESET_N);
|
||||
|
||||
platform_set_drvdata(pdev, NULL);
|
||||
pr_info("Enter::%s,line=%d\n",__FUNCTION__,__LINE__);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static struct platform_driver bcm4329_rfkill_driver = {
|
||||
.probe = bcm4329_rfkill_probe,
|
||||
.remove = bcm4329_rfkill_remove,
|
||||
.driver = {
|
||||
.name = "infoit50_rfkill",
|
||||
.owner = THIS_MODULE,
|
||||
},
|
||||
};
|
||||
|
||||
/*
|
||||
* Module initialization
|
||||
*/
|
||||
static int __init bcm4329_mod_init(void)
|
||||
{
|
||||
int ret;
|
||||
pr_info("Enter::%s,line=%d\n",__func__,__LINE__);
|
||||
ret = platform_driver_register(&bcm4329_rfkill_driver);
|
||||
printk("ret=0x%x\n", ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
static void __exit bcm4329_mod_exit(void)
|
||||
{
|
||||
platform_driver_unregister(&bcm4329_rfkill_driver);
|
||||
}
|
||||
|
||||
module_init(bcm4329_mod_init);
|
||||
module_exit(bcm4329_mod_exit);
|
||||
MODULE_DESCRIPTION("bcm4329 Bluetooth driver");
|
||||
MODULE_AUTHOR("roger_chen cz@rock-chips.com");
|
||||
MODULE_LICENSE("GPL");
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,152 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2010 ROCKCHIP, Inc.
|
||||
* Author: roger_chen <cz@rock-chips.com>
|
||||
*
|
||||
* This program is the bluetooth device bcm4329's driver,
|
||||
*
|
||||
*/
|
||||
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/device.h>
|
||||
#include <linux/rfkill.h>
|
||||
#include <linux/delay.h>
|
||||
#include <linux/i2c.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/slab.h>
|
||||
//#include <asm/gpio.h>
|
||||
//#include <asm/arch/gpio.h>
|
||||
//#include <asm/arch/iomux.h>
|
||||
//#include <asm/arch/gpio.h>
|
||||
#include <linux/interrupt.h>
|
||||
#include <linux/wakelock.h>
|
||||
#include <mach/spi_fpga.h>
|
||||
#include <linux/fs.h>
|
||||
#include <asm/uaccess.h>
|
||||
#include <mach/gpio.h>
|
||||
|
||||
#if 0
|
||||
#define DBG(x...) printk(KERN_INFO x)
|
||||
#else
|
||||
#define DBG(x...)
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_MACH_RK2818INFO_IT50
|
||||
#define INFO_BT_GPIO_POWER_N TCA6424_P01
|
||||
#define INFO_BT_GPIO_RESET_N TCA6424_P14
|
||||
#else
|
||||
#define INFO_BT_GPIO_POWER_N TCA6424_P25
|
||||
#define INFO_BT_GPIO_RESET_N TCA6424_P22
|
||||
#endif
|
||||
static struct rfkill *bt_rfk;
|
||||
static const char bt_name[] = "bcm4329";
|
||||
extern int info_bt_power_state;
|
||||
extern int info_wifi_power_state;
|
||||
|
||||
static int bcm4329_set_block(void *data, bool blocked)
|
||||
{
|
||||
DBG("%s---blocked :%d\n", __FUNCTION__, blocked);
|
||||
|
||||
if (false == blocked) {
|
||||
gpio_set_value(INFO_BT_GPIO_POWER_N, GPIO_HIGH); /* bt power on */
|
||||
gpio_set_value(INFO_BT_GPIO_RESET_N, GPIO_HIGH); /* bt reset deactive*/
|
||||
mdelay(20);
|
||||
pr_info("bt turn on power\n");
|
||||
}
|
||||
else {
|
||||
if (!info_wifi_power_state) {
|
||||
gpio_set_value(INFO_BT_GPIO_POWER_N, GPIO_LOW); /* bt power off */
|
||||
mdelay(20);
|
||||
pr_info("bt shut off power\n");
|
||||
}else {
|
||||
pr_info("bt shouldn't shut off power, wifi is using it!\n");
|
||||
}
|
||||
|
||||
gpio_set_value(INFO_BT_GPIO_RESET_N, GPIO_LOW); /* bt reset active*/
|
||||
mdelay(20);
|
||||
}
|
||||
|
||||
info_bt_power_state = !blocked;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
static const struct rfkill_ops bcm4329_rfk_ops = {
|
||||
.set_block = bcm4329_set_block,
|
||||
};
|
||||
|
||||
static int __init bcm4329_rfkill_probe(struct platform_device *pdev)
|
||||
{
|
||||
int rc = 0;
|
||||
|
||||
DBG("Enter::%s,line=%d\n",__FUNCTION__,__LINE__);
|
||||
|
||||
/* default to bluetooth off */
|
||||
// rfkill_switch_all(RFKILL_TYPE_BLUETOOTH, true);
|
||||
|
||||
bt_rfk = rfkill_alloc(bt_name,
|
||||
NULL,
|
||||
RFKILL_TYPE_BLUETOOTH,
|
||||
&bcm4329_rfk_ops,
|
||||
NULL);
|
||||
|
||||
if (!bt_rfk)
|
||||
{
|
||||
printk("fail to rfkill_allocate************\n");
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
rc = rfkill_register(bt_rfk);
|
||||
if (rc)
|
||||
rfkill_destroy(bt_rfk);
|
||||
|
||||
printk("rc=0x%x\n", rc);
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
||||
|
||||
static int __devexit bcm4329_rfkill_remove(struct platform_device *pdev)
|
||||
{
|
||||
if (bt_rfk)
|
||||
rfkill_unregister(bt_rfk);
|
||||
bt_rfk = NULL;
|
||||
|
||||
platform_set_drvdata(pdev, NULL);
|
||||
DBG("Enter::%s,line=%d\n",__FUNCTION__,__LINE__);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static struct platform_driver bcm4329_rfkill_driver = {
|
||||
.probe = bcm4329_rfkill_probe,
|
||||
.remove = __devexit_p(bcm4329_rfkill_remove),
|
||||
.driver = {
|
||||
.name = "info_rfkill",
|
||||
.owner = THIS_MODULE,
|
||||
},
|
||||
};
|
||||
|
||||
/*
|
||||
* Module initialization
|
||||
*/
|
||||
static int __init bcm4329_mod_init(void)
|
||||
{
|
||||
int ret;
|
||||
DBG("Enter::%s,line=%d\n",__FUNCTION__,__LINE__);
|
||||
ret = platform_driver_register(&bcm4329_rfkill_driver);
|
||||
printk("ret=0x%x\n", ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
static void __exit bcm4329_mod_exit(void)
|
||||
{
|
||||
platform_driver_unregister(&bcm4329_rfkill_driver);
|
||||
}
|
||||
|
||||
module_init(bcm4329_mod_init);
|
||||
module_exit(bcm4329_mod_exit);
|
||||
MODULE_DESCRIPTION("bcm4329 Bluetooth driver");
|
||||
MODULE_AUTHOR("roger_chen cz@rock-chips.com");
|
||||
MODULE_LICENSE("GPL");
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,162 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2010 ROCKCHIP, Inc.
|
||||
* Author: roger_chen <cz@rock-chips.com>
|
||||
*
|
||||
* This program is the bluetooth device bcm4329's driver,
|
||||
*
|
||||
*/
|
||||
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/device.h>
|
||||
#include <linux/rfkill.h>
|
||||
#include <linux/delay.h>
|
||||
#include <linux/i2c.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/slab.h>
|
||||
//#include <asm/gpio.h>
|
||||
//#include <asm/arch/gpio.h>
|
||||
//#include <asm/arch/iomux.h>
|
||||
//#include <asm/arch/gpio.h>
|
||||
#include <linux/interrupt.h>
|
||||
#include <linux/wakelock.h>
|
||||
#include <mach/spi_fpga.h>
|
||||
#include <linux/fs.h>
|
||||
#include <asm/uaccess.h>
|
||||
#include <mach/gpio.h>
|
||||
|
||||
#if 1
|
||||
#define DBG(x...) printk(KERN_INFO x)
|
||||
#else
|
||||
#define DBG(x...)
|
||||
#endif
|
||||
|
||||
#define RAHO_BT_GPIO_POWER_N FPGA_PIO1_06
|
||||
#define RAHO_BT_GPIO_RESET_N FPGA_PIO1_07
|
||||
#define RAHO_BT_GPIO_WAKE_UP_N RK2818_PIN_PC6
|
||||
|
||||
static struct rfkill *bt_rfk;
|
||||
static const char bt_name[] = "bcm4329";
|
||||
extern int raho_bt_power_state;
|
||||
extern int raho_wifi_power_state;
|
||||
#ifdef CONFIG_BT_HCIBCM4325
|
||||
int bcm4325_sleep(int bSleep)
|
||||
{
|
||||
// printk("*************bt enter sleep***************\n");
|
||||
if (bSleep)
|
||||
gpio_set_value(RAHO_BT_GPIO_WAKE_UP_N, GPIO_LOW); //low represent bt device may enter sleep
|
||||
else
|
||||
gpio_set_value(RAHO_BT_GPIO_WAKE_UP_N, GPIO_HIGH); //high represent bt device must be awake
|
||||
}
|
||||
#endif
|
||||
|
||||
static int bcm4329_set_block(void *data, bool blocked)
|
||||
{
|
||||
DBG("%s---blocked :%d\n", __FUNCTION__, blocked);
|
||||
|
||||
if (false == blocked) {
|
||||
gpio_set_value(RAHO_BT_GPIO_POWER_N, GPIO_HIGH); /* bt power on */
|
||||
gpio_set_value(RAHO_BT_GPIO_RESET_N, GPIO_HIGH); /* bt reset deactive*/
|
||||
mdelay(20);
|
||||
pr_info("bt turn on power\n");
|
||||
}
|
||||
else {
|
||||
if (!raho_wifi_power_state) {
|
||||
gpio_set_value(RAHO_BT_GPIO_POWER_N, GPIO_LOW); /* bt power off */
|
||||
mdelay(20);
|
||||
pr_info("bt shut off power\n");
|
||||
}else {
|
||||
pr_info("bt shouldn't shut off power, wifi is using it!\n");
|
||||
}
|
||||
|
||||
gpio_set_value(RAHO_BT_GPIO_RESET_N, GPIO_LOW); /* bt reset active*/
|
||||
mdelay(20);
|
||||
}
|
||||
|
||||
raho_bt_power_state = !blocked;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
static const struct rfkill_ops bcm4329_rfk_ops = {
|
||||
.set_block = bcm4329_set_block,
|
||||
};
|
||||
|
||||
static int __init bcm4329_rfkill_probe(struct platform_device *pdev)
|
||||
{
|
||||
int rc = 0;
|
||||
bool default_state = true;
|
||||
|
||||
DBG("Enter::%s,line=%d\n",__FUNCTION__,__LINE__);
|
||||
|
||||
/* default to bluetooth off */
|
||||
bcm4329_set_block(NULL, default_state); /* blocked -> bt off */
|
||||
|
||||
bt_rfk = rfkill_alloc(bt_name,
|
||||
NULL,
|
||||
RFKILL_TYPE_BLUETOOTH,
|
||||
&bcm4329_rfk_ops,
|
||||
NULL);
|
||||
|
||||
if (!bt_rfk)
|
||||
{
|
||||
printk("fail to rfkill_allocate************\n");
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
rfkill_set_states(bt_rfk, default_state, false);
|
||||
|
||||
rc = rfkill_register(bt_rfk);
|
||||
if (rc)
|
||||
rfkill_destroy(bt_rfk);
|
||||
|
||||
printk("rc=0x%x\n", rc);
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
||||
|
||||
static int __devexit bcm4329_rfkill_remove(struct platform_device *pdev)
|
||||
{
|
||||
if (bt_rfk)
|
||||
rfkill_unregister(bt_rfk);
|
||||
bt_rfk = NULL;
|
||||
|
||||
platform_set_drvdata(pdev, NULL);
|
||||
DBG("Enter::%s,line=%d\n",__FUNCTION__,__LINE__);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static struct platform_driver bcm4329_rfkill_driver = {
|
||||
.probe = bcm4329_rfkill_probe,
|
||||
.remove = __devexit_p(bcm4329_rfkill_remove),
|
||||
.driver = {
|
||||
.name = "raho_rfkill",
|
||||
.owner = THIS_MODULE,
|
||||
},
|
||||
};
|
||||
|
||||
/*
|
||||
* Module initialization
|
||||
*/
|
||||
static int __init bcm4329_mod_init(void)
|
||||
{
|
||||
int ret;
|
||||
DBG("Enter::%s,line=%d\n",__FUNCTION__,__LINE__);
|
||||
ret = platform_driver_register(&bcm4329_rfkill_driver);
|
||||
printk("ret=0x%x\n", ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
static void __exit bcm4329_mod_exit(void)
|
||||
{
|
||||
platform_driver_unregister(&bcm4329_rfkill_driver);
|
||||
}
|
||||
|
||||
module_init(bcm4329_mod_init);
|
||||
module_exit(bcm4329_mod_exit);
|
||||
MODULE_DESCRIPTION("bcm4329 Bluetooth driver");
|
||||
MODULE_AUTHOR("roger_chen cz@rock-chips.com");
|
||||
MODULE_LICENSE("GPL");
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user