diff options
Diffstat (limited to 'drivers/media/rc/gpio-ir-recv.c')
| -rw-r--r-- | drivers/media/rc/gpio-ir-recv.c | 26 | 
1 files changed, 12 insertions, 14 deletions
diff --git a/drivers/media/rc/gpio-ir-recv.c b/drivers/media/rc/gpio-ir-recv.c index 0d875450c5c..04cb272db16 100644 --- a/drivers/media/rc/gpio-ir-recv.c +++ b/drivers/media/rc/gpio-ir-recv.c @@ -82,12 +82,21 @@ static int __devinit gpio_ir_recv_probe(struct platform_device *pdev)  		goto err_allocate_device;  	} +	rcdev->priv = gpio_dev;  	rcdev->driver_type = RC_DRIVER_IR_RAW; -	rcdev->allowed_protos = RC_TYPE_ALL;  	rcdev->input_name = GPIO_IR_DEVICE_NAME; +	rcdev->input_phys = GPIO_IR_DEVICE_NAME "/input0";  	rcdev->input_id.bustype = BUS_HOST; +	rcdev->input_id.vendor = 0x0001; +	rcdev->input_id.product = 0x0001; +	rcdev->input_id.version = 0x0100; +	rcdev->dev.parent = &pdev->dev;  	rcdev->driver_name = GPIO_IR_DRIVER_NAME; -	rcdev->map_name = RC_MAP_EMPTY; +	if (pdata->allowed_protos) +		rcdev->allowed_protos = pdata->allowed_protos; +	else +		rcdev->allowed_protos = RC_TYPE_ALL; +	rcdev->map_name = pdata->map_name ?: RC_MAP_EMPTY;  	gpio_dev->rcdev = rcdev;  	gpio_dev->gpio_nr = pdata->gpio_nr; @@ -188,18 +197,7 @@ static struct platform_driver gpio_ir_recv_driver = {  #endif  	},  }; - -static int __init gpio_ir_recv_init(void) -{ -	return platform_driver_register(&gpio_ir_recv_driver); -} -module_init(gpio_ir_recv_init); - -static void __exit gpio_ir_recv_exit(void) -{ -	platform_driver_unregister(&gpio_ir_recv_driver); -} -module_exit(gpio_ir_recv_exit); +module_platform_driver(gpio_ir_recv_driver);  MODULE_DESCRIPTION("GPIO IR Receiver driver");  MODULE_LICENSE("GPL v2");  |