dsp56k: make dsp56k_class a static const structure
Now that the driver core allows for struct class to be in read-only memory, move the dsp56k_class structure to be declared at build time placing it into read-only memory, instead of having to be dynamically allocated at boot time. Cc: Arnd Bergmann <arnd@arndb.de> Suggested-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Ivan Orlov <ivan.orlov0322@gmail.com> Link: https://lore.kernel.org/r/20230620143751.578239-11-gregkh@linuxfoundation.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
e55ce9fd3d
commit
bd31ef8836
@ -101,7 +101,9 @@ static struct dsp56k_device {
|
||||
int tx_wsize, rx_wsize;
|
||||
} dsp56k;
|
||||
|
||||
static struct class *dsp56k_class;
|
||||
static const struct class dsp56k_class = {
|
||||
.name = "dsp56k",
|
||||
};
|
||||
|
||||
static int dsp56k_reset(void)
|
||||
{
|
||||
@ -493,7 +495,7 @@ static const char banner[] __initconst = KERN_INFO "DSP56k driver installed\n";
|
||||
|
||||
static int __init dsp56k_init_driver(void)
|
||||
{
|
||||
int err = 0;
|
||||
int err;
|
||||
|
||||
if(!MACH_IS_ATARI || !ATARIHW_PRESENT(DSP56K)) {
|
||||
printk("DSP56k driver: Hardware not present\n");
|
||||
@ -504,12 +506,10 @@ static int __init dsp56k_init_driver(void)
|
||||
printk("DSP56k driver: Unable to register driver\n");
|
||||
return -ENODEV;
|
||||
}
|
||||
dsp56k_class = class_create("dsp56k");
|
||||
if (IS_ERR(dsp56k_class)) {
|
||||
err = PTR_ERR(dsp56k_class);
|
||||
err = class_register(&dsp56k_class);
|
||||
if (err)
|
||||
goto out_chrdev;
|
||||
}
|
||||
device_create(dsp56k_class, NULL, MKDEV(DSP56K_MAJOR, 0), NULL,
|
||||
device_create(&dsp56k_class, NULL, MKDEV(DSP56K_MAJOR, 0), NULL,
|
||||
"dsp56k");
|
||||
|
||||
printk(banner);
|
||||
@ -524,8 +524,8 @@ module_init(dsp56k_init_driver);
|
||||
|
||||
static void __exit dsp56k_cleanup_driver(void)
|
||||
{
|
||||
device_destroy(dsp56k_class, MKDEV(DSP56K_MAJOR, 0));
|
||||
class_destroy(dsp56k_class);
|
||||
device_destroy(&dsp56k_class, MKDEV(DSP56K_MAJOR, 0));
|
||||
class_unregister(&dsp56k_class);
|
||||
unregister_chrdev(DSP56K_MAJOR, "dsp56k");
|
||||
}
|
||||
module_exit(dsp56k_cleanup_driver);
|
||||
|
Loading…
x
Reference in New Issue
Block a user