Message ID | 1392141165-14338-1-git-send-email-pawel.moll@arm.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
> Define syscon platform data structure that can be used > to define a regmap config name. This is particularly useful > in the regmap debugfs when there is more than one syscon > device registered, to distinguish the register blocks. > > Signed-off-by: Pawel Moll <pawel.moll@arm.com> > --- > drivers/mfd/syscon.c | 4 ++++ > include/linux/platform_data/syscon.h | 8 ++++++++ > 2 files changed, 12 insertions(+) > create mode 100644 include/linux/platform_data/syscon.h <snip> > +#ifndef PLATFORM_DATA_SYSCON_H > +#define PLATFORM_DATA_SYSCON_H > + > +struct syscon_platform_data { > + const char *label; > +}; Provided you fix this up: Acked-by: Lee Jones <lee.jones@linaro.org>
diff --git a/drivers/mfd/syscon.c b/drivers/mfd/syscon.c index 71841f9..854b8d9 100644 --- a/drivers/mfd/syscon.c +++ b/drivers/mfd/syscon.c @@ -18,6 +18,7 @@ #include <linux/of.h> #include <linux/of_address.h> #include <linux/of_platform.h> +#include <linux/platform_data/syscon.h> #include <linux/platform_device.h> #include <linux/regmap.h> #include <linux/mfd/syscon.h> @@ -126,6 +127,7 @@ static struct regmap_config syscon_regmap_config = { static int syscon_probe(struct platform_device *pdev) { struct device *dev = &pdev->dev; + struct syscon_platform_data *pdata = dev_get_platdata(dev); struct syscon *syscon; struct resource *res; void __iomem *base; @@ -143,6 +145,8 @@ static int syscon_probe(struct platform_device *pdev) return -ENOMEM; syscon_regmap_config.max_register = res->end - res->start - 3; + if (pdata) + syscon_regmap_config.name = pdata->label; syscon->regmap = devm_regmap_init_mmio(dev, base, &syscon_regmap_config); if (IS_ERR(syscon->regmap)) { diff --git a/include/linux/platform_data/syscon.h b/include/linux/platform_data/syscon.h new file mode 100644 index 0000000..921e59a --- /dev/null +++ b/include/linux/platform_data/syscon.h @@ -0,0 +1,8 @@ +#ifndef PLATFORM_DATA_SYSCON_H +#define PLATFORM_DATA_SYSCON_H + +struct syscon_platform_data { + const char *label; +}; + +#endif
Define syscon platform data structure that can be used to define a regmap config name. This is particularly useful in the regmap debugfs when there is more than one syscon device registered, to distinguish the register blocks. Signed-off-by: Pawel Moll <pawel.moll@arm.com> --- drivers/mfd/syscon.c | 4 ++++ include/linux/platform_data/syscon.h | 8 ++++++++ 2 files changed, 12 insertions(+) create mode 100644 include/linux/platform_data/syscon.h