diff options
Diffstat (limited to 'drivers/gpu/drm/omapdrm/dss/dsi.c')
-rw-r--r-- | drivers/gpu/drm/omapdrm/dss/dsi.c | 35 |
1 files changed, 18 insertions, 17 deletions
diff --git a/drivers/gpu/drm/omapdrm/dss/dsi.c b/drivers/gpu/drm/omapdrm/dss/dsi.c index cb250dbf0f9b..62131d7593a7 100644 --- a/drivers/gpu/drm/omapdrm/dss/dsi.c +++ b/drivers/gpu/drm/omapdrm/dss/dsi.c | |||
@@ -5299,9 +5299,10 @@ static const struct soc_device_attribute dsi_soc_devices[] = { | |||
5299 | { .machine = "AM35*", .data = &dsi_of_data_omap34xx }, | 5299 | { .machine = "AM35*", .data = &dsi_of_data_omap34xx }, |
5300 | { /* sentinel */ } | 5300 | { /* sentinel */ } |
5301 | }; | 5301 | }; |
5302 | |||
5302 | static int dsi_bind(struct device *dev, struct device *master, void *data) | 5303 | static int dsi_bind(struct device *dev, struct device *master, void *data) |
5303 | { | 5304 | { |
5304 | struct platform_device *dsidev = to_platform_device(dev); | 5305 | struct platform_device *pdev = to_platform_device(dev); |
5305 | struct dss_device *dss = dss_get_device(master); | 5306 | struct dss_device *dss = dss_get_device(master); |
5306 | const struct soc_device_attribute *soc; | 5307 | const struct soc_device_attribute *soc; |
5307 | const struct dsi_module_id_data *d; | 5308 | const struct dsi_module_id_data *d; |
@@ -5311,13 +5312,13 @@ static int dsi_bind(struct device *dev, struct device *master, void *data) | |||
5311 | struct resource *dsi_mem; | 5312 | struct resource *dsi_mem; |
5312 | struct resource *res; | 5313 | struct resource *res; |
5313 | 5314 | ||
5314 | dsi = devm_kzalloc(&dsidev->dev, sizeof(*dsi), GFP_KERNEL); | 5315 | dsi = devm_kzalloc(dev, sizeof(*dsi), GFP_KERNEL); |
5315 | if (!dsi) | 5316 | if (!dsi) |
5316 | return -ENOMEM; | 5317 | return -ENOMEM; |
5317 | 5318 | ||
5318 | dsi->dss = dss; | 5319 | dsi->dss = dss; |
5319 | dsi->pdev = dsidev; | 5320 | dsi->pdev = pdev; |
5320 | dev_set_drvdata(&dsidev->dev, dsi); | 5321 | dev_set_drvdata(dev, dsi); |
5321 | 5322 | ||
5322 | spin_lock_init(&dsi->irq_lock); | 5323 | spin_lock_init(&dsi->irq_lock); |
5323 | spin_lock_init(&dsi->errors_lock); | 5324 | spin_lock_init(&dsi->errors_lock); |
@@ -5338,29 +5339,29 @@ static int dsi_bind(struct device *dev, struct device *master, void *data) | |||
5338 | timer_setup(&dsi->te_timer, dsi_te_timeout, 0); | 5339 | timer_setup(&dsi->te_timer, dsi_te_timeout, 0); |
5339 | #endif | 5340 | #endif |
5340 | 5341 | ||
5341 | dsi_mem = platform_get_resource_byname(dsidev, IORESOURCE_MEM, "proto"); | 5342 | dsi_mem = platform_get_resource_byname(pdev, IORESOURCE_MEM, "proto"); |
5342 | dsi->proto_base = devm_ioremap_resource(&dsidev->dev, dsi_mem); | 5343 | dsi->proto_base = devm_ioremap_resource(dev, dsi_mem); |
5343 | if (IS_ERR(dsi->proto_base)) | 5344 | if (IS_ERR(dsi->proto_base)) |
5344 | return PTR_ERR(dsi->proto_base); | 5345 | return PTR_ERR(dsi->proto_base); |
5345 | 5346 | ||
5346 | res = platform_get_resource_byname(dsidev, IORESOURCE_MEM, "phy"); | 5347 | res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "phy"); |
5347 | dsi->phy_base = devm_ioremap_resource(&dsidev->dev, res); | 5348 | dsi->phy_base = devm_ioremap_resource(dev, res); |
5348 | if (IS_ERR(dsi->phy_base)) | 5349 | if (IS_ERR(dsi->phy_base)) |
5349 | return PTR_ERR(dsi->phy_base); | 5350 | return PTR_ERR(dsi->phy_base); |
5350 | 5351 | ||
5351 | res = platform_get_resource_byname(dsidev, IORESOURCE_MEM, "pll"); | 5352 | res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "pll"); |
5352 | dsi->pll_base = devm_ioremap_resource(&dsidev->dev, res); | 5353 | dsi->pll_base = devm_ioremap_resource(dev, res); |
5353 | if (IS_ERR(dsi->pll_base)) | 5354 | if (IS_ERR(dsi->pll_base)) |
5354 | return PTR_ERR(dsi->pll_base); | 5355 | return PTR_ERR(dsi->pll_base); |
5355 | 5356 | ||
5356 | dsi->irq = platform_get_irq(dsi->pdev, 0); | 5357 | dsi->irq = platform_get_irq(pdev, 0); |
5357 | if (dsi->irq < 0) { | 5358 | if (dsi->irq < 0) { |
5358 | DSSERR("platform_get_irq failed\n"); | 5359 | DSSERR("platform_get_irq failed\n"); |
5359 | return -ENODEV; | 5360 | return -ENODEV; |
5360 | } | 5361 | } |
5361 | 5362 | ||
5362 | r = devm_request_irq(&dsidev->dev, dsi->irq, omap_dsi_irq_handler, | 5363 | r = devm_request_irq(dev, dsi->irq, omap_dsi_irq_handler, |
5363 | IRQF_SHARED, dev_name(&dsidev->dev), dsi); | 5364 | IRQF_SHARED, dev_name(dev), dsi); |
5364 | if (r < 0) { | 5365 | if (r < 0) { |
5365 | DSSERR("request_irq failed\n"); | 5366 | DSSERR("request_irq failed\n"); |
5366 | return r; | 5367 | return r; |
@@ -5414,14 +5415,14 @@ static int dsi_bind(struct device *dev, struct device *master, void *data) | |||
5414 | 5415 | ||
5415 | dsi_init_pll_data(dss, dsi); | 5416 | dsi_init_pll_data(dss, dsi); |
5416 | 5417 | ||
5417 | pm_runtime_enable(&dsidev->dev); | 5418 | pm_runtime_enable(dev); |
5418 | 5419 | ||
5419 | r = dsi_runtime_get(dsi); | 5420 | r = dsi_runtime_get(dsi); |
5420 | if (r) | 5421 | if (r) |
5421 | goto err_runtime_get; | 5422 | goto err_runtime_get; |
5422 | 5423 | ||
5423 | rev = dsi_read_reg(dsi, DSI_REVISION); | 5424 | rev = dsi_read_reg(dsi, DSI_REVISION); |
5424 | dev_dbg(&dsidev->dev, "OMAP DSI rev %d.%d\n", | 5425 | dev_dbg(dev, "OMAP DSI rev %d.%d\n", |
5425 | FLD_GET(rev, 7, 4), FLD_GET(rev, 3, 0)); | 5426 | FLD_GET(rev, 7, 4), FLD_GET(rev, 3, 0)); |
5426 | 5427 | ||
5427 | /* DSI on OMAP3 doesn't have register DSI_GNQ, set number | 5428 | /* DSI on OMAP3 doesn't have register DSI_GNQ, set number |
@@ -5442,7 +5443,7 @@ static int dsi_bind(struct device *dev, struct device *master, void *data) | |||
5442 | goto err_probe_of; | 5443 | goto err_probe_of; |
5443 | } | 5444 | } |
5444 | 5445 | ||
5445 | r = of_platform_populate(dsidev->dev.of_node, NULL, NULL, &dsidev->dev); | 5446 | r = of_platform_populate(dev->of_node, NULL, NULL, dev); |
5446 | if (r) | 5447 | if (r) |
5447 | DSSERR("Failed to populate DSI child devices: %d\n", r); | 5448 | DSSERR("Failed to populate DSI child devices: %d\n", r); |
5448 | 5449 | ||
@@ -5474,7 +5475,7 @@ err_probe_of: | |||
5474 | dsi_runtime_put(dsi); | 5475 | dsi_runtime_put(dsi); |
5475 | 5476 | ||
5476 | err_runtime_get: | 5477 | err_runtime_get: |
5477 | pm_runtime_disable(&dsidev->dev); | 5478 | pm_runtime_disable(dev); |
5478 | return r; | 5479 | return r; |
5479 | } | 5480 | } |
5480 | 5481 | ||