Use the per-device cdev_device_interface to store the bsg data in the char device inode, and thus remove the need to embedd the bsg_class_device structure in the request_queue.
Showing the changes to include/linux/blkdev.h (1 of 9 files). Show all
Unified · Split
| @@ -18,7 +18,6 @@ · 17 unmodified lines | |||
| 18 | #include <linux/bio.h> | 18 | #include <linux/bio.h> |
| 19 | #include <linux/stringify.h> | 19 | #include <linux/stringify.h> |
| 20 | #include <linux/gfp.h> | 20 | #include <linux/gfp.h> |
| 21 | #include <linux/bsg.h> | ||
| 22 | #include <linux/smp.h> | 21 | #include <linux/smp.h> |
| 23 | #include <linux/rcupdate.h> | 22 | #include <linux/rcupdate.h> |
| 24 | #include <linux/percpu-refcount.h> | 23 | #include <linux/percpu-refcount.h> |
| @@ -33,7 +32,6 @@ struct elevator_queue; · 8 unmodified lines | |||
| 33 | struct blk_trace; | 32 | struct blk_trace; |
| 34 | struct request; | 33 | struct request; |
| 35 | struct sg_io_hdr; | 34 | struct sg_io_hdr; |
| 36 | struct bsg_job; | ||
| 37 | struct blkcg_gq; | 35 | struct blkcg_gq; |
| 38 | struct blk_flush_queue; | 36 | struct blk_flush_queue; |
| 39 | struct pr_ops; | 37 | struct pr_ops; |
| @@ -535,10 +533,6 @@ struct request_queue { · 495 unmodified lines | |||
| 535 | 533 | ||
| 536 | int mq_freeze_depth; | 534 | int mq_freeze_depth; |
| 537 | 535 | ||
| 538 | #if IS_ENABLED(CONFIG_BLK_DEV_BSG_COMMON) | ||
| 539 | struct bsg_class_device bsg_dev; | ||
| 540 | #endif | ||
| 541 | |||
| 542 | #ifdef CONFIG_BLK_DEV_THROTTLING | 536 | #ifdef CONFIG_BLK_DEV_THROTTLING |
| 543 | /* Throttle data */ | 537 | /* Throttle data */ |
| 544 | struct throtl_data *td; | 538 | struct throtl_data *td; |