diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2014-05-16 09:39:35 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2014-06-04 20:57:27 +0200 |
commit | eec34f2a0820c8e478a357c018a45297f30b702e (patch) | |
tree | c9b744363cfff8320ae71f73dfc5a77e8563bc6a /arch/arm/mach-imx/iim.c | |
parent | fd56e95b1872eb4a40d86710f1bbf0498330262d (diff) | |
download | barebox-eec34f2a0820c8e478a357c018a45297f30b702e.tar.gz barebox-eec34f2a0820c8e478a357c018a45297f30b702e.tar.xz |
ARM: i.MX: iim: register iim device
With devicetree devicenames start with numbers. Parameters on these
devices are not accessible since variables can't start with numbers.
Register a logical 'iim' device which makes the permanent_write_enable
and explicit_sense_enable parameters accessible again.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/arm/mach-imx/iim.c')
-rw-r--r-- | arch/arm/mach-imx/iim.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/arch/arm/mach-imx/iim.c b/arch/arm/mach-imx/iim.c index 98fd0311c3..01cb97e400 100644 --- a/arch/arm/mach-imx/iim.c +++ b/arch/arm/mach-imx/iim.c @@ -46,6 +46,7 @@ struct iim_bank { struct iim_priv { struct cdev cdev; + struct device_d dev; void __iomem *base; void __iomem *bankbase; struct iim_bank *bank[IIM_NUM_BANKS]; @@ -288,6 +289,13 @@ static int imx_iim_probe(struct device_d *dev) iim = xzalloc(sizeof(*iim)); + strcpy(iim->dev.name, "iim"); + iim->dev.parent = dev; + iim->dev.id = DEVICE_ID_SINGLE; + ret = register_device(&iim->dev); + if (ret) + return ret; + iim->base = dev_request_mem_region(dev, 0); if (!iim->base) return -EBUSY; @@ -301,10 +309,10 @@ static int imx_iim_probe(struct device_d *dev) imx_iim_init_dt(dev, iim); if (IS_ENABLED(CONFIG_IMX_IIM_FUSE_BLOW)) - dev_add_param_bool(dev, "permanent_write_enable", + dev_add_param_bool(&iim->dev, "permanent_write_enable", NULL, NULL, &iim_write_enable, NULL); - dev_add_param_bool(dev, "explicit_sense_enable", + dev_add_param_bool(&iim->dev, "explicit_sense_enable", NULL, NULL, &iim_sense_enable, NULL); return 0; |