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 09/19] xsysace: simplify media change handling
Date: Wed,  2 Sep 2020 16:12:08 +0200	[thread overview]
Message-ID: <20200902141218.212614-10-hch@lst.de> (raw)
In-Reply-To: <20200902141218.212614-1-hch@lst.de>

Pass a struct ace_device to ace_revalidate_disk, move the media changed
check into the one caller that needs it, and give the routine a better
name.

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 drivers/block/xsysace.c | 26 ++++++++++----------------
 1 file changed, 10 insertions(+), 16 deletions(-)

diff --git a/drivers/block/xsysace.c b/drivers/block/xsysace.c
index eefe542f2d9fff..8d581c7536fb51 100644
--- a/drivers/block/xsysace.c
+++ b/drivers/block/xsysace.c
@@ -888,26 +888,20 @@ static unsigned int ace_check_events(struct gendisk *gd, unsigned int clearing)
 	return ace->media_change ? DISK_EVENT_MEDIA_CHANGE : 0;
 }
 
-static int ace_revalidate_disk(struct gendisk *gd)
+static void ace_media_changed(struct ace_device *ace)
 {
-	struct ace_device *ace = gd->private_data;
 	unsigned long flags;
 
-	dev_dbg(ace->dev, "ace_revalidate_disk()\n");
-
-	if (ace->media_change) {
-		dev_dbg(ace->dev, "requesting cf id and scheduling tasklet\n");
+	dev_dbg(ace->dev, "requesting cf id and scheduling tasklet\n");
 
-		spin_lock_irqsave(&ace->lock, flags);
-		ace->id_req_count++;
-		spin_unlock_irqrestore(&ace->lock, flags);
+	spin_lock_irqsave(&ace->lock, flags);
+	ace->id_req_count++;
+	spin_unlock_irqrestore(&ace->lock, flags);
 
-		tasklet_schedule(&ace->fsm_tasklet);
-		wait_for_completion(&ace->id_completion);
-	}
+	tasklet_schedule(&ace->fsm_tasklet);
+	wait_for_completion(&ace->id_completion);
 
 	dev_dbg(ace->dev, "revalidate complete\n");
-	return ace->id_result;
 }
 
 static int ace_open(struct block_device *bdev, fmode_t mode)
@@ -922,8 +916,8 @@ static int ace_open(struct block_device *bdev, fmode_t mode)
 	ace->users++;
 	spin_unlock_irqrestore(&ace->lock, flags);
 
-	if (bdev_check_media_change(bdev))
-		ace_revalidate_disk(bdev->bd_disk);
+	if (bdev_check_media_change(bdev) && ace->media_change)
+		ace_media_changed(ace);
 	mutex_unlock(&xsysace_mutex);
 
 	return 0;
@@ -1080,7 +1074,7 @@ static int ace_setup(struct ace_device *ace)
 		(unsigned long long) ace->physaddr, ace->baseaddr, ace->irq);
 
 	ace->media_change = 1;
-	ace_revalidate_disk(ace->gd);
+	ace_media_changed(ace);
 
 	/* Make the sysace device 'live' */
 	add_disk(ace->gd);
-- 
2.28.0


  parent reply	other threads:[~2020-09-02 14:46 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 ` Christoph Hellwig [this message]
2020-09-02 14:12 ` [PATCH 10/19] paride/pcd: " 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 ` [PATCH 18/19] sr: simplify sr_block_revalidate_disk Christoph Hellwig
2020-09-02 15:53   ` 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 09/19] xsysace: simplify media change handling Christoph Hellwig
2020-09-09  7:10   ` 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-10-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.