diff --git a/drivers/testcode/Kconfig b/drivers/testcode/Kconfig deleted file mode 100644 index c5aa4c1a0674..000000000000 --- a/drivers/testcode/Kconfig +++ /dev/null @@ -1,17 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0 -# -# Input misc drivers configuration -# -menuconfig TEST_CODE - bool "some test code for kernel" - help - Say Y here, and a list of test code will be displayed. - - If unsure, say N. - -if TEST_CODE - -config USE_GPIO_GENERATE_WAVE - tristate "use gpio to generate square wave" - -endif diff --git a/drivers/testcode/Makefile b/drivers/testcode/Makefile deleted file mode 100644 index deda19e16fab..000000000000 --- a/drivers/testcode/Makefile +++ /dev/null @@ -1,8 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0 -# -# Makefile for the test code drivers. -# - -# Each configuration option enables a list of files. - -obj-$(CONFIG_USE_GPIO_GENERATE_WAVE) += gpio_wave.o diff --git a/drivers/testcode/gpio_wave.c b/drivers/testcode/gpio_wave.c deleted file mode 100644 index 3b958ddf53ce..000000000000 --- a/drivers/testcode/gpio_wave.c +++ /dev/null @@ -1,109 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0 */ -#include -#include -#include -#include -#include - -#include "gpio_wave.h" - -struct wave_data { - struct delayed_work d_work; - int Htime; - int Ltime; - unsigned int gpio; - int cur_value; - int last_value; - struct device *dev; -}; - -static struct wake_lock w_lock; - -static void gpio_wave_dwork_handle(struct work_struct *work) -{ - struct wave_data *data = (struct wave_data *)container_of(work, struct wave_data, d_work.work); - - int delay_time = data->cur_value ? data->Ltime : data->Htime; - data->cur_value = !data->cur_value; - gpio_set_value(data->gpio, data->cur_value); - schedule_delayed_work(&(data->d_work), msecs_to_jiffies(delay_time)); -} - - -static int gpio_wave_probe(struct platform_device *pdev) -{ - int ret; - struct wave_data *data; - struct gpio_wave_platform_data *pdata = pdev->dev.platform_data; - - data = kmalloc(sizeof(struct wave_data), GFP_KERNEL); - if (!data) { - printk("func %s, line %d, malloc fail\n", __func__, __LINE__); - return -ENOMEM; - } - - data->dev = &pdev->dev; - platform_set_drvdata(pdev, data); - - if (pdata) { - int dtime = pdata->Dvalue ? pdata->Htime : pdata->Ltime; - data->gpio = pdata->gpio; - data->cur_value = pdata->Dvalue; - data->last_value = pdata->Dvalue; - data->Htime = pdata->Htime; - data->Ltime = pdata->Ltime; - - ret = gpio_request(data->gpio, NULL); - if (ret) { - printk("func %s, line %d, gpio request err\n", __func__, __LINE__); - return ret; - } - gpio_direction_output(data->gpio, data->cur_value); - gpio_set_value(data->gpio, data->cur_value); - wake_lock_init(&w_lock, WAKE_LOCK_SUSPEND, "gpio_wave"); - INIT_DELAYED_WORK(&(data->d_work), gpio_wave_dwork_handle); - wake_lock(&w_lock); - schedule_delayed_work(&(data->d_work), msecs_to_jiffies(dtime)); - } - else { - kfree(data); - } - - return 0; -} - -static int gpio_wave_remove(struct platform_device *pdev) -{ - struct wave_data *data = platform_get_drvdata(pdev); - gpio_free(data->gpio); - kfree(data); - return 0; -} - -static struct platform_driver gpio_wave_driver = { - .probe = gpio_wave_probe, - .remove = gpio_wave_remove, - .driver = { - .owner = THIS_MODULE, - .name = "gpio_wave", - }, -}; - -static int __init gpio_wave_init(void) -{ - return platform_driver_register(&gpio_wave_driver); -} - -static void __exit gpio_wave_exit(void) -{ - platform_driver_unregister(&gpio_wave_driver); -} - - -module_init(gpio_wave_init); -module_exit(gpio_wave_exit); - -MODULE_DESCRIPTION("Driver for gpio wave"); -MODULE_AUTHOR("lyx, lyx@rock-chips.com"); -MODULE_LICENSE("GPL"); - diff --git a/drivers/testcode/gpio_wave.h b/drivers/testcode/gpio_wave.h deleted file mode 100644 index 6ef181b383f9..000000000000 --- a/drivers/testcode/gpio_wave.h +++ /dev/null @@ -1,12 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0 */ -#ifndef __GPIO_PWM_H__ -#define __GPIO_PWM_H__ - -struct gpio_wave_platform_data { - unsigned int gpio; //the pin use to exert spuare wave - int Htime; //spuare wave Hight width - int Ltime; //spuare wave Low width - int Dvalue; //gpio default value -}; - -#endif