From: joeyli <jlee-IBi9RG/b67k@public.gmane.org>
To: Dan Williams <dan.j.williams-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Cc: linux-acpi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-nvdimm-hn68Rpc1hR1g9hUCZPvPmw@public.gmane.org
Subject: Re: [PATCH 1/2] libnvdimm: move ->module to struct nvdimm_bus_descriptor
Date: Fri, 22 Jul 2016 18:23:25 +0800 [thread overview]
Message-ID: <20160722102325.GH12939@linux-rxt1.site> (raw)
In-Reply-To: <146915794457.7201.5023729229431647060.stgit-p8uTFz9XbKj2zm6wflaqv1nYeNYlB/vhral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
On Thu, Jul 21, 2016 at 08:25:44PM -0700, Dan Williams wrote:
> Let the provider module be explicitly passed in rather than implicitly
> assumed by the module that calls nvdimm_bus_register(). This is in
> preparation for unifying the nfit and nfit_test driver teardown paths.
>
> Signed-off-by: Dan Williams <dan.j.williams-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Reviewed-by: Lee, Chun-Yi <jlee-IBi9RG/b67k@public.gmane.org>
Regards
Joey Lee
> ---
> drivers/acpi/nfit.c | 1 +
> drivers/nvdimm/bus.c | 2 +-
> drivers/nvdimm/core.c | 7 +++----
> drivers/nvdimm/e820.c | 1 +
> drivers/nvdimm/nd-core.h | 1 -
> include/linux/libnvdimm.h | 7 +++----
> tools/testing/nvdimm/test/nfit.c | 1 +
> 7 files changed, 10 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/acpi/nfit.c b/drivers/acpi/nfit.c
> index fb80f32db525..e7eb3b6f1514 100644
> --- a/drivers/acpi/nfit.c
> +++ b/drivers/acpi/nfit.c
> @@ -2417,6 +2417,7 @@ void acpi_nfit_desc_init(struct acpi_nfit_desc *acpi_desc, struct device *dev)
> acpi_desc->blk_do_io = acpi_nfit_blk_region_do_io;
> nd_desc = &acpi_desc->nd_desc;
> nd_desc->provider_name = "ACPI.NFIT";
> + nd_desc->module = THIS_MODULE;
> nd_desc->ndctl = acpi_nfit_ctl;
> nd_desc->flush_probe = acpi_nfit_flush_probe;
> nd_desc->clear_to_send = acpi_nfit_clear_to_send;
> diff --git a/drivers/nvdimm/bus.c b/drivers/nvdimm/bus.c
> index 1cc7880320fe..275dd5c0a301 100644
> --- a/drivers/nvdimm/bus.c
> +++ b/drivers/nvdimm/bus.c
> @@ -73,7 +73,7 @@ static struct module *to_bus_provider(struct device *dev)
> if (is_nd_pmem(dev) || is_nd_blk(dev)) {
> struct nvdimm_bus *nvdimm_bus = walk_to_nvdimm_bus(dev);
>
> - return nvdimm_bus->module;
> + return nvdimm_bus->nd_desc->module;
> }
> return NULL;
> }
> diff --git a/drivers/nvdimm/core.c b/drivers/nvdimm/core.c
> index 757e0cf028bf..e8528756f54f 100644
> --- a/drivers/nvdimm/core.c
> +++ b/drivers/nvdimm/core.c
> @@ -447,8 +447,8 @@ struct attribute_group nvdimm_bus_attribute_group = {
> };
> EXPORT_SYMBOL_GPL(nvdimm_bus_attribute_group);
>
> -struct nvdimm_bus *__nvdimm_bus_register(struct device *parent,
> - struct nvdimm_bus_descriptor *nd_desc, struct module *module)
> +struct nvdimm_bus *nvdimm_bus_register(struct device *parent,
> + struct nvdimm_bus_descriptor *nd_desc)
> {
> struct nvdimm_bus *nvdimm_bus;
> int rc;
> @@ -467,7 +467,6 @@ struct nvdimm_bus *__nvdimm_bus_register(struct device *parent,
> return NULL;
> }
> nvdimm_bus->nd_desc = nd_desc;
> - nvdimm_bus->module = module;
> nvdimm_bus->dev.parent = parent;
> nvdimm_bus->dev.release = nvdimm_bus_release;
> nvdimm_bus->dev.groups = nd_desc->attr_groups;
> @@ -491,7 +490,7 @@ struct nvdimm_bus *__nvdimm_bus_register(struct device *parent,
> put_device(&nvdimm_bus->dev);
> return NULL;
> }
> -EXPORT_SYMBOL_GPL(__nvdimm_bus_register);
> +EXPORT_SYMBOL_GPL(nvdimm_bus_register);
>
> static void set_badblock(struct badblocks *bb, sector_t s, int num)
> {
> diff --git a/drivers/nvdimm/e820.c b/drivers/nvdimm/e820.c
> index 95825b38559a..11ea90120542 100644
> --- a/drivers/nvdimm/e820.c
> +++ b/drivers/nvdimm/e820.c
> @@ -47,6 +47,7 @@ static int e820_pmem_probe(struct platform_device *pdev)
>
> nd_desc.attr_groups = e820_pmem_attribute_groups;
> nd_desc.provider_name = "e820";
> + nd_desc.module = THIS_MODULE;
> nvdimm_bus = nvdimm_bus_register(dev, &nd_desc);
> if (!nvdimm_bus)
> goto err;
> diff --git a/drivers/nvdimm/nd-core.h b/drivers/nvdimm/nd-core.h
> index 6e961f7f43e7..38ce6bbbc170 100644
> --- a/drivers/nvdimm/nd-core.h
> +++ b/drivers/nvdimm/nd-core.h
> @@ -26,7 +26,6 @@ extern int nvdimm_major;
> struct nvdimm_bus {
> struct nvdimm_bus_descriptor *nd_desc;
> wait_queue_head_t probe_wait;
> - struct module *module;
> struct list_head list;
> struct device dev;
> int id, probe_active;
> diff --git a/include/linux/libnvdimm.h b/include/linux/libnvdimm.h
> index d37fda6dd64c..2ab869dece4a 100644
> --- a/include/linux/libnvdimm.h
> +++ b/include/linux/libnvdimm.h
> @@ -70,6 +70,7 @@ struct nd_mapping {
> struct nvdimm_bus_descriptor {
> const struct attribute_group **attr_groups;
> unsigned long cmd_mask;
> + struct module *module;
> char *provider_name;
> ndctl_fn ndctl;
> int (*flush_probe)(struct nvdimm_bus_descriptor *nd_desc);
> @@ -128,10 +129,8 @@ static inline struct nd_blk_region_desc *to_blk_region_desc(
> }
>
> int nvdimm_bus_add_poison(struct nvdimm_bus *nvdimm_bus, u64 addr, u64 length);
> -struct nvdimm_bus *__nvdimm_bus_register(struct device *parent,
> - struct nvdimm_bus_descriptor *nfit_desc, struct module *module);
> -#define nvdimm_bus_register(parent, desc) \
> - __nvdimm_bus_register(parent, desc, THIS_MODULE)
> +struct nvdimm_bus *nvdimm_bus_register(struct device *parent,
> + struct nvdimm_bus_descriptor *nfit_desc);
> void nvdimm_bus_unregister(struct nvdimm_bus *nvdimm_bus);
> struct nvdimm_bus *to_nvdimm_bus(struct device *dev);
> struct nvdimm *to_nvdimm(struct device *dev);
> diff --git a/tools/testing/nvdimm/test/nfit.c b/tools/testing/nvdimm/test/nfit.c
> index 78cba1e3b1da..642713f15723 100644
> --- a/tools/testing/nvdimm/test/nfit.c
> +++ b/tools/testing/nvdimm/test/nfit.c
> @@ -1463,6 +1463,7 @@ static int nfit_test_probe(struct platform_device *pdev)
> acpi_desc->blk_do_io = nfit_test_blk_do_io;
> nd_desc = &acpi_desc->nd_desc;
> nd_desc->provider_name = NULL;
> + nd_desc->module = THIS_MODULE;
> nd_desc->ndctl = nfit_test_ctl;
> acpi_desc->nvdimm_bus = nvdimm_bus_register(&pdev->dev, nd_desc);
> if (!acpi_desc->nvdimm_bus)
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
> the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
WARNING: multiple messages have this Message-ID (diff)
From: joeyli <jlee@suse.com>
To: Dan Williams <dan.j.williams@intel.com>
Cc: linux-acpi@vger.kernel.org, linux-nvdimm@lists.01.org
Subject: Re: [PATCH 1/2] libnvdimm: move ->module to struct nvdimm_bus_descriptor
Date: Fri, 22 Jul 2016 18:23:25 +0800 [thread overview]
Message-ID: <20160722102325.GH12939@linux-rxt1.site> (raw)
In-Reply-To: <146915794457.7201.5023729229431647060.stgit@dwillia2-desk3.amr.corp.intel.com>
On Thu, Jul 21, 2016 at 08:25:44PM -0700, Dan Williams wrote:
> Let the provider module be explicitly passed in rather than implicitly
> assumed by the module that calls nvdimm_bus_register(). This is in
> preparation for unifying the nfit and nfit_test driver teardown paths.
>
> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Reviewed-by: Lee, Chun-Yi <jlee@suse.com>
Regards
Joey Lee
> ---
> drivers/acpi/nfit.c | 1 +
> drivers/nvdimm/bus.c | 2 +-
> drivers/nvdimm/core.c | 7 +++----
> drivers/nvdimm/e820.c | 1 +
> drivers/nvdimm/nd-core.h | 1 -
> include/linux/libnvdimm.h | 7 +++----
> tools/testing/nvdimm/test/nfit.c | 1 +
> 7 files changed, 10 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/acpi/nfit.c b/drivers/acpi/nfit.c
> index fb80f32db525..e7eb3b6f1514 100644
> --- a/drivers/acpi/nfit.c
> +++ b/drivers/acpi/nfit.c
> @@ -2417,6 +2417,7 @@ void acpi_nfit_desc_init(struct acpi_nfit_desc *acpi_desc, struct device *dev)
> acpi_desc->blk_do_io = acpi_nfit_blk_region_do_io;
> nd_desc = &acpi_desc->nd_desc;
> nd_desc->provider_name = "ACPI.NFIT";
> + nd_desc->module = THIS_MODULE;
> nd_desc->ndctl = acpi_nfit_ctl;
> nd_desc->flush_probe = acpi_nfit_flush_probe;
> nd_desc->clear_to_send = acpi_nfit_clear_to_send;
> diff --git a/drivers/nvdimm/bus.c b/drivers/nvdimm/bus.c
> index 1cc7880320fe..275dd5c0a301 100644
> --- a/drivers/nvdimm/bus.c
> +++ b/drivers/nvdimm/bus.c
> @@ -73,7 +73,7 @@ static struct module *to_bus_provider(struct device *dev)
> if (is_nd_pmem(dev) || is_nd_blk(dev)) {
> struct nvdimm_bus *nvdimm_bus = walk_to_nvdimm_bus(dev);
>
> - return nvdimm_bus->module;
> + return nvdimm_bus->nd_desc->module;
> }
> return NULL;
> }
> diff --git a/drivers/nvdimm/core.c b/drivers/nvdimm/core.c
> index 757e0cf028bf..e8528756f54f 100644
> --- a/drivers/nvdimm/core.c
> +++ b/drivers/nvdimm/core.c
> @@ -447,8 +447,8 @@ struct attribute_group nvdimm_bus_attribute_group = {
> };
> EXPORT_SYMBOL_GPL(nvdimm_bus_attribute_group);
>
> -struct nvdimm_bus *__nvdimm_bus_register(struct device *parent,
> - struct nvdimm_bus_descriptor *nd_desc, struct module *module)
> +struct nvdimm_bus *nvdimm_bus_register(struct device *parent,
> + struct nvdimm_bus_descriptor *nd_desc)
> {
> struct nvdimm_bus *nvdimm_bus;
> int rc;
> @@ -467,7 +467,6 @@ struct nvdimm_bus *__nvdimm_bus_register(struct device *parent,
> return NULL;
> }
> nvdimm_bus->nd_desc = nd_desc;
> - nvdimm_bus->module = module;
> nvdimm_bus->dev.parent = parent;
> nvdimm_bus->dev.release = nvdimm_bus_release;
> nvdimm_bus->dev.groups = nd_desc->attr_groups;
> @@ -491,7 +490,7 @@ struct nvdimm_bus *__nvdimm_bus_register(struct device *parent,
> put_device(&nvdimm_bus->dev);
> return NULL;
> }
> -EXPORT_SYMBOL_GPL(__nvdimm_bus_register);
> +EXPORT_SYMBOL_GPL(nvdimm_bus_register);
>
> static void set_badblock(struct badblocks *bb, sector_t s, int num)
> {
> diff --git a/drivers/nvdimm/e820.c b/drivers/nvdimm/e820.c
> index 95825b38559a..11ea90120542 100644
> --- a/drivers/nvdimm/e820.c
> +++ b/drivers/nvdimm/e820.c
> @@ -47,6 +47,7 @@ static int e820_pmem_probe(struct platform_device *pdev)
>
> nd_desc.attr_groups = e820_pmem_attribute_groups;
> nd_desc.provider_name = "e820";
> + nd_desc.module = THIS_MODULE;
> nvdimm_bus = nvdimm_bus_register(dev, &nd_desc);
> if (!nvdimm_bus)
> goto err;
> diff --git a/drivers/nvdimm/nd-core.h b/drivers/nvdimm/nd-core.h
> index 6e961f7f43e7..38ce6bbbc170 100644
> --- a/drivers/nvdimm/nd-core.h
> +++ b/drivers/nvdimm/nd-core.h
> @@ -26,7 +26,6 @@ extern int nvdimm_major;
> struct nvdimm_bus {
> struct nvdimm_bus_descriptor *nd_desc;
> wait_queue_head_t probe_wait;
> - struct module *module;
> struct list_head list;
> struct device dev;
> int id, probe_active;
> diff --git a/include/linux/libnvdimm.h b/include/linux/libnvdimm.h
> index d37fda6dd64c..2ab869dece4a 100644
> --- a/include/linux/libnvdimm.h
> +++ b/include/linux/libnvdimm.h
> @@ -70,6 +70,7 @@ struct nd_mapping {
> struct nvdimm_bus_descriptor {
> const struct attribute_group **attr_groups;
> unsigned long cmd_mask;
> + struct module *module;
> char *provider_name;
> ndctl_fn ndctl;
> int (*flush_probe)(struct nvdimm_bus_descriptor *nd_desc);
> @@ -128,10 +129,8 @@ static inline struct nd_blk_region_desc *to_blk_region_desc(
> }
>
> int nvdimm_bus_add_poison(struct nvdimm_bus *nvdimm_bus, u64 addr, u64 length);
> -struct nvdimm_bus *__nvdimm_bus_register(struct device *parent,
> - struct nvdimm_bus_descriptor *nfit_desc, struct module *module);
> -#define nvdimm_bus_register(parent, desc) \
> - __nvdimm_bus_register(parent, desc, THIS_MODULE)
> +struct nvdimm_bus *nvdimm_bus_register(struct device *parent,
> + struct nvdimm_bus_descriptor *nfit_desc);
> void nvdimm_bus_unregister(struct nvdimm_bus *nvdimm_bus);
> struct nvdimm_bus *to_nvdimm_bus(struct device *dev);
> struct nvdimm *to_nvdimm(struct device *dev);
> diff --git a/tools/testing/nvdimm/test/nfit.c b/tools/testing/nvdimm/test/nfit.c
> index 78cba1e3b1da..642713f15723 100644
> --- a/tools/testing/nvdimm/test/nfit.c
> +++ b/tools/testing/nvdimm/test/nfit.c
> @@ -1463,6 +1463,7 @@ static int nfit_test_probe(struct platform_device *pdev)
> acpi_desc->blk_do_io = nfit_test_blk_do_io;
> nd_desc = &acpi_desc->nd_desc;
> nd_desc->provider_name = NULL;
> + nd_desc->module = THIS_MODULE;
> nd_desc->ndctl = nfit_test_ctl;
> acpi_desc->nvdimm_bus = nvdimm_bus_register(&pdev->dev, nd_desc);
> if (!acpi_desc->nvdimm_bus)
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
_______________________________________________
Linux-nvdimm mailing list
Linux-nvdimm@lists.01.org
https://lists.01.org/mailman/listinfo/linux-nvdimm
next prev parent reply other threads:[~2016-07-22 10:23 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-07-22 3:25 [PATCH 1/2] libnvdimm: move ->module to struct nvdimm_bus_descriptor Dan Williams
2016-07-22 3:25 ` Dan Williams
2016-07-22 3:25 ` [PATCH 2/2] nfit, tools/testing/nvdimm/: unify shutdown paths Dan Williams
2016-07-22 3:25 ` Dan Williams
2016-07-22 12:41 ` joeyli
2016-07-22 12:41 ` joeyli
[not found] ` <146915794457.7201.5023729229431647060.stgit-p8uTFz9XbKj2zm6wflaqv1nYeNYlB/vhral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2016-07-22 10:23 ` joeyli [this message]
2016-07-22 10:23 ` [PATCH 1/2] libnvdimm: move ->module to struct nvdimm_bus_descriptor joeyli
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=20160722102325.GH12939@linux-rxt1.site \
--to=jlee-ibi9rg/b67k@public.gmane.org \
--cc=dan.j.williams-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
--cc=linux-acpi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-nvdimm-hn68Rpc1hR1g9hUCZPvPmw@public.gmane.org \
/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.