Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

drm/sti: move to devm_platform_ioremap_resource() usage

Replace platform_get_resource/_byname + devm_ioremap
with just devm_platform_ioremap_resource()

Used Coccinelle to do this change. SmPl patch:

@rule@
identifier res;
expression ioremap;
identifier pdev;
constant mem;
expression name;
@@
-struct resource *res;
...
-res = platform_get_resource_byname(pdev,mem,name);
<...
-if (!res) {
-...
-}
...>
-ioremap = devm_ioremap(...);
+ioremap = devm_platform_ioremap_resource_byname(pdev,name);

and
@rule_2@
identifier res;
expression ioremap;
identifier pdev;
@@
-struct resource *res;
...
-res = platform_get_resource(pdev,...);
<...
-if (!res) {
-...
-}
...>
-ioremap = devm_ioremap(...);
+ioremap = devm_platform_ioremap_resource(pdev,0);

v2: Fix compilation error.
v3: Handle returns properly since the new API return error pointers
and not NULL

Cc: Raphael Gallais-Pou <raphael.gallais-pou@foss.st.com>
Cc: Alain Volmat <alain.volmat@foss.st.com>
Reviewed-by: Maxime Ripard <mripard@kernel.org>(v2)
Acked-by: Raphael Gallais-Pou <rgallaispou@gmail.com>(v2)
Signed-off-by: Anusha Srivatsa <asrivats@redhat.com>
Link: https://patchwork.freedesktop.org/patch/640854/?series=144073&rev=5

authored by

Anusha Srivatsa and committed by
Anusha Srivatsa
67c4ea82 92b8f062

