diff options
author | John Crispin <john@openwrt.org> | 2015-02-11 10:17:55 +0000 |
---|---|---|
committer | John Crispin <john@openwrt.org> | 2015-02-11 10:17:55 +0000 |
commit | 408c9696264f8e25e4e4f6410e93d2edd06e59dd (patch) | |
tree | 1c9e8fbacb1508e8561c43f87389edf02cfb0955 /target/linux/brcm2708/patches-3.18/0111-BCM2708_VCIO-Add-automatic-creation-of-device-node.patch | |
parent | f90d9d486a8842077e68e90bba2b276ac1336bab (diff) | |
download | upstream-408c9696264f8e25e4e4f6410e93d2edd06e59dd.tar.gz upstream-408c9696264f8e25e4e4f6410e93d2edd06e59dd.tar.bz2 upstream-408c9696264f8e25e4e4f6410e93d2edd06e59dd.zip |
brcm2708: update to v3.18
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
SVN-Revision: 44392
Diffstat (limited to 'target/linux/brcm2708/patches-3.18/0111-BCM2708_VCIO-Add-automatic-creation-of-device-node.patch')
-rwxr-xr-x | target/linux/brcm2708/patches-3.18/0111-BCM2708_VCIO-Add-automatic-creation-of-device-node.patch | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/target/linux/brcm2708/patches-3.18/0111-BCM2708_VCIO-Add-automatic-creation-of-device-node.patch b/target/linux/brcm2708/patches-3.18/0111-BCM2708_VCIO-Add-automatic-creation-of-device-node.patch new file mode 100755 index 0000000000..fc4897c05c --- /dev/null +++ b/target/linux/brcm2708/patches-3.18/0111-BCM2708_VCIO-Add-automatic-creation-of-device-node.patch @@ -0,0 +1,87 @@ +From 7fa07e9f8c88a5a628b9ca8a843d3490a59fb9cb Mon Sep 17 00:00:00 2001 +From: android <trevd1234@gmail.com> +Date: Mon, 25 Aug 2014 13:18:21 +0100 +Subject: [PATCH 111/114] BCM2708_VCIO : Add automatic creation of device node + +--- + arch/arm/mach-bcm2708/vcio.c | 12 +++++++++++- + arch/arm/mach-bcm2709/vcio.c | 12 +++++++++++- + 2 files changed, 22 insertions(+), 2 deletions(-) + +diff --git a/arch/arm/mach-bcm2708/vcio.c b/arch/arm/mach-bcm2708/vcio.c +index 5e43e85..700bff4 100644 +--- a/arch/arm/mach-bcm2708/vcio.c ++++ b/arch/arm/mach-bcm2708/vcio.c +@@ -61,7 +61,7 @@ + #define MBOX_DATA28_LSB(msg) (((uint32_t)msg) >> 4) + + #define MBOX_MAGIC 0xd0d0c0de +- ++static struct class *vcio_class = NULL; + struct vc_mailbox { + struct device *dev; /* parent device */ + void __iomem *status; +@@ -421,6 +421,13 @@ static int bcm_vcio_probe(struct platform_device *pdev) + "Failed registering the character device %d\n", ret); + return ret; + } ++ vcio_class = class_create(THIS_MODULE, BCM_VCIO_DRIVER_NAME); ++ if (IS_ERR(vcio_class)) { ++ ret = PTR_ERR(vcio_class); ++ return ret ; ++ } ++ device_create(vcio_class, NULL, MKDEV(MAJOR_NUM, 0), NULL, ++ "vcio"); + } + return ret; + } +@@ -462,6 +469,9 @@ static int __init bcm_mbox_init(void) + + static void __exit bcm_mbox_exit(void) + { ++ device_destroy(vcio_class,MKDEV(MAJOR_NUM, 0)); ++ class_destroy(vcio_class); ++ unregister_chrdev(MAJOR_NUM, DEVICE_FILE_NAME); + platform_driver_unregister(&bcm_mbox_driver); + } + +diff --git a/arch/arm/mach-bcm2709/vcio.c b/arch/arm/mach-bcm2709/vcio.c +index 5e43e85..700bff4 100644 +--- a/arch/arm/mach-bcm2709/vcio.c ++++ b/arch/arm/mach-bcm2709/vcio.c +@@ -61,7 +61,7 @@ + #define MBOX_DATA28_LSB(msg) (((uint32_t)msg) >> 4) + + #define MBOX_MAGIC 0xd0d0c0de +- ++static struct class *vcio_class = NULL; + struct vc_mailbox { + struct device *dev; /* parent device */ + void __iomem *status; +@@ -421,6 +421,13 @@ static int bcm_vcio_probe(struct platform_device *pdev) + "Failed registering the character device %d\n", ret); + return ret; + } ++ vcio_class = class_create(THIS_MODULE, BCM_VCIO_DRIVER_NAME); ++ if (IS_ERR(vcio_class)) { ++ ret = PTR_ERR(vcio_class); ++ return ret ; ++ } ++ device_create(vcio_class, NULL, MKDEV(MAJOR_NUM, 0), NULL, ++ "vcio"); + } + return ret; + } +@@ -462,6 +469,9 @@ static int __init bcm_mbox_init(void) + + static void __exit bcm_mbox_exit(void) + { ++ device_destroy(vcio_class,MKDEV(MAJOR_NUM, 0)); ++ class_destroy(vcio_class); ++ unregister_chrdev(MAJOR_NUM, DEVICE_FILE_NAME); + platform_driver_unregister(&bcm_mbox_driver); + } + +-- +1.8.3.2 + |