All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christoph Hellwig <hch@lst.de>
To: Jens Axboe <axboe@kernel.dk>
Cc: Denis Efremov <efremov@linux.com>, Tim Waugh <tim@cyberelk.net>,
	Michal Simek <michal.simek@xilinx.com>,
	Borislav Petkov <bp@alien8.de>,
	"David S. Miller" <davem@davemloft.net>,
	Song Liu <song@kernel.org>,
	"Martin K. Petersen" <martin.petersen@oracle.com>,
	Finn Thain <fthain@telegraphics.com.au>,
	Michael Schmitz <schmitzmic@gmail.com>,
	linux-m68k@lists.linux-m68k.org, linux-block@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-ide@vger.kernel.org,
	linux-raid@vger.kernel.org, linux-scsi@vger.kernel.org,
	linux-fsdevel@vger.kernel.org
Subject: [PATCH 18/19] sr: simplify sr_block_revalidate_disk
Date: Wed,  2 Sep 2020 16:12:17 +0200	[thread overview]
Message-ID: <20200902141218.212614-19-hch@lst.de> (raw)
In-Reply-To: <20200902141218.212614-1-hch@lst.de>

Both callers have a valid CD struture available, so rely on that instead
of getting another reference.  Also move the function to avoid a forward
declaration.

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 drivers/scsi/sr.c | 36 +++++++++++++-----------------------
 1 file changed, 13 insertions(+), 23 deletions(-)

diff --git a/drivers/scsi/sr.c b/drivers/scsi/sr.c
index 34be94b62523fa..2b43c0f97442d4 100644
--- a/drivers/scsi/sr.c
+++ b/drivers/scsi/sr.c
@@ -86,7 +86,6 @@ static int sr_remove(struct device *);
 static blk_status_t sr_init_command(struct scsi_cmnd *SCpnt);
 static int sr_done(struct scsi_cmnd *);
 static int sr_runtime_suspend(struct device *dev);
-static int sr_block_revalidate_disk(struct gendisk *disk);
 
 static const struct dev_pm_ops sr_pm_ops = {
 	.runtime_suspend	= sr_runtime_suspend,
@@ -518,6 +517,17 @@ static blk_status_t sr_init_command(struct scsi_cmnd *SCpnt)
 	return ret;
 }
 