+21 -77
+3 -11
drivers/gpu/drm/sti/sti_compositor.c
··· 177 177 struct device_node *np = dev->of_node; 178 178 struct device_node *vtg_np; 179 179 struct sti_compositor *compo; 180 - struct resource *res; 181 180 unsigned int i; 182 181 183 182 compo = devm_kzalloc(dev, sizeof(*compo), GFP_KERNEL); ··· 193 194 194 195 memcpy(&compo->data, of_match_node(compositor_of_match, np)->data, 195 196 sizeof(struct sti_compositor_data)); 196 - 197 - /* Get Memory ressources */ 198 - res = platform_get_resource(pdev, IORESOURCE_MEM, 0); 199 - if (res == NULL) { 200 - DRM_ERROR("Get memory resource failed\n"); 201 - return -ENXIO; 202 - } 203 - compo->regs = devm_ioremap(dev, res->start, resource_size(res)); 204 - if (compo->regs == NULL) { 197 + compo->regs = devm_platform_ioremap_resource(pdev, 0); 198 + if (IS_ERR(compo->regs)) { 205 199 DRM_ERROR("Register mapping failed\n"); 206 - return -ENXIO; 200 + return PTR_ERR(compo->regs); 207 201 } 208 202 209 203 /* Get clock resources */
+3 -11
drivers/gpu/drm/sti/sti_dvo.c
··· 511 511 { 512 512 struct device *dev = &pdev->dev; 513 513 struct sti_dvo *dvo; 514 - struct resource *res; 515 514 struct device_node *np = dev->of_node; 516 515 517 516 DRM_INFO("%s\n", __func__); ··· 522 523 } 523 524 524 525 dvo->dev = pdev->dev; 525 - 526 - res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "dvo-reg"); 527 - if (!res) { 528 - DRM_ERROR("Invalid dvo resource\n"); 529 - return -ENOMEM; 530 - } 531 - dvo->regs = devm_ioremap(dev, res->start, 532 - resource_size(res)); 533 - if (!dvo->regs) 534 - return -ENOMEM; 526 + dvo->regs = devm_platform_ioremap_resource_byname(pdev, "dvo-reg"); 527 + if (IS_ERR(dvo->regs)) 528 + return PTR_ERR(dvo->regs); 535 529 536 530 dvo->clk_pix = devm_clk_get(dev, "dvo_pix"); 537 531 if (IS_ERR(dvo->clk_pix)) {
+3 -10
drivers/gpu/drm/sti/sti_hda.c
··· 750 750 return -ENOMEM; 751 751 752 752 hda->dev = pdev->dev; 753 - 754 - /* Get resources */ 755 - res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "hda-reg"); 756 - if (!res) { 757 - DRM_ERROR("Invalid hda resource\n"); 758 - return -ENOMEM; 759 - } 760 - hda->regs = devm_ioremap(dev, res->start, resource_size(res)); 761 - if (!hda->regs) 762 - return -ENOMEM; 753 + hda->regs = devm_platform_ioremap_resource_byname(pdev, "hda-reg"); 754 + if (IS_ERR(hda->regs)) 755 + return PTR_ERR(hda->regs); 763 756 764 757 res = platform_get_resource_byname(pdev, IORESOURCE_MEM, 765 758 "video-dacs-ctrl");
+3 -12
drivers/gpu/drm/sti/sti_hdmi.c
··· 1380 1380 struct device *dev = &pdev->dev; 1381 1381 struct sti_hdmi *hdmi; 1382 1382 struct device_node *np = dev->of_node; 1383 - struct resource *res; 1384 1383 struct device_node *ddc; 1385 1384 int ret; 1386 1385 ··· 1398 1399 } 1399 1400 1400 1401 hdmi->dev = pdev->dev; 1401 - 1402 - /* Get resources */ 1403 - res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "hdmi-reg"); 1404 - if (!res) { 1405 - DRM_ERROR("Invalid hdmi resource\n"); 1406 - ret = -ENOMEM; 1407 - goto release_adapter; 1408 - } 1409 - hdmi->regs = devm_ioremap(dev, res->start, resource_size(res)); 1410 - if (!hdmi->regs) { 1411 - ret = -ENOMEM; 1402 + hdmi->regs = devm_platform_ioremap_resource_byname(pdev, "hdmi-reg"); 1403 + if (IS_ERR(hdmi->regs)) { 1404 + ret = PTR_ERR(hdmi->regs); 1412 1405 goto release_adapter; 1413 1406 } 1414 1407
+3 -11
drivers/gpu/drm/sti/sti_hqvdp.c
··· 1356 1356 struct device *dev = &pdev->dev; 1357 1357 struct device_node *vtg_np; 1358 1358 struct sti_hqvdp *hqvdp; 1359 - struct resource *res; 1360 1359 1361 1360 DRM_DEBUG_DRIVER("\n"); 1362 1361 ··· 1366 1367 } 1367 1368 1368 1369 hqvdp->dev = dev; 1369 - 1370 - /* Get Memory resources */ 1371 - res = platform_get_resource(pdev, IORESOURCE_MEM, 0); 1372 - if (!res) { 1373 - DRM_ERROR("Get memory resource failed\n"); 1374 - return -ENXIO; 1375 - } 1376 - hqvdp->regs = devm_ioremap(dev, res->start, resource_size(res)); 1377 - if (!hqvdp->regs) { 1370 + hqvdp->regs = devm_platform_ioremap_resource(pdev, 0); 1371 + if (IS_ERR(hqvdp->regs)) { 1378 1372 DRM_ERROR("Register mapping failed\n"); 1379 - return -ENXIO; 1373 + return PTR_ERR(hqvdp->regs); 1380 1374 } 1381 1375 1382 1376 /* Get clock resources */
+3 -11
drivers/gpu/drm/sti/sti_tvout.c
··· 838 838 struct device *dev = &pdev->dev; 839 839 struct device_node *node = dev->of_node; 840 840 struct sti_tvout *tvout; 841 - struct resource *res; 842 841 843 842 DRM_INFO("%s\n", __func__); 844 843 ··· 849 850 return -ENOMEM; 850 851 851 852 tvout->dev = dev; 852 - 853 - /* get memory resources */ 854 - res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "tvout-reg"); 855 - if (!res) { 856 - DRM_ERROR("Invalid glue resource\n"); 857 - return -ENOMEM; 858 - } 859 - tvout->regs = devm_ioremap(dev, res->start, resource_size(res)); 860 - if (!tvout->regs) 861 - return -ENOMEM; 853 + tvout->regs = devm_platform_ioremap_resource_byname(pdev, "tvout-reg"); 854 + if (IS_ERR(tvout->regs)) 855 + return PTR_ERR(tvout->regs); 862 856 863 857 /* get reset resources */ 864 858 tvout->reset = devm_reset_control_get(dev, "tvout");
+3 -11
drivers/gpu/drm/sti/sti_vtg.c
··· 380 380 { 381 381 struct device *dev = &pdev->dev; 382 382 struct sti_vtg *vtg; 383 - struct resource *res; 384 383 int ret; 385 384 386 385 vtg = devm_kzalloc(dev, sizeof(*vtg), GFP_KERNEL); 387 386 if (!vtg) 388 387 return -ENOMEM; 389 - 390 - /* Get Memory ressources */ 391 - res = platform_get_resource(pdev, IORESOURCE_MEM, 0); 392 - if (!res) { 393 - DRM_ERROR("Get memory resource failed\n"); 394 - return -ENOMEM; 395 - } 396 - vtg->regs = devm_ioremap(dev, res->start, resource_size(res)); 397 - if (!vtg->regs) { 388 + vtg->regs = devm_platform_ioremap_resource(pdev, 0); 389 + if (IS_ERR(vtg->regs)) { 398 390 DRM_ERROR("failed to remap I/O memory\n"); 399 - return -ENOMEM; 391 + return PTR_ERR(vtg->regs); 400 392 } 401 393 402 394 vtg->irq = platform_get_irq(pdev, 0);