mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-25 15:30:54 +07:00
scsi: sd: Revert "Inline sd_probe_part2()"
Reverts commit d16ece577b
to make a clean revert of its predecessor
possible.
Cc: Pavel Machek <pavel@ucw.cz>
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Acked-by: Pavel Machek <pavel@ucw.cz>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
parent
ebcb8f8508
commit
9a058e88fd
@ -3285,6 +3285,63 @@ static int sd_format_disk_name(char *prefix, int index, char *buf, int buflen)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void sd_probe_part2(struct scsi_disk *sdkp)
|
||||
{
|
||||
struct scsi_device *sdp;
|
||||
struct gendisk *gd;
|
||||
u32 index;
|
||||
struct device *dev;
|
||||
|
||||
sdp = sdkp->device;
|
||||
gd = sdkp->disk;
|
||||
index = sdkp->index;
|
||||
dev = &sdp->sdev_gendev;
|
||||
|
||||
gd->major = sd_major((index & 0xf0) >> 4);
|
||||
gd->first_minor = ((index & 0xf) << 4) | (index & 0xfff00);
|
||||
|
||||
gd->fops = &sd_fops;
|
||||
gd->private_data = &sdkp->driver;
|
||||
gd->queue = sdkp->device->request_queue;
|
||||
|
||||
/* defaults, until the device tells us otherwise */
|
||||
sdp->sector_size = 512;
|
||||
sdkp->capacity = 0;
|
||||
sdkp->media_present = 1;
|
||||
sdkp->write_prot = 0;
|
||||
sdkp->cache_override = 0;
|
||||
sdkp->WCE = 0;
|
||||
sdkp->RCD = 0;
|
||||
sdkp->ATO = 0;
|
||||
sdkp->first_scan = 1;
|
||||
sdkp->max_medium_access_timeouts = SD_MAX_MEDIUM_TIMEOUTS;
|
||||
|
||||
sd_revalidate_disk(gd);
|
||||
|
||||
gd->flags = GENHD_FL_EXT_DEVT;
|
||||
if (sdp->removable) {
|
||||
gd->flags |= GENHD_FL_REMOVABLE;
|
||||
gd->events |= DISK_EVENT_MEDIA_CHANGE;
|
||||
}
|
||||
|
||||
blk_pm_runtime_init(sdp->request_queue, dev);
|
||||
device_add_disk(dev, gd, NULL);
|
||||
if (sdkp->capacity)
|
||||
sd_dif_config_host(sdkp);
|
||||
|
||||
sd_revalidate_disk(gd);
|
||||
|
||||
if (sdkp->security) {
|
||||
sdkp->opal_dev = init_opal_dev(sdp, &sd_sec_submit);
|
||||
if (sdkp->opal_dev)
|
||||
sd_printk(KERN_NOTICE, sdkp, "supports TCG Opal\n");
|
||||
}
|
||||
|
||||
sd_printk(KERN_NOTICE, sdkp, "Attached SCSI %sdisk\n",
|
||||
sdp->removable ? "removable " : "");
|
||||
scsi_autopm_put_device(sdp);
|
||||
}
|
||||
|
||||
/**
|
||||
* sd_probe - called during driver initialization and whenever a
|
||||
* new scsi device is attached to the system. It is called once
|
||||
@ -3374,49 +3431,7 @@ static int sd_probe(struct device *dev)
|
||||
get_device(dev);
|
||||
dev_set_drvdata(dev, sdkp);
|
||||
|
||||
gd->major = sd_major((index & 0xf0) >> 4);
|
||||
gd->first_minor = ((index & 0xf) << 4) | (index & 0xfff00);
|
||||
|
||||
gd->fops = &sd_fops;
|
||||
gd->private_data = &sdkp->driver;
|
||||
gd->queue = sdkp->device->request_queue;
|
||||
|
||||
/* defaults, until the device tells us otherwise */
|
||||
sdp->sector_size = 512;
|
||||
sdkp->capacity = 0;
|
||||
sdkp->media_present = 1;
|
||||
sdkp->write_prot = 0;
|
||||
sdkp->cache_override = 0;
|
||||
sdkp->WCE = 0;
|
||||
sdkp->RCD = 0;
|
||||
sdkp->ATO = 0;
|
||||
sdkp->first_scan = 1;
|
||||
sdkp->max_medium_access_timeouts = SD_MAX_MEDIUM_TIMEOUTS;
|
||||
|
||||
sd_revalidate_disk(gd);
|
||||
|
||||
gd->flags = GENHD_FL_EXT_DEVT;
|
||||
if (sdp->removable) {
|
||||
gd->flags |= GENHD_FL_REMOVABLE;
|
||||
gd->events |= DISK_EVENT_MEDIA_CHANGE;
|
||||
}
|
||||
|
||||
blk_pm_runtime_init(sdp->request_queue, dev);
|
||||
device_add_disk(dev, gd, NULL);
|
||||
if (sdkp->capacity)
|
||||
sd_dif_config_host(sdkp);
|
||||
|
||||
sd_revalidate_disk(gd);
|
||||
|
||||
if (sdkp->security) {
|
||||
sdkp->opal_dev = init_opal_dev(sdp, &sd_sec_submit);
|
||||
if (sdkp->opal_dev)
|
||||
sd_printk(KERN_NOTICE, sdkp, "supports TCG Opal\n");
|
||||
}
|
||||
|
||||
sd_printk(KERN_NOTICE, sdkp, "Attached SCSI %sdisk\n",
|
||||
sdp->removable ? "removable " : "");
|
||||
scsi_autopm_put_device(sdp);
|
||||
sd_probe_part2(sdkp);
|
||||
|
||||
return 0;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user