Requesting a module either succeeds or does nothing, return an error from
this method does not make sense.
Also move the load_module after the store method in the struct
declaration to keep the important show and store methods together.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Damien Le Moal <dlemoal@kernel.org>
Reviewed-by: Andreas Hindborg <a.hindborg@kernel.org>
Link: https://lore.kernel.org/r/20241008050841.104602-1-hch@lst.de
Signed-off-by: Jens Axboe <axboe@kernel.dk>
 
 struct queue_sysfs_entry {
        struct attribute attr;
        ssize_t (*show)(struct gendisk *disk, char *page);
-       int (*load_module)(struct gendisk *disk, const char *page, size_t count);
        ssize_t (*store)(struct gendisk *disk, const char *page, size_t count);
+       void (*load_module)(struct gendisk *disk, const char *page, size_t count);
 };
 
 static ssize_t
         * queue to ensure that the module file can be read when the request
         * queue is the one for the device storing the module file.
         */
-       if (entry->load_module) {
-               res = entry->load_module(disk, page, length);
-               if (res)
-                       return res;
-       }
+       if (entry->load_module)
+               entry->load_module(disk, page, length);
 
        blk_mq_freeze_queue(q);
        mutex_lock(&q->sysfs_lock);
 
        return ret;
 }
 
-int elv_iosched_load_module(struct gendisk *disk, const char *buf,
-                           size_t count)
+void elv_iosched_load_module(struct gendisk *disk, const char *buf,
+                            size_t count)
 {
        char elevator_name[ELV_NAME_MAX];
        struct elevator_type *found;
        const char *name;
 
        if (!elv_support_iosched(disk->queue))
-               return -EOPNOTSUPP;
+               return;
 
        strscpy(elevator_name, buf, sizeof(elevator_name));
        name = strstrip(elevator_name);
 
        if (!found)
                request_module("%s-iosched", name);
-
-       return 0;
 }
 
 ssize_t elv_iosched_store(struct gendisk *disk, const char *buf,
 
  * io scheduler sysfs switching
  */
 ssize_t elv_iosched_show(struct gendisk *disk, char *page);
-int elv_iosched_load_module(struct gendisk *disk, const char *page,
-                           size_t count);
+void elv_iosched_load_module(struct gendisk *disk, const char *page,
+               size_t count);
 ssize_t elv_iosched_store(struct gendisk *disk, const char *page, size_t count);
 
 extern bool elv_bio_merge_ok(struct request *, struct bio *);