]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
scsi: sd: Move the sd_remove() function definition
authorBart Van Assche <bvanassche@acm.org>
Wed, 14 Jan 2026 17:50:49 +0000 (09:50 -0800)
committerMartin K. Petersen <martin.petersen@oracle.com>
Sat, 17 Jan 2026 04:15:15 +0000 (23:15 -0500)
Move the sd_remove() function definition such that the sd_shutdown()
forward declaration can be removed.

Reviewed-by: Damien Le Moal <dlemoal@kernel.org>
Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com>
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Link: https://patch.msgid.link/20260114175054.4118163-2-bvanassche@acm.org
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/sd.c

index dc7eac6211bc2999035c23eedfd514795a053b00..b30c5069337247adaca6a1765327c08669d8071e 100644 (file)
@@ -108,7 +108,6 @@ static void sd_config_write_same(struct scsi_disk *sdkp,
                struct queue_limits *lim);
 static void  sd_revalidate_disk(struct gendisk *);
 static void sd_unlock_native_capacity(struct gendisk *disk);
-static void sd_shutdown(struct scsi_device *);
 static void scsi_disk_release(struct device *cdev);
 
 static DEFINE_IDA(sd_index_ida);
@@ -4087,32 +4086,6 @@ static int sd_probe(struct scsi_device *sdp)
        return error;
 }
 
-/**
- *     sd_remove - called whenever a scsi disk (previously recognized by
- *     sd_probe) is detached from the system. It is called (potentially
- *     multiple times) during sd module unload.
- *     @sdp: pointer to device object
- *
- *     Note: this function is invoked from the scsi mid-level.
- *     This function potentially frees up a device name (e.g. /dev/sdc)
- *     that could be re-used by a subsequent sd_probe().
- *     This function is not called when the built-in sd driver is "exit-ed".
- **/
-static void sd_remove(struct scsi_device *sdp)
-{
-       struct device *dev = &sdp->sdev_gendev;
-       struct scsi_disk *sdkp = dev_get_drvdata(dev);
-
-       scsi_autopm_get_device(sdkp->device);
-
-       device_del(&sdkp->disk_dev);
-       del_gendisk(sdkp->disk);
-       if (!sdkp->suspended)
-               sd_shutdown(sdp);
-
-       put_disk(sdkp->disk);
-}
-
 static void scsi_disk_release(struct device *dev)
 {
        struct scsi_disk *sdkp = to_scsi_disk(dev);
@@ -4226,6 +4199,32 @@ static void sd_shutdown(struct scsi_device *sdp)
        }
 }
 
+/**
+ *     sd_remove - called whenever a scsi disk (previously recognized by
+ *     sd_probe) is detached from the system. It is called (potentially
+ *     multiple times) during sd module unload.
+ *     @sdp: pointer to device object
+ *
+ *     Note: this function is invoked from the scsi mid-level.
+ *     This function potentially frees up a device name (e.g. /dev/sdc)
+ *     that could be re-used by a subsequent sd_probe().
+ *     This function is not called when the built-in sd driver is "exit-ed".
+ **/
+static void sd_remove(struct scsi_device *sdp)
+{
+       struct device *dev = &sdp->sdev_gendev;
+       struct scsi_disk *sdkp = dev_get_drvdata(dev);
+
+       scsi_autopm_get_device(sdkp->device);
+
+       device_del(&sdkp->disk_dev);
+       del_gendisk(sdkp->disk);
+       if (!sdkp->suspended)
+               sd_shutdown(sdp);
+
+       put_disk(sdkp->disk);
+}
+
 static inline bool sd_do_start_stop(struct scsi_device *sdev, bool runtime)
 {
        return (sdev->manage_system_start_stop && !runtime) ||