mirror of
https://github.com/torvalds/linux.git
synced 2024-11-26 14:12:06 +00:00
sh: sq: Use the bitmap API when applicable
Using the bitmap API is less verbose than hand writing it. It also improves the semantic. Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> Reviewed-by: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de> Link: https://lore.kernel.org/r/a51e9f32c19a007f4922943282cb12c89064440d.1681671848.git.christophe.jaillet@wanadoo.fr Signed-off-by: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
This commit is contained in:
parent
80f746e2bd
commit
2d60eca501
@ -372,7 +372,6 @@ static struct subsys_interface sq_interface = {
|
|||||||
static int __init sq_api_init(void)
|
static int __init sq_api_init(void)
|
||||||
{
|
{
|
||||||
unsigned int nr_pages = 0x04000000 >> PAGE_SHIFT;
|
unsigned int nr_pages = 0x04000000 >> PAGE_SHIFT;
|
||||||
unsigned int size = (nr_pages + (BITS_PER_LONG - 1)) / BITS_PER_LONG;
|
|
||||||
int ret = -ENOMEM;
|
int ret = -ENOMEM;
|
||||||
|
|
||||||
printk(KERN_NOTICE "sq: Registering store queue API.\n");
|
printk(KERN_NOTICE "sq: Registering store queue API.\n");
|
||||||
@ -382,7 +381,7 @@ static int __init sq_api_init(void)
|
|||||||
if (unlikely(!sq_cache))
|
if (unlikely(!sq_cache))
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
sq_bitmap = kcalloc(size, sizeof(long), GFP_KERNEL);
|
sq_bitmap = bitmap_zalloc(nr_pages, GFP_KERNEL);
|
||||||
if (unlikely(!sq_bitmap))
|
if (unlikely(!sq_bitmap))
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
@ -393,7 +392,7 @@ static int __init sq_api_init(void)
|
|||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
out:
|
out:
|
||||||
kfree(sq_bitmap);
|
bitmap_free(sq_bitmap);
|
||||||
kmem_cache_destroy(sq_cache);
|
kmem_cache_destroy(sq_cache);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
@ -402,7 +401,7 @@ out:
|
|||||||
static void __exit sq_api_exit(void)
|
static void __exit sq_api_exit(void)
|
||||||
{
|
{
|
||||||
subsys_interface_unregister(&sq_interface);
|
subsys_interface_unregister(&sq_interface);
|
||||||
kfree(sq_bitmap);
|
bitmap_free(sq_bitmap);
|
||||||
kmem_cache_destroy(sq_cache);
|
kmem_cache_destroy(sq_cache);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user