+static void sr_revalidate_disk(struct scsi_cd *cd)
+{
+	struct scsi_sense_hdr sshdr;
+
+	/* if the unit is not ready, nothing more to do */
+	if (scsi_test_unit_ready(cd->device, SR_TIMEOUT, MAX_RETRIES, &sshdr))
+		return;
+	sr_cd_check(&cd->cdi);
+	get_sectorsize(cd);
+}
+
 static int sr_block_open(struct block_device *bdev, fmode_t mode)
 {
 	struct scsi_cd *cd;
@@ -531,7 +541,7 @@ static int sr_block_open(struct block_device *bdev, fmode_t mode)
 	sdev = cd->device;
 	scsi_autopm_get_device(sdev);
 	if (bdev_check_media_change(bdev))
-		sr_block_revalidate_disk(bdev->bd_disk);
+		sr_revalidate_disk(cd);
 
 	mutex_lock(&cd->lock);
 	ret = cdrom_open(&cd->cdi, bdev, mode);
@@ -660,26 +670,6 @@ static unsigned int sr_block_check_events(struct gendisk *disk,
 	return ret;
 }
 
-static int sr_block_revalidate_disk(struct gendisk *disk)
-{
-	struct scsi_sense_hdr sshdr;
-	struct scsi_cd *cd;
-
-	cd = scsi_cd_get(disk);
-	if (!cd)
-		return -ENXIO;
-
-	/* if the unit is not ready, nothing more to do */
-	if (scsi_test_unit_ready(cd->device, SR_TIMEOUT, MAX_RETRIES, &sshdr))
-		goto out;
-
-	sr_cd_check(&cd->cdi);
-	get_sectorsize(cd);
-out:
-	scsi_cd_put(cd);
-	return 0;
-}
-
 static const struct block_device_operations sr_bdops =
 {
 	.owner		= THIS_MODULE,
@@ -803,7 +793,7 @@ static int sr_probe(struct device *dev)
 
 	dev_set_drvdata(dev, cd);
 	disk->flags |= GENHD_FL_REMOVABLE;
-	sr_block_revalidate_disk(disk);
+	sr_revalidate_disk(cd);
 	device_add_disk(&sdev->sdev_gendev, disk, NULL);
 
 	sdev_printk(KERN_DEBUG, sdev,
-- 
2.28.0


  parent reply	other threads:[~2020-09-02 14:26 UTC|newest]

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-09-02 14:11 rework check_disk_change() Christoph Hellwig
2020-09-02 14:12 ` [PATCH 01/19] block: add a bdev_check_media_change helper Christoph Hellwig
2020-09-02 15:17   ` Johannes Thumshirn
2020-09-02 14:12 ` [PATCH 02/19] amiflop: use bdev_check_media_change Christoph Hellwig
2020-09-02 15:19   ` Johannes Thumshirn
2020-09-02 14:12 ` [PATCH 03/19] ataflop: " Christoph Hellwig
2020-09-02 15:22   ` Johannes Thumshirn
2020-09-02 14:12 ` [PATCH 04/19] floppy: " Christoph Hellwig
2020-09-02 15:24   ` Johannes Thumshirn
2020-09-02 14:12 ` [PATCH 05/19] swim: " Christoph Hellwig
2020-09-02 15:30   ` Johannes Thumshirn
2020-09-02 15:31     ` Christoph Hellwig
2020-09-02 14:12 ` [PATCH 06/19] swim: simplify media change handling Christoph Hellwig
2020-09-02 15:33   ` Johannes Thumshirn
2020-09-02 14:12 ` [PATCH 07/19] swim3: use bdev_check_media_changed Christoph Hellwig
2020-09-02 15:41   ` Johannes Thumshirn
2020-09-02 14:12 ` [PATCH 08/19] xsysace: use bdev_check_media_change Christoph Hellwig
2020-09-02 15:41   ` Johannes Thumshirn
2020-09-02 14:12 ` [PATCH 09/19] xsysace: simplify media change handling Christoph Hellwig
2020-09-02 14:12 ` [PATCH 10/19] paride/pcd: use bdev_check_media_change Christoph Hellwig
2020-09-02 15:44   ` Johannes Thumshirn
2020-09-02 14:12 ` [PATCH 11/19] gdrom: " Christoph Hellwig
2020-09-02 15:44   ` Johannes Thumshirn
2020-09-02 22:00   ` antlists
2020-09-08 14:23     ` Christoph Hellwig
2020-09-08 14:37       ` Wols Lists
2020-09-02 14:12 ` [PATCH 12/19] ide-cd: use bdev_check_media_changed Christoph Hellwig
2020-09-02 15:47   ` Johannes Thumshirn
2020-09-02 14:12 ` [PATCH 13/19] ide-cd: remove idecd_revalidate_disk Christoph Hellwig
2020-09-02 15:48   ` Johannes Thumshirn
2020-09-02 14:12 ` [PATCH 14/19] ide-gd: stop using the disk events mechanism Christoph Hellwig
2020-09-02 14:12 ` [PATCH 15/19] md: use bdev_check_media_change Christoph Hellwig
2020-09-02 15:50   ` Johannes Thumshirn
2020-09-02 16:15   ` Sergei Shtylyov
2020-09-02 14:12 ` [PATCH 16/19] sd: " Christoph Hellwig
2020-09-02 15:51   ` Johannes Thumshirn
2020-09-02 16:19   ` Sergei Shtylyov
2020-09-02 14:12 ` [PATCH 17/19] sr: " Christoph Hellwig
2020-09-02 15:52   ` Johannes Thumshirn
2020-09-02 14:12 ` Christoph Hellwig [this message]
2020-09-02 15:53   ` [PATCH 18/19] sr: simplify sr_block_revalidate_disk Johannes Thumshirn
2020-09-02 14:12 ` [PATCH 19/19] block: remove check_disk_change Christoph Hellwig
2020-09-02 15:54   ` Johannes Thumshirn
2020-09-02 15:38 ` rework check_disk_change() Douglas Gilbert
2020-09-04  9:23   ` Hannes Reinecke
2020-09-08 14:53 rework check_disk_change() v2 Christoph Hellwig
2020-09-08 14:53 ` [PATCH 18/19] sr: simplify sr_block_revalidate_disk Christoph Hellwig
2020-09-09  7:38   ` Hannes Reinecke

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200902141218.212614-19-hch@lst.de \
    --to=hch@lst.de \
    --cc=axboe@kernel.dk \
    --cc=bp@alien8.de \
    --cc=davem@davemloft.net \
    --cc=efremov@linux.com \
    --cc=fthain@telegraphics.com.au \
    --cc=linux-block@vger.kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-ide@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-m68k@lists.linux-m68k.org \
    --cc=linux-raid@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=martin.petersen@oracle.com \
    --cc=michal.simek@xilinx.com \
    --cc=schmitzmic@gmail.com \
    --cc=song@kernel.org \
    --cc=tim@cyberelk.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.