On Thursday 04 August 2016 15:28:18, Ksenija Stanojevic wrote:
Add core files for mxs-lradc MFD driver.
Note: this patch won't compile in iio/testing without this patch:
a8f447be8056 ("mfd: Add resource managed APIs for mfd_add_devices")
Signed-off-by: Ksenija Stanojevic <ksenija.stanojevic@gmail.com>
---
[...]
+static int mxs_lradc_probe(struct platform_device *pdev)
+{
+ const struct of_device_id *of_id;
+ struct device *dev = &pdev->dev;
+ struct device_node *node = dev->of_node;
+ struct mxs_lradc *lradc;
+ struct resource *iores;
+ struct mfd_cell *cells = NULL;
+ int ret = 0;
+ u32 ts_wires = 0;
+
+ lradc = devm_kzalloc(&pdev->dev, sizeof(*lradc), GFP_KERNEL);
+ if (!lradc)
+ return -ENOMEM;
+
+ of_id = of_match_device(mxs_lradc_dt_ids, &pdev->dev);
+ lradc->soc = (enum mxs_lradc_id)of_id->data;
+
+ iores = platform_get_resource(pdev, IORESOURCE_MEM, 0);
+ lradc->base = devm_ioremap_resource(dev, iores);
Out of couriosity: Is it common to pass already ioremapped addresses to (MFD
cell) platform drivers? I would have expected, and done myself, that ioremap
is done in the driver itself, same as the IRQ.
Best regards,
Alexander