33
33
#include "nd.h"
34
34
35
35
struct pmem_device {
36
- struct request_queue * pmem_queue ;
37
- struct gendisk * pmem_disk ;
38
-
39
36
/* One contiguous memory region per device */
40
37
phys_addr_t phys_addr ;
41
38
/* when non-zero this device is hosting a 'pfn' instance */
@@ -52,7 +49,7 @@ struct pmem_device {
52
49
static void pmem_clear_poison (struct pmem_device * pmem , phys_addr_t offset ,
53
50
unsigned int len )
54
51
{
55
- struct device * dev = disk_to_dev ( pmem -> pmem_disk ) ;
52
+ struct device * dev = pmem -> bb . dev ;
56
53
sector_t sector ;
57
54
long cleared ;
58
55
@@ -241,7 +238,6 @@ static int pmem_attach_disk(struct device *dev,
241
238
q = blk_alloc_queue_node (GFP_KERNEL , dev_to_node (dev ));
242
239
if (!q )
243
240
return - ENOMEM ;
244
- pmem -> pmem_queue = q ;
245
241
246
242
pmem -> pfn_flags = PFN_DEV ;
247
243
if (is_nd_pfn (dev )) {
@@ -274,12 +270,12 @@ static int pmem_attach_disk(struct device *dev,
274
270
return PTR_ERR (addr );
275
271
pmem -> virt_addr = (void __pmem * ) addr ;
276
272
277
- blk_queue_make_request (pmem -> pmem_queue , pmem_make_request );
278
- blk_queue_physical_block_size (pmem -> pmem_queue , PAGE_SIZE );
279
- blk_queue_max_hw_sectors (pmem -> pmem_queue , UINT_MAX );
280
- blk_queue_bounce_limit (pmem -> pmem_queue , BLK_BOUNCE_ANY );
281
- queue_flag_set_unlocked (QUEUE_FLAG_NONROT , pmem -> pmem_queue );
282
- pmem -> pmem_queue -> queuedata = pmem ;
273
+ blk_queue_make_request (q , pmem_make_request );
274
+ blk_queue_physical_block_size (q , PAGE_SIZE );
275
+ blk_queue_max_hw_sectors (q , UINT_MAX );
276
+ blk_queue_bounce_limit (q , BLK_BOUNCE_ANY );
277
+ queue_flag_set_unlocked (QUEUE_FLAG_NONROT , q );
278
+ q -> queuedata = pmem ;
283
279
284
280
disk = alloc_disk_node (0 , nid );
285
281
if (!disk )
@@ -290,13 +286,12 @@ static int pmem_attach_disk(struct device *dev,
290
286
}
291
287
292
288
disk -> fops = & pmem_fops ;
293
- disk -> queue = pmem -> pmem_queue ;
289
+ disk -> queue = q ;
294
290
disk -> flags = GENHD_FL_EXT_DEVT ;
295
291
nvdimm_namespace_disk_name (ndns , disk -> disk_name );
296
292
disk -> driverfs_dev = dev ;
297
293
set_capacity (disk , (pmem -> size - pmem -> pfn_pad - pmem -> data_offset )
298
294
/ 512 );
299
- pmem -> pmem_disk = disk ;
300
295
if (devm_init_badblocks (dev , & pmem -> bb ))
301
296
return - ENOMEM ;
302
297
nvdimm_badblocks_populate (to_nd_region (dev -> parent ), & pmem -> bb , res );
0 commit comments