mirror of https://github.com/hak5/openwrt.git
parent
2e8af76a60
commit
832ba73685
|
@ -15,10 +15,13 @@
|
|||
*
|
||||
*/
|
||||
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/init.h>
|
||||
|
||||
#include <linux/input.h>
|
||||
#include <linux/input-polldev.h>
|
||||
#include <linux/ioport.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/platform_device.h>
|
||||
|
||||
#include <linux/gpio_buttons.h>
|
||||
|
@ -26,7 +29,7 @@
|
|||
#include <asm/gpio.h>
|
||||
|
||||
#define DRV_NAME "gpio-buttons"
|
||||
#define DRV_VERSION "0.1.0"
|
||||
#define DRV_VERSION "0.1.1"
|
||||
#define PFX DRV_NAME ": "
|
||||
|
||||
struct gpio_buttons_dev {
|
||||
|
@ -80,13 +83,13 @@ static int __devinit gpio_buttons_probe(struct platform_device *pdev)
|
|||
|
||||
bdev = kzalloc(sizeof(*bdev), GFP_KERNEL);
|
||||
if (!bdev) {
|
||||
pr_err(DRV_NAME "no memory for device\n");
|
||||
printk(KERN_ERR DRV_NAME "no memory for device\n");
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
poll_dev = input_allocate_polled_device();
|
||||
if (!poll_dev) {
|
||||
pr_err(DRV_NAME "no memory for polled device\n");
|
||||
printk(KERN_ERR DRV_NAME "no memory for polled device\n");
|
||||
error = -ENOMEM;
|
||||
goto err_free_bdev;
|
||||
}
|
||||
|
@ -97,7 +100,7 @@ static int __devinit gpio_buttons_probe(struct platform_device *pdev)
|
|||
|
||||
input = poll_dev->input;
|
||||
|
||||
input->evbit[0] = BIT_MASK(EV_KEY);
|
||||
input->evbit[0] = BIT(EV_KEY);
|
||||
input->name = pdev->name;
|
||||
input->phys = "gpio-buttons/input0";
|
||||
input->dev.parent = &pdev->dev;
|
||||
|
@ -115,15 +118,15 @@ static int __devinit gpio_buttons_probe(struct platform_device *pdev)
|
|||
error = gpio_request(gpio, button->desc ?
|
||||
button->desc : DRV_NAME);
|
||||
if (error) {
|
||||
pr_err(PFX "unable to claim gpio %u, error %d\n",
|
||||
gpio, error);
|
||||
printk(KERN_ERR PFX "unable to claim gpio %u, "
|
||||
"error %d\n", gpio, error);
|
||||
goto err_free_gpio;
|
||||
}
|
||||
|
||||
error = gpio_direction_input(gpio);
|
||||
if (error) {
|
||||
pr_err(PFX "unable to set direction on gpio %u, "
|
||||
"error %d\n", gpio, error);
|
||||
printk(KERN_ERR PFX "unable to set direction on "
|
||||
"gpio %u, error %d\n", gpio, error);
|
||||
goto err_free_gpio;
|
||||
}
|
||||
|
||||
|
@ -137,8 +140,8 @@ static int __devinit gpio_buttons_probe(struct platform_device *pdev)
|
|||
|
||||
error = input_register_polled_device(poll_dev);
|
||||
if (error) {
|
||||
pr_err(PFX "unable to register polled device, error %d\n",
|
||||
error);
|
||||
printk(KERN_ERR PFX "unable to register polled device, "
|
||||
"error %d\n", error);
|
||||
goto err_free_gpio;
|
||||
}
|
||||
|
||||
|
@ -152,7 +155,7 @@ err_free_gpio:
|
|||
|
||||
err_free_bdev:
|
||||
kfree(bdev);
|
||||
err:
|
||||
|
||||
platform_set_drvdata(pdev, NULL);
|
||||
return error;
|
||||
}
|
||||
|
@ -187,7 +190,7 @@ static struct platform_driver gpio_buttons_driver = {
|
|||
|
||||
static int __init gpio_buttons_init(void)
|
||||
{
|
||||
pr_info(DRV_NAME " driver version " DRV_VERSION "\n");
|
||||
printk(KERN_INFO DRV_NAME " driver version " DRV_VERSION "\n");
|
||||
return platform_driver_register(&gpio_buttons_driver);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue