summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-imx/iim.c
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2014-05-16 09:39:35 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2014-06-04 20:57:27 +0200
commiteec34f2a0820c8e478a357c018a45297f30b702e (patch)
treec9b744363cfff8320ae71f73dfc5a77e8563bc6a /arch/arm/mach-imx/iim.c
parentfd56e95b1872eb4a40d86710f1bbf0498330262d (diff)
downloadbarebox-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.c12
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;