Linux-Fsdevel Archive on 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: Tue, 8 Sep 2020 16:53:37 +0200 [thread overview] Message-ID: <20200908145347.2992670-10-hch@lst.de> (raw) In-Reply-To: <20200908145347.2992670-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
next prev parent reply other threads:[~2020-09-08 15:55 UTC|newest] Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-09-08 14:53 rework check_disk_change() v2 Christoph Hellwig 2020-09-08 14:53 ` [PATCH 01/19] block: add a bdev_check_media_change helper Christoph Hellwig 2020-09-09 6:59 ` Hannes Reinecke 2020-09-08 14:53 ` [PATCH 02/19] amiflop: use bdev_check_media_change Christoph Hellwig 2020-09-09 6:59 ` Hannes Reinecke 2020-09-08 14:53 ` [PATCH 03/19] ataflop: " Christoph Hellwig 2020-09-09 7:00 ` Hannes Reinecke 2020-09-08 14:53 ` [PATCH 04/19] floppy: " Christoph Hellwig 2020-09-09 6:52 ` Johannes Thumshirn 2020-09-09 7:00 ` Hannes Reinecke 2020-09-08 14:53 ` [PATCH 05/19] swim: " Christoph Hellwig 2020-09-09 7:01 ` Hannes Reinecke 2020-09-08 14:53 ` [PATCH 06/19] swim: simplify media change handling Christoph Hellwig 2020-09-09 7:09 ` Hannes Reinecke 2020-09-08 14:53 ` [PATCH 07/19] swim3: use bdev_check_media_changed Christoph Hellwig 2020-09-09 7:10 ` Hannes Reinecke 2020-09-09 7:50 ` Sergei Shtylyov 2020-09-08 14:53 ` [PATCH 08/19] xsysace: use bdev_check_media_change Christoph Hellwig 2020-09-09 7:10 ` Hannes Reinecke 2020-09-08 14:53 ` Christoph Hellwig [this message] 2020-09-09 7:10 ` [PATCH 09/19] xsysace: simplify media change handling Hannes Reinecke 2020-09-08 14:53 ` [PATCH 10/19] paride/pcd: use bdev_check_media_change Christoph Hellwig 2020-09-09 7:26 ` Hannes Reinecke 2020-09-08 14:53 ` [PATCH 11/19] gdrom: " Christoph Hellwig 2020-09-09 7:27 ` Hannes Reinecke 2020-09-08 14:53 ` [PATCH 12/19] ide-cd: use bdev_check_media_changed Christoph Hellwig 2020-09-09 7:27 ` Hannes Reinecke 2020-09-08 14:53 ` [PATCH 13/19] ide-cd: remove idecd_revalidate_disk Christoph Hellwig 2020-09-09 7:28 ` Hannes Reinecke 2020-09-08 14:53 ` [PATCH 14/19] ide-gd: stop using the disk events mechanism Christoph Hellwig 2020-09-09 7:32 ` Hannes Reinecke 2020-09-08 14:53 ` [PATCH 15/19] md: use bdev_check_media_change Christoph Hellwig 2020-09-09 0:49 ` Song Liu 2020-09-09 7:34 ` Hannes Reinecke 2020-09-08 14:53 ` [PATCH 16/19] sd: " Christoph Hellwig 2020-09-09 7:36 ` Hannes Reinecke 2020-09-09 7:52 ` Sergei Shtylyov 2020-09-08 14:53 ` [PATCH 17/19] sr: " Christoph Hellwig 2020-09-09 7:37 ` Hannes Reinecke 2020-09-08 14:53 ` [PATCH 18/19] sr: simplify sr_block_revalidate_disk Christoph Hellwig 2020-09-09 7:38 ` Hannes Reinecke 2020-09-08 14:53 ` [PATCH 19/19] block: remove check_disk_change Christoph Hellwig 2020-09-09 7:39 ` Hannes Reinecke 2020-09-10 15:54 ` rework check_disk_change() v2 Jens Axboe -- strict thread matches above, loose matches on Subject: below -- 2020-09-02 14:11 rework check_disk_change() Christoph Hellwig 2020-09-02 14:12 ` [PATCH 09/19] xsysace: simplify media change handling Christoph Hellwig
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=20200908145347.2992670-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: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).