mirror of
https://github.com/raspberrypi/linux.git
synced 2025-12-06 01:49:46 +00:00
BCM2708_VCIO : Add automatic creation of device node
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user