drivers: remove struct module * setting from struct class
[linux-2.6-microblaze.git] / drivers / block / zram / zram_drv.c
index bd8ae48..b7bb52f 100644 (file)
@@ -190,7 +190,7 @@ static inline bool valid_io_request(struct zram *zram,
 
        end = start + (size >> SECTOR_SHIFT);
        bound = zram->disksize >> SECTOR_SHIFT;
-       /* out of range range */
+       /* out of range */
        if (unlikely(start >= bound || end > bound || start > end))
                return false;
 
@@ -1138,7 +1138,7 @@ static ssize_t recomp_algorithm_store(struct device *dev,
        while (*args) {
                args = next_arg(args, &param, &val);
 
-               if (!*val)
+               if (!val || !*val)
                        return -EINVAL;
 
                if (!strcmp(param, "algo")) {
@@ -1448,10 +1448,6 @@ static int __zram_bvec_read(struct zram *zram, struct page *page, u32 index,
                /* Slot should be unlocked before the function call */
                zram_slot_unlock(zram, index);
 
-               /* A null bio means rw_page was used, we must fallback to bio */
-               if (!bio)
-                       return -EOPNOTSUPP;
-
                ret = zram_bvec_read_from_bdev(zram, page, index, bio,
                                               partial_io);
        }
@@ -1817,7 +1813,7 @@ static ssize_t recompress_store(struct device *dev,
        while (*args) {
                args = next_arg(args, &param, &val);
 
-               if (!*val)
+               if (!val || !*val)
                        return -EINVAL;
 
                if (!strcmp(param, "type")) {
@@ -2074,61 +2070,6 @@ static void zram_slot_free_notify(struct block_device *bdev,
        zram_slot_unlock(zram, index);
 }
 
-static int zram_rw_page(struct block_device *bdev, sector_t sector,
-                      struct page *page, enum req_op op)
-{
-       int offset, ret;
-       u32 index;
-       struct zram *zram;
-       struct bio_vec bv;
-       unsigned long start_time;
-
-       if (PageTransHuge(page))
-               return -ENOTSUPP;
-       zram = bdev->bd_disk->private_data;
-
-       if (!valid_io_request(zram, sector, PAGE_SIZE)) {
-               atomic64_inc(&zram->stats.invalid_io);
-               ret = -EINVAL;
-               goto out;
-       }
-
-       index = sector >> SECTORS_PER_PAGE_SHIFT;
-       offset = (sector & (SECTORS_PER_PAGE - 1)) << SECTOR_SHIFT;
-
-       bv.bv_page = page;
-       bv.bv_len = PAGE_SIZE;
-       bv.bv_offset = 0;
-
-       start_time = bdev_start_io_acct(bdev->bd_disk->part0,
-                       SECTORS_PER_PAGE, op, jiffies);
-       ret = zram_bvec_rw(zram, &bv, index, offset, op, NULL);
-       bdev_end_io_acct(bdev->bd_disk->part0, op, start_time);
-out:
-       /*
-        * If I/O fails, just return error(ie, non-zero) without
-        * calling page_endio.
-        * It causes resubmit the I/O with bio request by upper functions
-        * of rw_page(e.g., swap_readpage, __swap_writepage) and
-        * bio->bi_end_io does things to handle the error
-        * (e.g., SetPageError, set_page_dirty and extra works).
-        */
-       if (unlikely(ret < 0))
-               return ret;
-
-       switch (ret) {
-       case 0:
-               page_endio(page, op_is_write(op), 0);
-               break;
-       case 1:
-               ret = 0;
-               break;
-       default:
-               WARN_ON(1);
-       }
-       return ret;
-}
-
 static void zram_destroy_comps(struct zram *zram)
 {
        u32 prio;
@@ -2283,7 +2224,6 @@ static const struct block_device_operations zram_devops = {
        .open = zram_open,
        .submit_bio = zram_submit_bio,
        .swap_slot_free_notify = zram_slot_free_notify,
-       .rw_page = zram_rw_page,
        .owner = THIS_MODULE
 };
 
@@ -2378,10 +2318,11 @@ static int zram_add(void)
        zram->disk->private_data = zram;
        snprintf(zram->disk->disk_name, 16, "zram%d", device_id);
 
-       /* Actual capacity set using syfs (/sys/block/zram<id>/disksize */
+       /* Actual capacity set using sysfs (/sys/block/zram<id>/disksize */
        set_capacity(zram->disk, 0);
        /* zram devices sort of resembles non-rotational disks */
        blk_queue_flag_set(QUEUE_FLAG_NONROT, zram->disk->queue);
+       blk_queue_flag_set(QUEUE_FLAG_SYNCHRONOUS, zram->disk->queue);
        blk_queue_flag_clear(QUEUE_FLAG_ADD_RANDOM, zram->disk->queue);
 
        /*
@@ -2540,7 +2481,6 @@ ATTRIBUTE_GROUPS(zram_control_class);
 
 static struct class zram_control_class = {
        .name           = "zram-control",
-       .owner          = THIS_MODULE,
        .class_groups   = zram_control_class_groups,
 };