Commit cafb0bfca1a73efd6d8a4a6a6a716e6134b96c24
1 parent
3c0d206092
Exists in
master
and in
4 other branches
staging: Convert to bdops->check_events()
Convert two staging drivers - blkvsc_drv and cyasblkdev_block - from ->media_changed() to ->check_events(). The former always indicated media changed while the latter always indicated media not changed. Not sure what the drivers are trying to achieve but keep the original behavior. Signed-off-by: Tejun Heo <tj@kernel.org> Acked-by: Greg Kroah-Hartman <gregkh@suse.de> Cc: Jens Axboe <axboe@kernel.dk> Cc: Kay Sievers <kay.sievers@vrfy.org>
Showing 2 changed files with 14 additions and 8 deletions Side-by-side Diff
drivers/staging/hv/blkvsc_drv.c
... | ... | @@ -131,7 +131,8 @@ |
131 | 131 | |
132 | 132 | static int blkvsc_open(struct block_device *bdev, fmode_t mode); |
133 | 133 | static int blkvsc_release(struct gendisk *disk, fmode_t mode); |
134 | -static int blkvsc_media_changed(struct gendisk *gd); | |
134 | +static unsigned int blkvsc_check_events(struct gendisk *gd, | |
135 | + unsigned int clearing); | |
135 | 136 | static int blkvsc_revalidate_disk(struct gendisk *gd); |
136 | 137 | static int blkvsc_getgeo(struct block_device *bd, struct hd_geometry *hg); |
137 | 138 | static int blkvsc_ioctl(struct block_device *bd, fmode_t mode, |
... | ... | @@ -162,7 +163,7 @@ |
162 | 163 | .owner = THIS_MODULE, |
163 | 164 | .open = blkvsc_open, |
164 | 165 | .release = blkvsc_release, |
165 | - .media_changed = blkvsc_media_changed, | |
166 | + .check_events = blkvsc_check_events, | |
166 | 167 | .revalidate_disk = blkvsc_revalidate_disk, |
167 | 168 | .getgeo = blkvsc_getgeo, |
168 | 169 | .ioctl = blkvsc_ioctl, |
... | ... | @@ -367,6 +368,7 @@ |
367 | 368 | else |
368 | 369 | blkdev->gd->first_minor = 0; |
369 | 370 | blkdev->gd->fops = &block_ops; |
371 | + blkdev->gd->events = DISK_EVENT_MEDIA_CHANGE; | |
370 | 372 | blkdev->gd->private_data = blkdev; |
371 | 373 | blkdev->gd->driverfs_dev = &(blkdev->device_ctx->device); |
372 | 374 | sprintf(blkdev->gd->disk_name, "hd%c", 'a' + devnum); |
373 | 375 | |
... | ... | @@ -1352,10 +1354,11 @@ |
1352 | 1354 | return 0; |
1353 | 1355 | } |
1354 | 1356 | |
1355 | -static int blkvsc_media_changed(struct gendisk *gd) | |
1357 | +static unsigned int blkvsc_check_events(struct gendisk *gd, | |
1358 | + unsigned int clearing) | |
1356 | 1359 | { |
1357 | 1360 | DPRINT_DBG(BLKVSC_DRV, "- enter\n"); |
1358 | - return 1; | |
1361 | + return DISK_EVENT_MEDIA_CHANGE; | |
1359 | 1362 | } |
1360 | 1363 | |
1361 | 1364 | static int blkvsc_revalidate_disk(struct gendisk *gd) |
drivers/staging/westbridge/astoria/block/cyasblkdev_block.c
... | ... | @@ -381,10 +381,10 @@ |
381 | 381 | return -ENOTTY; |
382 | 382 | } |
383 | 383 | |
384 | -/* Media_changed block_device opp | |
384 | +/* check_events block_device opp | |
385 | 385 | * this one is called by kernel to confirm if the media really changed |
386 | 386 | * as we indicated by issuing check_disk_change() call */ |
387 | -int cyasblkdev_media_changed(struct gendisk *gd) | |
387 | +unsigned int cyasblkdev_check_events(struct gendisk *gd, unsigned int clearing) | |
388 | 388 | { |
389 | 389 | struct cyasblkdev_blk_data *bd; |
390 | 390 | |
... | ... | @@ -402,7 +402,7 @@ |
402 | 402 | #endif |
403 | 403 | } |
404 | 404 | |
405 | - /* return media change state "1" yes, 0 no */ | |
405 | + /* return media change state - DISK_EVENT_MEDIA_CHANGE yes, 0 no */ | |
406 | 406 | return 0; |
407 | 407 | } |
408 | 408 | |
... | ... | @@ -432,7 +432,7 @@ |
432 | 432 | .ioctl = cyasblkdev_blk_ioctl, |
433 | 433 | /* .getgeo = cyasblkdev_blk_getgeo, */ |
434 | 434 | /* added to support media removal( real and simulated) media */ |
435 | - .media_changed = cyasblkdev_media_changed, | |
435 | + .check_events = cyasblkdev_check_events, | |
436 | 436 | /* added to support media removal( real and simulated) media */ |
437 | 437 | .revalidate_disk = cyasblkdev_revalidate_disk, |
438 | 438 | .owner = THIS_MODULE, |
... | ... | @@ -1090,6 +1090,7 @@ |
1090 | 1090 | bd->user_disk_0->first_minor = devidx << CYASBLKDEV_SHIFT; |
1091 | 1091 | bd->user_disk_0->minors = 8; |
1092 | 1092 | bd->user_disk_0->fops = &cyasblkdev_bdops; |
1093 | + bd->user_disk_0->events = DISK_EVENT_MEDIA_CHANGE; | |
1093 | 1094 | bd->user_disk_0->private_data = bd; |
1094 | 1095 | bd->user_disk_0->queue = bd->queue.queue; |
1095 | 1096 | bd->dbgprn_flags = DBGPRN_RD_RQ; |
... | ... | @@ -1190,6 +1191,7 @@ |
1190 | 1191 | bd->user_disk_1->first_minor = (devidx + 1) << CYASBLKDEV_SHIFT; |
1191 | 1192 | bd->user_disk_1->minors = 8; |
1192 | 1193 | bd->user_disk_1->fops = &cyasblkdev_bdops; |
1194 | + bd->user_disk_0->events = DISK_EVENT_MEDIA_CHANGE; | |
1193 | 1195 | bd->user_disk_1->private_data = bd; |
1194 | 1196 | bd->user_disk_1->queue = bd->queue.queue; |
1195 | 1197 | bd->dbgprn_flags = DBGPRN_RD_RQ; |
... | ... | @@ -1278,6 +1280,7 @@ |
1278 | 1280 | (devidx + 2) << CYASBLKDEV_SHIFT; |
1279 | 1281 | bd->system_disk->minors = 8; |
1280 | 1282 | bd->system_disk->fops = &cyasblkdev_bdops; |
1283 | + bd->system_disk->events = DISK_EVENT_MEDIA_CHANGE; | |
1281 | 1284 | bd->system_disk->private_data = bd; |
1282 | 1285 | bd->system_disk->queue = bd->queue.queue; |
1283 | 1286 | /* don't search for vfat |