From c291f76d24a4190551a42b7b77a2cfeb3f4d36f9 Mon Sep 17 00:00:00 2001 From: John Crispin Date: Wed, 11 Feb 2015 10:17:55 +0000 Subject: brcm2708: update to v3.18 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Álvaro Fernández Rojas git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44392 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- ...CIO-Add-automatic-creation-of-device-node.patch | 87 ++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100755 target/linux/brcm2708/patches-3.18/0111-BCM2708_VCIO-Add-automatic-creation-of-device-node.patch (limited to 'target/linux/brcm2708/patches-3.18/0111-BCM2708_VCIO-Add-automatic-creation-of-device-node.patch') 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 +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 + -- cgit v1.2.3