lkml.org 
[lkml]   [2020]   [Oct]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Subject[PATCH] z2ram: MODULE_LICENSE update and neatening
    From
    Date
    Additional style neatenings.

    Miscellanea:

    o Make MODULE_LICENSE match the actual license text
    o Comment neatening
    o alloc failure message removals as there is already a dump_stack()
    o Add pr_fmt() and convert printks to pr_<level>
    o Unindent code blocks by using continue
    o Return early z2open when current_device != 1 and unindent code block
    o Add and remove braces where appropriate

    Signed-off-by: Joe Perches <joe@perches.com>
    ---

    Uncompiled/untested.

    On top of Christoph's changes.
    This file still does not have an SPDX line. What should it be?
    Is this still used by anyone?

    drivers/block/z2ram.c | 304 ++++++++++++++++++++++----------------------------
    1 file changed, 132 insertions(+), 172 deletions(-)

    diff --git a/drivers/block/z2ram.c b/drivers/block/z2ram.c
    index c1d20818e649..4e6c5564f1e8 100644
    --- a/drivers/block/z2ram.c
    +++ b/drivers/block/z2ram.c
    @@ -1,30 +1,31 @@
    /*
    -** z2ram - Amiga pseudo-driver to access 16bit-RAM in ZorroII space
    -** as a block device, to be used as a RAM disk or swap space
    -**
    -** Copyright (C) 1994 by Ingo Wilken (Ingo.Wilken@informatik.uni-oldenburg.de)
    -**
    -** ++Geert: support for zorro_unused_z2ram, better range checking
    -** ++roman: translate accesses via an array
    -** ++Milan: support for ChipRAM usage
    -** ++yambo: converted to 2.0 kernel
    -** ++yambo: modularized and support added for 3 minor devices including:
    -** MAJOR MINOR DESCRIPTION
    -** ----- ----- ----------------------------------------------
    -** 37 0 Use Zorro II and Chip ram
    -** 37 1 Use only Zorro II ram
    -** 37 2 Use only Chip ram
    -** 37 4-7 Use memory list entry 1-4 (first is 0)
    -** ++jskov: support for 1-4th memory list entry.
    -**
    -** Permission to use, copy, modify, and distribute this software and its
    -** documentation for any purpose and without fee is hereby granted, provided
    -** that the above copyright notice appear in all copies and that both that
    -** copyright notice and this permission notice appear in supporting
    -** documentation. This software is provided "as is" without express or
    -** implied warranty.
    -*/
    -
    + * z2ram - Amiga pseudo-driver to access 16bit-RAM in ZorroII space
    + * as a block device, to be used as a RAM disk or swap space
    + *
    + * Copyright (C) 1994 by Ingo Wilken (Ingo.Wilken@informatik.uni-oldenburg.de)
    + *
    + * ++Geert: support for zorro_unused_z2ram, better range checking
    + * ++roman: translate accesses via an array
    + * ++Milan: support for ChipRAM usage
    + * ++yambo: converted to 2.0 kernel
    + * ++yambo: modularized and support added for 3 minor devices including:
    + * MAJOR MINOR DESCRIPTION
    + * ----- ----- ----------------------------------------------
    + * 37 0 Use Zorro II and Chip ram
    + * 37 1 Use only Zorro II ram
    + * 37 2 Use only Chip ram
    + * 37 4-7 Use memory list entry 1-4 (first is 0)
    + * ++jskov: support for 1-4th memory list entry.
    + *
    + * Permission to use, copy, modify, and distribute this software and its
    + * documentation for any purpose and without fee is hereby granted, provided
    + * that the above copyright notice appear in all copies and that both that
    + * copyright notice and this permission notice appear in supporting
    + * documentation. This software is provided "as is" without express or
    + * implied warranty.
    + */
    +
    +#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
    #define DEVICE_NAME "Z2RAM"

    #include <linux/major.h>
    @@ -51,7 +52,7 @@
    #define Z2MINOR_MEMLIST4 (7)
    #define Z2MINOR_COUNT (8) /* Move this down when adding a new minor */

    -#define Z2RAM_CHUNK1024 ( Z2RAM_CHUNKSIZE >> 10 )
    +#define Z2RAM_CHUNK1024 (Z2RAM_CHUNKSIZE >> 10)

    static DEFINE_MUTEX(z2ram_mutex);
    static u_long *z2ram_map = NULL;
    @@ -75,8 +76,7 @@ static blk_status_t z2_queue_rq(struct blk_mq_hw_ctx *hctx,
    blk_mq_start_request(req);

    if (start + len > z2ram_size) {
    - pr_err(DEVICE_NAME ": bad access: block=%llu, "
    - "count=%u\n",
    + pr_err("bad access: block=%llu, count=%u\n",
    (unsigned long long)blk_rq_pos(req),
    blk_rq_cur_sectors(req));
    return BLK_STS_IOERR;
    @@ -93,9 +93,9 @@ static blk_status_t z2_queue_rq(struct blk_mq_hw_ctx *hctx,
    size = len;
    addr += z2ram_map[start >> Z2RAM_CHUNKSHIFT];
    if (rq_data_dir(req) == READ)
    - memcpy(buffer, (char *)addr, size);
    + memcpy(buffer, (void *)addr, size);
    else
    - memcpy((char *)addr, buffer, size);
    + memcpy((void *)addr, buffer, size);
    start += size;
    len -= size;
    }
    @@ -107,37 +107,29 @@ static blk_status_t z2_queue_rq(struct blk_mq_hw_ctx *hctx,

    static void get_z2ram(void)
    {
    + unsigned long vaddr = (unsigned long)ZTWO_VADDR(Z2RAM_START);
    int i;

    for (i = 0; i < Z2RAM_SIZE / Z2RAM_CHUNKSIZE; i++) {
    - if (test_bit(i, zorro_unused_z2ram)) {
    - z2_count++;
    - z2ram_map[z2ram_size++] =
    - (unsigned long)ZTWO_VADDR(Z2RAM_START) +
    - (i << Z2RAM_CHUNKSHIFT);
    - clear_bit(i, zorro_unused_z2ram);
    - }
    + if (!test_and_clear_bit(i, zorro_unused_z2ram))
    + continue;
    + z2_count++;
    + z2ram_map[z2ram_size++] = vaddr + (i << Z2RAM_CHUNKSHIFT);
    }
    -
    - return;
    }

    static void get_chipram(void)
    {
    -
    while (amiga_chip_avail() > (Z2RAM_CHUNKSIZE * 4)) {
    chip_count++;
    z2ram_map[z2ram_size] =
    - (u_long) amiga_chip_alloc(Z2RAM_CHUNKSIZE, "z2ram");
    + (u_long)amiga_chip_alloc(Z2RAM_CHUNKSIZE, "z2ram");

    - if (z2ram_map[z2ram_size] == 0) {
    + if (z2ram_map[z2ram_size] == 0)
    break;
    - }

    z2ram_size++;
    }
    -
    - return;
    }

    static int z2_open(struct block_device *bdev, fmode_t mode)
    @@ -146,146 +138,120 @@ static int z2_open(struct block_device *bdev, fmode_t mode)
    int max_z2_map = (Z2RAM_SIZE / Z2RAM_CHUNKSIZE) * sizeof(z2ram_map[0]);
    int max_chip_map = (amiga_chip_size / Z2RAM_CHUNKSIZE) *
    sizeof(z2ram_map[0]);
    - int rc = -ENOMEM;
    + int ret = -ENOMEM;

    device = MINOR(bdev->bd_dev);

    mutex_lock(&z2ram_mutex);
    - if (current_device != -1 && current_device != device) {
    - rc = -EBUSY;
    - goto err_out;
    + if (current_device != -1) {
    + ret = (current_device != device) ? -EBUSY : 0;
    + mutex_unlock(&z2ram_mutex);
    + return ret;
    }

    - if (current_device == -1) {
    - z2_count = 0;
    - chip_count = 0;
    - list_count = 0;
    - z2ram_size = 0;
    -
    - /* Use a specific list entry. */
    - if (device >= Z2MINOR_MEMLIST1 && device <= Z2MINOR_MEMLIST4) {
    - int index = device - Z2MINOR_MEMLIST1 + 1;
    - unsigned long size, paddr, vaddr;
    -
    - if (index >= m68k_realnum_memory) {
    - printk(KERN_ERR DEVICE_NAME
    - ": no such entry in z2ram_map\n");
    - goto err_out;
    - }
    + z2_count = 0;
    + chip_count = 0;
    + list_count = 0;
    + z2ram_size = 0;

    - paddr = m68k_memory[index].addr;
    - size = m68k_memory[index].size & ~(Z2RAM_CHUNKSIZE - 1);
    + /* Use a specific list entry. */
    + if (device >= Z2MINOR_MEMLIST1 && device <= Z2MINOR_MEMLIST4) {
    + int index = device - Z2MINOR_MEMLIST1 + 1;
    + unsigned long size, paddr, vaddr;
    +
    + if (index >= m68k_realnum_memory) {
    + pr_err("no such entry in z2ram_map\n");
    + goto err_out;
    + }
    +
    + paddr = m68k_memory[index].addr;
    + size = m68k_memory[index].size & ~(Z2RAM_CHUNKSIZE - 1);

    #ifdef __powerpc__
    - /* FIXME: ioremap doesn't build correct memory tables. */
    - {
    - vfree(vmalloc(size));
    - }
    + /* FIXME: ioremap doesn't build correct memory tables. */
    + {
    + vfree(vmalloc(size));
    + }

    - vaddr = (unsigned long)ioremap_wt(paddr, size);
    + vaddr = (unsigned long)ioremap_wt(paddr, size);

    #else
    - vaddr =
    - (unsigned long)z_remap_nocache_nonser(paddr, size);
    + vaddr = (unsigned long)z_remap_nocache_nonser(paddr, size);
    #endif
    - z2ram_map =
    - kmalloc_array(size / Z2RAM_CHUNKSIZE,
    + z2ram_map = kmalloc_array(size / Z2RAM_CHUNKSIZE,
    sizeof(z2ram_map[0]), GFP_KERNEL);
    - if (z2ram_map == NULL) {
    - printk(KERN_ERR DEVICE_NAME
    - ": cannot get mem for z2ram_map\n");
    + if (!z2ram_map)
    + goto err_out;
    +
    + while (size) {
    + z2ram_map[z2ram_size++] = vaddr;
    + size -= Z2RAM_CHUNKSIZE;
    + vaddr += Z2RAM_CHUNKSIZE;
    + list_count++;
    + }
    +
    + if (z2ram_size != 0)
    + pr_info("using %iK List Entry %d Memory\n",
    + list_count * Z2RAM_CHUNK1024, index);
    + } else {
    + switch (device) {
    + case Z2MINOR_COMBINED:
    +
    + z2ram_map = kmalloc(max_z2_map + max_chip_map,
    + GFP_KERNEL);
    + if (!z2ram_map)
    goto err_out;
    - }

    - while (size) {
    - z2ram_map[z2ram_size++] = vaddr;
    - size -= Z2RAM_CHUNKSIZE;
    - vaddr += Z2RAM_CHUNKSIZE;
    - list_count++;
    - }
    + get_z2ram();
    + get_chipram();

    if (z2ram_size != 0)
    - printk(KERN_INFO DEVICE_NAME
    - ": using %iK List Entry %d Memory\n",
    - list_count * Z2RAM_CHUNK1024, index);
    - } else
    - switch (device) {
    - case Z2MINOR_COMBINED:
    -
    - z2ram_map =
    - kmalloc(max_z2_map + max_chip_map,
    - GFP_KERNEL);
    - if (z2ram_map == NULL) {
    - printk(KERN_ERR DEVICE_NAME
    - ": cannot get mem for z2ram_map\n");
    - goto err_out;
    - }
    -
    - get_z2ram();
    - get_chipram();
    -
    - if (z2ram_size != 0)
    - printk(KERN_INFO DEVICE_NAME
    - ": using %iK Zorro II RAM and %iK Chip RAM (Total %dK)\n",
    - z2_count * Z2RAM_CHUNK1024,
    - chip_count * Z2RAM_CHUNK1024,
    - (z2_count +
    - chip_count) * Z2RAM_CHUNK1024);
    -
    - break;
    -
    - case Z2MINOR_Z2ONLY:
    - z2ram_map = kmalloc(max_z2_map, GFP_KERNEL);
    - if (z2ram_map == NULL) {
    - printk(KERN_ERR DEVICE_NAME
    - ": cannot get mem for z2ram_map\n");
    - goto err_out;
    - }
    -
    - get_z2ram();
    -
    - if (z2ram_size != 0)
    - printk(KERN_INFO DEVICE_NAME
    - ": using %iK of Zorro II RAM\n",
    - z2_count * Z2RAM_CHUNK1024);
    -
    - break;
    -
    - case Z2MINOR_CHIPONLY:
    - z2ram_map = kmalloc(max_chip_map, GFP_KERNEL);
    - if (z2ram_map == NULL) {
    - printk(KERN_ERR DEVICE_NAME
    - ": cannot get mem for z2ram_map\n");
    - goto err_out;
    - }
    -
    - get_chipram();
    -
    - if (z2ram_size != 0)
    - printk(KERN_INFO DEVICE_NAME
    - ": using %iK Chip RAM\n",
    - chip_count * Z2RAM_CHUNK1024);
    -
    - break;
    -
    - default:
    - rc = -ENODEV;
    + pr_info("using %iK Zorro II RAM and %iK Chip RAM (Total %dK)\n",
    + z2_count * Z2RAM_CHUNK1024,
    + chip_count * Z2RAM_CHUNK1024,
    + (z2_count + chip_count) * Z2RAM_CHUNK1024);
    +
    + break;
    +
    + case Z2MINOR_Z2ONLY:
    + z2ram_map = kmalloc(max_z2_map, GFP_KERNEL);
    + if (!z2ram_map)
    + goto err_out;
    +
    + get_z2ram();
    +
    + if (z2ram_size != 0)
    + pr_info("using %iK of Zorro II RAM\n",
    + z2_count * Z2RAM_CHUNK1024);
    + break;
    +
    + case Z2MINOR_CHIPONLY:
    + z2ram_map = kmalloc(max_chip_map, GFP_KERNEL);
    + if (!z2ram_map)
    goto err_out;

    - break;
    - }
    + get_chipram();

    - if (z2ram_size == 0) {
    - printk(KERN_NOTICE DEVICE_NAME
    - ": no unused ZII/Chip RAM found\n");
    - goto err_out_kfree;
    + if (z2ram_size != 0)
    + pr_info("using %iK Chip RAM\n",
    + chip_count * Z2RAM_CHUNK1024);
    + break;
    +
    + default:
    + ret = -ENODEV;
    + goto err_out;
    }
    + }

    - current_device = device;
    - z2ram_size <<= Z2RAM_CHUNKSHIFT;
    - set_capacity(z2ram_gendisk[device], z2ram_size >> 9);
    + if (z2ram_size == 0) {
    + pr_notice("no unused ZII/Chip RAM found\n");
    + goto err_out_kfree;
    }

    + current_device = device;
    + z2ram_size <<= Z2RAM_CHUNKSHIFT;
    + set_capacity(z2ram_gendisk[device], z2ram_size >> 9);
    +
    mutex_unlock(&z2ram_mutex);
    return 0;

    @@ -293,7 +259,7 @@ static int z2_open(struct block_device *bdev, fmode_t mode)
    kfree(z2ram_map);
    err_out:
    mutex_unlock(&z2ram_mutex);
    - return rc;
    + return ret;
    }

    static void z2_release(struct gendisk *disk, fmode_t mode)
    @@ -401,24 +367,18 @@ static void __exit z2_exit(void)
    if (current_device != -1) {
    i = 0;

    - for (j = 0; j < z2_count; j++) {
    + for (j = 0; j < z2_count; j++)
    set_bit(i++, zorro_unused_z2ram);
    - }

    for (j = 0; j < chip_count; j++) {
    - if (z2ram_map[i]) {
    + if (z2ram_map[i])
    amiga_chip_free((void *)z2ram_map[i++]);
    - }
    }

    - if (z2ram_map != NULL) {
    - kfree(z2ram_map);
    - }
    + kfree(z2ram_map);
    }
    -
    - return;
    }

    module_init(z2_init);
    module_exit(z2_exit);
    -MODULE_LICENSE("GPL");
    +MODULE_LICENSE("GPL and additional rights");
    \
     
     \ /
      Last update: 2020-10-30 01:12    [W:4.554 / U:0.160 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site