lkml.org 
[lkml]   [2014]   [Feb]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v2 1/2] mfd: syscon: Add platform data with a regmap config name
    Date
    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

    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
    --
    1.8.3.2


    \
     
     \ /
      Last update: 2014-02-11 19:41    [W:4.534 / U:0.368 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site