Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

device-dax: move instance creation parameters to 'struct dev_dax_data'

In preparation for adding more parameters to instance creation, move
existing parameters to a new struct.

Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Cc: Vishal Verma <vishal.l.verma@intel.com>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Ard Biesheuvel <ardb@kernel.org>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Ben Skeggs <bskeggs@redhat.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Brice Goglin <Brice.Goglin@inria.fr>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Daniel Vetter <daniel@ffwll.ch>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: Dave Jiang <dave.jiang@intel.com>
Cc: David Airlie <airlied@linux.ie>
Cc: David Hildenbrand <david@redhat.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Ira Weiny <ira.weiny@intel.com>
Cc: Jason Gunthorpe <jgg@mellanox.com>
Cc: Jeff Moyer <jmoyer@redhat.com>
Cc: Jia He <justin.he@arm.com>
Cc: Joao Martins <joao.m.martins@oracle.com>
Cc: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Mike Rapoport <rppt@linux.ibm.com>
Cc: Paul Mackerras <paulus@ozlabs.org>
Cc: Pavel Tatashin <pasha.tatashin@soleen.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: "Rafael J. Wysocki" <rafael.j.wysocki@intel.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Tom Lendacky <thomas.lendacky@amd.com>
Cc: Wei Yang <richard.weiyang@linux.alibaba.com>
Cc: Will Deacon <will@kernel.org>
Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Bjorn Helgaas <bhelgaas@google.com>
Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Cc: Hulk Robot <hulkci@huawei.com>
Cc: Jason Yan <yanaijie@huawei.com>
Cc: "Jérôme Glisse" <jglisse@redhat.com>
Cc: Juergen Gross <jgross@suse.com>
Cc: kernel test robot <lkp@intel.com>
Cc: Randy Dunlap <rdunlap@infradead.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>
Cc: Vivek Goyal <vgoyal@redhat.com>
Link: https://lkml.kernel.org/r/159643099411.4062302.1337305960720423895.stgit@dwillia2-desk3.amr.corp.intel.com
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

authored by

Dan Williams and committed by
Linus Torvalds
174ebece ec826909

+30 -17
+7 -7
drivers/dax/bus.c
··· 395 395 put_device(dev); 396 396 } 397 397 398 - struct dev_dax *__devm_create_dev_dax(struct dax_region *dax_region, int id, 399 - struct dev_pagemap *pgmap, enum dev_dax_subsys subsys) 398 + struct dev_dax *devm_create_dev_dax(struct dev_dax_data *data) 400 399 { 400 + struct dax_region *dax_region = data->dax_region; 401 401 struct device *parent = dax_region->dev; 402 402 struct dax_device *dax_dev; 403 403 struct dev_dax *dev_dax; ··· 405 405 struct device *dev; 406 406 int rc = -ENOMEM; 407 407 408 - if (id < 0) 408 + if (data->id < 0) 409 409 return ERR_PTR(-EINVAL); 410 410 411 411 dev_dax = kzalloc(sizeof(*dev_dax), GFP_KERNEL); 412 412 if (!dev_dax) 413 413 return ERR_PTR(-ENOMEM); 414 414 415 - memcpy(&dev_dax->pgmap, pgmap, sizeof(*pgmap)); 415 + memcpy(&dev_dax->pgmap, data->pgmap, sizeof(struct dev_pagemap)); 416 416 417 417 /* 418 418 * No 'host' or dax_operations since there is no access to this ··· 438 438 439 439 inode = dax_inode(dax_dev); 440 440 dev->devt = inode->i_rdev; 441 - if (subsys == DEV_DAX_BUS) 441 + if (data->subsys == DEV_DAX_BUS) 442 442 dev->bus = &dax_bus_type; 443 443 else 444 444 dev->class = dax_class; 445 445 dev->parent = parent; 446 446 dev->type = &dev_dax_type; 447 - dev_set_name(dev, "dax%d.%d", dax_region->id, id); 447 + dev_set_name(dev, "dax%d.%d", dax_region->id, data->id); 448 448 449 449 rc = device_add(dev); 450 450 if (rc) { ··· 464 464 465 465 return ERR_PTR(rc); 466 466 } 467 - EXPORT_SYMBOL_GPL(__devm_create_dev_dax); 467 + EXPORT_SYMBOL_GPL(devm_create_dev_dax); 468 468 469 469 static int match_always_count; 470 470
+8 -8
drivers/dax/bus.h
··· 13 13 struct resource *res, int target_node, unsigned int align); 14 14 15 15 enum dev_dax_subsys { 16 - DEV_DAX_BUS, 16 + DEV_DAX_BUS = 0, /* zeroed dev_dax_data picks this by default */ 17 17 DEV_DAX_CLASS, 18 18 }; 19 19 20 - struct dev_dax *__devm_create_dev_dax(struct dax_region *dax_region, int id, 21 - struct dev_pagemap *pgmap, enum dev_dax_subsys subsys); 20 + struct dev_dax_data { 21 + struct dax_region *dax_region; 22 + struct dev_pagemap *pgmap; 23 + enum dev_dax_subsys subsys; 24 + int id; 25 + }; 22 26 23 - static inline struct dev_dax *devm_create_dev_dax(struct dax_region *dax_region, 24 - int id, struct dev_pagemap *pgmap) 25 - { 26 - return __devm_create_dev_dax(dax_region, id, pgmap, DEV_DAX_BUS); 27 - } 27 + struct dev_dax *devm_create_dev_dax(struct dev_dax_data *data); 28 28 29 29 /* to be deleted when DEV_DAX_CLASS is removed */ 30 30 struct dev_dax *__dax_pmem_probe(struct device *dev, enum dev_dax_subsys subsys);
+7 -1
drivers/dax/hmem/hmem.c
··· 11 11 struct dev_pagemap pgmap = { }; 12 12 struct dax_region *dax_region; 13 13 struct memregion_info *mri; 14 + struct dev_dax_data data; 14 15 struct dev_dax *dev_dax; 15 16 struct resource *res; 16 17 ··· 27 26 if (!dax_region) 28 27 return -ENOMEM; 29 28 30 - dev_dax = devm_create_dev_dax(dax_region, 0, &pgmap); 29 + data = (struct dev_dax_data) { 30 + .dax_region = dax_region, 31 + .id = 0, 32 + .pgmap = &pgmap, 33 + }; 34 + dev_dax = devm_create_dev_dax(&data); 31 35 if (IS_ERR(dev_dax)) 32 36 return PTR_ERR(dev_dax); 33 37
+8 -1
drivers/dax/pmem/core.c
··· 14 14 resource_size_t offset; 15 15 struct nd_pfn_sb *pfn_sb; 16 16 struct dev_dax *dev_dax; 17 + struct dev_dax_data data; 17 18 struct nd_namespace_io *nsio; 18 19 struct dax_region *dax_region; 19 20 struct dev_pagemap pgmap = { }; ··· 58 57 if (!dax_region) 59 58 return ERR_PTR(-ENOMEM); 60 59 61 - dev_dax = __devm_create_dev_dax(dax_region, id, &pgmap, subsys); 60 + data = (struct dev_dax_data) { 61 + .dax_region = dax_region, 62 + .id = id, 63 + .pgmap = &pgmap, 64 + .subsys = subsys, 65 + }; 66 + dev_dax = devm_create_dev_dax(&data); 62 67 63 68 /* child dev_dax instances now own the lifetime of the dax_region */ 64 69 dax_region_put(dax_region);