diff options
Diffstat (limited to 'drivers/misc/arm-charlcd.c')
| -rw-r--r-- | drivers/misc/arm-charlcd.c | 9 | 
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/misc/arm-charlcd.c b/drivers/misc/arm-charlcd.c index 1256a4bf1c0..c72e96b523e 100644 --- a/drivers/misc/arm-charlcd.c +++ b/drivers/misc/arm-charlcd.c @@ -11,6 +11,7 @@  #include <linux/module.h>  #include <linux/interrupt.h>  #include <linux/platform_device.h> +#include <linux/of.h>  #include <linux/completion.h>  #include <linux/delay.h>  #include <linux/io.h> @@ -297,7 +298,7 @@ static int __init charlcd_probe(struct platform_device *pdev)  	lcd->irq = platform_get_irq(pdev, 0);  	/* If no IRQ is supplied, we'll survive without it */  	if (lcd->irq >= 0) { -		if (request_irq(lcd->irq, charlcd_interrupt, IRQF_DISABLED, +		if (request_irq(lcd->irq, charlcd_interrupt, 0,  				DRIVERNAME, lcd)) {  			ret = -EIO;  			goto out_no_irq; @@ -366,11 +367,17 @@ static const struct dev_pm_ops charlcd_pm_ops = {  	.resume = charlcd_resume,  }; +static const struct of_device_id charlcd_match[] = { +	{ .compatible = "arm,versatile-lcd", }, +	{} +}; +  static struct platform_driver charlcd_driver = {  	.driver = {  		.name = DRIVERNAME,  		.owner = THIS_MODULE,  		.pm = &charlcd_pm_ops, +		.of_match_table = of_match_ptr(charlcd_match),  	},  	.remove = __exit_p(charlcd_remove),  };  | 
