Re: [PATCH 6/7] drm: Replace drm_dev_unref with drm_dev_put

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



2018-06-09 15:18 GMT+02:00 Thomas Zimmermann <tdz@xxxxxxxxxxxxxxxxxxxxx>:
> This patch unifies the naming of DRM functions for reference counting
> of struct drm_device. The resulting code is more aligned with the rest
> of the Linux kernel interfaces.
>
> The patch also deletes the old function and removes it from the
> Coccinelle script.
>
> Signed-off-by: Thomas Zimmermann <tdz@xxxxxxxxxxxxxxxxxxxxx>
> ---
>  drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c            |  4 ++--
>  drivers/gpu/drm/arc/arcpgu_drv.c                   |  8 ++++----
>  drivers/gpu/drm/armada/armada_drv.c                |  6 +++---
>  drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c       |  8 ++++----
>  drivers/gpu/drm/drm_drv.c                          | 13 -------------
>  drivers/gpu/drm/etnaviv/etnaviv_drv.c              |  8 ++++----
>  drivers/gpu/drm/exynos/exynos_drm_drv.c            |  4 ++--
>  drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c          |  8 ++++----
>  drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c    |  4 ++--
>  drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c    |  8 ++++----
>  drivers/gpu/drm/i915/selftests/huge_pages.c        |  2 +-
>  drivers/gpu/drm/i915/selftests/i915_gem_context.c  |  2 +-
>  drivers/gpu/drm/i915/selftests/i915_gem_dmabuf.c   |  2 +-
>  drivers/gpu/drm/i915/selftests/i915_gem_evict.c    |  2 +-
>  drivers/gpu/drm/i915/selftests/i915_gem_gtt.c      |  2 +-
>  drivers/gpu/drm/i915/selftests/i915_gem_object.c   |  2 +-
>  drivers/gpu/drm/i915/selftests/i915_request.c      |  2 +-
>  drivers/gpu/drm/i915/selftests/i915_vma.c          |  2 +-
>  drivers/gpu/drm/i915/selftests/intel_breadcrumbs.c |  2 +-
>  drivers/gpu/drm/imx/imx-drm-core.c                 |  8 ++++----
>  drivers/gpu/drm/mediatek/mtk_drm_drv.c             |  6 +++---
>  drivers/gpu/drm/msm/msm_drv.c                      |  8 ++++----
>  drivers/gpu/drm/mxsfb/mxsfb_drv.c                  |  4 ++--
>  drivers/gpu/drm/nouveau/nouveau_platform.c         |  2 +-
>  drivers/gpu/drm/omapdrm/omap_drv.c                 |  4 ++--
>  drivers/gpu/drm/pl111/pl111_drv.c                  | 14 +++++++-------
>  drivers/gpu/drm/qxl/qxl_drv.c                      |  2 +-
>  drivers/gpu/drm/rcar-du/rcar_du_drv.c              |  2 +-
>  drivers/gpu/drm/rockchip/rockchip_drm_drv.c        |  4 ++--
>  drivers/gpu/drm/shmobile/shmob_drm_drv.c           |  4 ++--
>  drivers/gpu/drm/sti/sti_drv.c                      |  8 ++++----

For sti:
Acked-by: Benjamin Gaignard <benjamin.gaignard@xxxxxxxxxx>


>  drivers/gpu/drm/stm/drv.c                          | 10 +++++-----
>  drivers/gpu/drm/sun4i/sun4i_drv.c                  |  4 ++--
>  drivers/gpu/drm/tegra/drm.c                        |  8 ++++----
>  drivers/gpu/drm/tinydrm/core/tinydrm-core.c        |  6 +++---
>  drivers/gpu/drm/tve200/tve200_drv.c                | 10 +++++-----
>  drivers/gpu/drm/udl/udl_drv.c                      |  2 +-
>  drivers/gpu/drm/vc4/vc4_drv.c                      |  8 ++++----
>  drivers/gpu/drm/vgem/vgem_drv.c                    |  2 +-
>  drivers/gpu/drm/virtio/virtgpu_drm_bus.c           |  2 +-
>  drivers/gpu/drm/zte/zx_drm_drv.c                   |  4 ++--
>  include/drm/drm_drv.h                              |  1 -
>  scripts/coccinelle/api/drm-get-put.cocci           |  3 ---
>  43 files changed, 99 insertions(+), 116 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
> index b0bf2f24da48..cf5b18e7d8db 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
> @@ -664,7 +664,7 @@ static int amdgpu_pci_probe(struct pci_dev *pdev,
>  err_pci:
>         pci_disable_device(pdev);
>  err_free:
> -       drm_dev_unref(dev);
> +       drm_dev_put(dev);
>         return ret;
>  }
>
> @@ -674,7 +674,7 @@ amdgpu_pci_remove(struct pci_dev *pdev)
>         struct drm_device *dev = pci_get_drvdata(pdev);
>
>         drm_dev_unregister(dev);
> -       drm_dev_unref(dev);
> +       drm_dev_put(dev);
>         pci_disable_device(pdev);
>         pci_set_drvdata(pdev, NULL);
>  }
> diff --git a/drivers/gpu/drm/arc/arcpgu_drv.c b/drivers/gpu/drm/arc/arcpgu_drv.c
> index f067de4e1e82..27d426bf7d01 100644
> --- a/drivers/gpu/drm/arc/arcpgu_drv.c
> +++ b/drivers/gpu/drm/arc/arcpgu_drv.c
> @@ -204,7 +204,7 @@ static int arcpgu_probe(struct platform_device *pdev)
>
>         ret = arcpgu_load(drm);
>         if (ret)
> -               goto err_unref;
> +               goto err_put;
>
>         ret = drm_dev_register(drm, 0);
>         if (ret)
> @@ -215,8 +215,8 @@ static int arcpgu_probe(struct platform_device *pdev)
>  err_unload:
>         arcpgu_unload(drm);
>
> -err_unref:
> -       drm_dev_unref(drm);
> +err_put:
> +       drm_dev_put(drm);
>
>         return ret;
>  }
> @@ -227,7 +227,7 @@ static int arcpgu_remove(struct platform_device *pdev)
>
>         drm_dev_unregister(drm);
>         arcpgu_unload(drm);
> -       drm_dev_unref(drm);
> +       drm_dev_put(drm);
>
>         return 0;
>  }
> diff --git a/drivers/gpu/drm/armada/armada_drv.c b/drivers/gpu/drm/armada/armada_drv.c
> index 4b11b6b52f1d..d1705d298a39 100644
> --- a/drivers/gpu/drm/armada/armada_drv.c
> +++ b/drivers/gpu/drm/armada/armada_drv.c
> @@ -109,7 +109,7 @@ static int armada_drm_bind(struct device *dev)
>
>         /*
>          * The drm_device structure must be at the start of
> -        * armada_private for drm_dev_unref() to work correctly.
> +        * armada_private for drm_dev_put() to work correctly.
>          */
>         BUILD_BUG_ON(offsetof(struct armada_private, drm) != 0);
>
> @@ -180,7 +180,7 @@ static int armada_drm_bind(struct device *dev)
>         drm_mode_config_cleanup(&priv->drm);
>         drm_mm_takedown(&priv->linear);
>         flush_work(&priv->fb_unref_work);
> -       drm_dev_unref(&priv->drm);
> +       drm_dev_put(&priv->drm);
>         return ret;
>  }
>
> @@ -200,7 +200,7 @@ static void armada_drm_unbind(struct device *dev)
>         drm_mm_takedown(&priv->linear);
>         flush_work(&priv->fb_unref_work);
>
> -       drm_dev_unref(&priv->drm);
> +       drm_dev_put(&priv->drm);
>  }
>
>  static int compare_of(struct device *dev, void *data)
> diff --git a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c
> index 843cac222e60..fedbfa333bb0 100644
> --- a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c
> +++ b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c
> @@ -763,7 +763,7 @@ static int atmel_hlcdc_dc_drm_probe(struct platform_device *pdev)
>
>         ret = atmel_hlcdc_dc_load(ddev);
>         if (ret)
> -               goto err_unref;
> +               goto err_put;
>
>         ret = drm_dev_register(ddev, 0);
>         if (ret)
> @@ -774,8 +774,8 @@ static int atmel_hlcdc_dc_drm_probe(struct platform_device *pdev)
>  err_unload:
>         atmel_hlcdc_dc_unload(ddev);
>
> -err_unref:
> -       drm_dev_unref(ddev);
> +err_put:
> +       drm_dev_put(ddev);
>
>         return ret;
>  }
> @@ -786,7 +786,7 @@ static int atmel_hlcdc_dc_drm_remove(struct platform_device *pdev)
>
>         drm_dev_unregister(ddev);
>         atmel_hlcdc_dc_unload(ddev);
> -       drm_dev_unref(ddev);
> +       drm_dev_put(ddev);
>
>         return 0;
>  }
> diff --git a/drivers/gpu/drm/drm_drv.c b/drivers/gpu/drm/drm_drv.c
> index 7af748ed1c58..642503fb1046 100644
> --- a/drivers/gpu/drm/drm_drv.c
> +++ b/drivers/gpu/drm/drm_drv.c
> @@ -696,19 +696,6 @@ void drm_dev_put(struct drm_device *dev)
>  }
>  EXPORT_SYMBOL(drm_dev_put);
>
> -/**
> - * drm_dev_unref - Drop reference of a DRM device
> - * @dev: device to drop reference of or NULL
> - *
> - * This is a compatibility alias for drm_dev_put() and should not be used by new
> - * code.
> - */
> -void drm_dev_unref(struct drm_device *dev)
> -{
> -       drm_dev_put(dev);
> -}
> -EXPORT_SYMBOL(drm_dev_unref);
> -
>  static int create_compat_control_link(struct drm_device *dev)
>  {
>         struct drm_minor *minor;
> diff --git a/drivers/gpu/drm/etnaviv/etnaviv_drv.c b/drivers/gpu/drm/etnaviv/etnaviv_drv.c
> index e5013a999147..35285c0aeeac 100644
> --- a/drivers/gpu/drm/etnaviv/etnaviv_drv.c
> +++ b/drivers/gpu/drm/etnaviv/etnaviv_drv.c
> @@ -524,7 +524,7 @@ static int etnaviv_bind(struct device *dev)
>         if (!priv) {
>                 dev_err(dev, "failed to allocate private data\n");
>                 ret = -ENOMEM;
> -               goto out_unref;
> +               goto out_put;
>         }
>         drm->dev_private = priv;
>
> @@ -550,8 +550,8 @@ static int etnaviv_bind(struct device *dev)
>         component_unbind_all(dev, drm);
>  out_bind:
>         kfree(priv);
> -out_unref:
> -       drm_dev_unref(drm);
> +out_put:
> +       drm_dev_put(drm);
>
>         return ret;
>  }
> @@ -568,7 +568,7 @@ static void etnaviv_unbind(struct device *dev)
>         drm->dev_private = NULL;
>         kfree(priv);
>
> -       drm_dev_unref(drm);
> +       drm_dev_put(drm);
>  }
>
>  static const struct component_master_ops etnaviv_master_ops = {
> diff --git a/drivers/gpu/drm/exynos/exynos_drm_drv.c b/drivers/gpu/drm/exynos/exynos_drm_drv.c
> index a81b4a5e24a7..ed3cc2989f93 100644
> --- a/drivers/gpu/drm/exynos/exynos_drm_drv.c
> +++ b/drivers/gpu/drm/exynos/exynos_drm_drv.c
> @@ -420,7 +420,7 @@ static int exynos_drm_bind(struct device *dev)
>  err_free_private:
>         kfree(private);
>  err_free_drm:
> -       drm_dev_unref(drm);
> +       drm_dev_put(drm);
>
>         return ret;
>  }
> @@ -444,7 +444,7 @@ static void exynos_drm_unbind(struct device *dev)
>         drm->dev_private = NULL;
>         dev_set_drvdata(dev, NULL);
>
> -       drm_dev_unref(drm);
> +       drm_dev_put(drm);
>  }
>
>  static const struct component_master_ops exynos_drm_ops = {
> diff --git a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c
> index 80232321a244..0496be5212e1 100644
> --- a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c
> +++ b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c
> @@ -353,12 +353,12 @@ static int fsl_dcu_drm_probe(struct platform_device *pdev)
>
>         ret = drm_dev_register(drm, 0);
>         if (ret < 0)
> -               goto unref;
> +               goto put;
>
>         return 0;
>
> -unref:
> -       drm_dev_unref(drm);
> +put:
> +       drm_dev_put(drm);
>  unregister_pix_clk:
>         clk_unregister(fsl_dev->pix_clk);
>  disable_clk:
> @@ -371,7 +371,7 @@ static int fsl_dcu_drm_remove(struct platform_device *pdev)
>         struct fsl_dcu_drm_device *fsl_dev = platform_get_drvdata(pdev);
>
>         drm_dev_unregister(fsl_dev->drm);
> -       drm_dev_unref(fsl_dev->drm);
> +       drm_dev_put(fsl_dev->drm);
>         clk_disable_unprepare(fsl_dev->clk);
>         clk_unregister(fsl_dev->pix_clk);
>
> diff --git a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c
> index d4f6f1f9df5b..ec878c7e3f75 100644
> --- a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c
> +++ b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c
> @@ -387,7 +387,7 @@ static int hibmc_pci_probe(struct pci_dev *pdev,
>  err_disable:
>         pci_disable_device(pdev);
>  err_free:
> -       drm_dev_unref(dev);
> +       drm_dev_put(dev);
>
>         return ret;
>  }
> @@ -398,7 +398,7 @@ static void hibmc_pci_remove(struct pci_dev *pdev)
>
>         drm_dev_unregister(dev);
>         hibmc_unload(dev);
> -       drm_dev_unref(dev);
> +       drm_dev_put(dev);
>  }
>
>  static struct pci_device_id hibmc_pci_table[] = {
> diff --git a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c
> index ddb0403f1975..e6a62d5a00a3 100644
> --- a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c
> +++ b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c
> @@ -193,7 +193,7 @@ static int kirin_drm_bind(struct device *dev)
>
>         ret = kirin_drm_kms_init(drm_dev);
>         if (ret)
> -               goto err_drm_dev_unref;
> +               goto err_drm_dev_put;
>
>         ret = drm_dev_register(drm_dev, 0);
>         if (ret)
> @@ -203,8 +203,8 @@ static int kirin_drm_bind(struct device *dev)
>
>  err_kms_cleanup:
>         kirin_drm_kms_cleanup(drm_dev);
> -err_drm_dev_unref:
> -       drm_dev_unref(drm_dev);
> +err_drm_dev_put:
> +       drm_dev_put(drm_dev);
>
>         return ret;
>  }
> @@ -215,7 +215,7 @@ static void kirin_drm_unbind(struct device *dev)
>
>         drm_dev_unregister(drm_dev);
>         kirin_drm_kms_cleanup(drm_dev);
> -       drm_dev_unref(drm_dev);
> +       drm_dev_put(drm_dev);
>  }
>
>  static const struct component_master_ops kirin_drm_ops = {
> diff --git a/drivers/gpu/drm/i915/selftests/huge_pages.c b/drivers/gpu/drm/i915/selftests/huge_pages.c
> index 7846ea4a99bc..da8c70dd70b4 100644
> --- a/drivers/gpu/drm/i915/selftests/huge_pages.c
> +++ b/drivers/gpu/drm/i915/selftests/huge_pages.c
> @@ -1724,7 +1724,7 @@ int i915_gem_huge_page_mock_selftests(void)
>
>         i915_modparams.enable_ppgtt = saved_ppgtt;
>
> -       drm_dev_unref(&dev_priv->drm);
> +       drm_dev_put(&dev_priv->drm);
>
>         return err;
>  }
> diff --git a/drivers/gpu/drm/i915/selftests/i915_gem_context.c b/drivers/gpu/drm/i915/selftests/i915_gem_context.c
> index 708e8d721448..3a977bb5a33e 100644
> --- a/drivers/gpu/drm/i915/selftests/i915_gem_context.c
> +++ b/drivers/gpu/drm/i915/selftests/i915_gem_context.c
> @@ -586,7 +586,7 @@ int i915_gem_context_mock_selftests(void)
>
>         err = i915_subtests(tests, i915);
>
> -       drm_dev_unref(&i915->drm);
> +       drm_dev_put(&i915->drm);
>         return err;
>  }
>
> diff --git a/drivers/gpu/drm/i915/selftests/i915_gem_dmabuf.c b/drivers/gpu/drm/i915/selftests/i915_gem_dmabuf.c
> index 89dc25a5a53b..a7055b12e53c 100644
> --- a/drivers/gpu/drm/i915/selftests/i915_gem_dmabuf.c
> +++ b/drivers/gpu/drm/i915/selftests/i915_gem_dmabuf.c
> @@ -389,7 +389,7 @@ int i915_gem_dmabuf_mock_selftests(void)
>
>         err = i915_subtests(tests, i915);
>
> -       drm_dev_unref(&i915->drm);
> +       drm_dev_put(&i915->drm);
>         return err;
>  }
>
> diff --git a/drivers/gpu/drm/i915/selftests/i915_gem_evict.c b/drivers/gpu/drm/i915/selftests/i915_gem_evict.c
> index 2dc72a984d45..8059268800fa 100644
> --- a/drivers/gpu/drm/i915/selftests/i915_gem_evict.c
> +++ b/drivers/gpu/drm/i915/selftests/i915_gem_evict.c
> @@ -490,7 +490,7 @@ int i915_gem_evict_mock_selftests(void)
>         err = i915_subtests(tests, i915);
>         mutex_unlock(&i915->drm.struct_mutex);
>
> -       drm_dev_unref(&i915->drm);
> +       drm_dev_put(&i915->drm);
>         return err;
>  }
>
> diff --git a/drivers/gpu/drm/i915/selftests/i915_gem_gtt.c b/drivers/gpu/drm/i915/selftests/i915_gem_gtt.c
> index f80cf7ce3fa9..4e7bea6eff36 100644
> --- a/drivers/gpu/drm/i915/selftests/i915_gem_gtt.c
> +++ b/drivers/gpu/drm/i915/selftests/i915_gem_gtt.c
> @@ -1650,7 +1650,7 @@ int i915_gem_gtt_mock_selftests(void)
>         err = i915_subtests(tests, i915);
>         mutex_unlock(&i915->drm.struct_mutex);
>
> -       drm_dev_unref(&i915->drm);
> +       drm_dev_put(&i915->drm);
>         return err;
>  }
>
> diff --git a/drivers/gpu/drm/i915/selftests/i915_gem_object.c b/drivers/gpu/drm/i915/selftests/i915_gem_object.c
> index 2b2dde94526f..549707b9d738 100644
> --- a/drivers/gpu/drm/i915/selftests/i915_gem_object.c
> +++ b/drivers/gpu/drm/i915/selftests/i915_gem_object.c
> @@ -586,7 +586,7 @@ int i915_gem_object_mock_selftests(void)
>
>         err = i915_subtests(tests, i915);
>
> -       drm_dev_unref(&i915->drm);
> +       drm_dev_put(&i915->drm);
>         return err;
>  }
>
> diff --git a/drivers/gpu/drm/i915/selftests/i915_request.c b/drivers/gpu/drm/i915/selftests/i915_request.c
> index a3a89aadeccb..d246059338e9 100644
> --- a/drivers/gpu/drm/i915/selftests/i915_request.c
> +++ b/drivers/gpu/drm/i915/selftests/i915_request.c
> @@ -262,7 +262,7 @@ int i915_request_mock_selftests(void)
>                 return -ENOMEM;
>
>         err = i915_subtests(tests, i915);
> -       drm_dev_unref(&i915->drm);
> +       drm_dev_put(&i915->drm);
>
>         return err;
>  }
> diff --git a/drivers/gpu/drm/i915/selftests/i915_vma.c b/drivers/gpu/drm/i915/selftests/i915_vma.c
> index 8400a8cc5cf2..ffa74290e054 100644
> --- a/drivers/gpu/drm/i915/selftests/i915_vma.c
> +++ b/drivers/gpu/drm/i915/selftests/i915_vma.c
> @@ -733,7 +733,7 @@ int i915_vma_mock_selftests(void)
>         err = i915_subtests(tests, i915);
>         mutex_unlock(&i915->drm.struct_mutex);
>
> -       drm_dev_unref(&i915->drm);
> +       drm_dev_put(&i915->drm);
>         return err;
>  }
>
> diff --git a/drivers/gpu/drm/i915/selftests/intel_breadcrumbs.c b/drivers/gpu/drm/i915/selftests/intel_breadcrumbs.c
> index d6926e7820e5..f03b407fdbe2 100644
> --- a/drivers/gpu/drm/i915/selftests/intel_breadcrumbs.c
> +++ b/drivers/gpu/drm/i915/selftests/intel_breadcrumbs.c
> @@ -464,7 +464,7 @@ int intel_breadcrumbs_mock_selftests(void)
>                 return -ENOMEM;
>
>         err = i915_subtests(tests, i915->engine[RCS]);
> -       drm_dev_unref(&i915->drm);
> +       drm_dev_put(&i915->drm);
>
>         return err;
>  }
> diff --git a/drivers/gpu/drm/imx/imx-drm-core.c b/drivers/gpu/drm/imx/imx-drm-core.c
> index 1d053bbefc02..c895fe78fb48 100644
> --- a/drivers/gpu/drm/imx/imx-drm-core.c
> +++ b/drivers/gpu/drm/imx/imx-drm-core.c
> @@ -229,7 +229,7 @@ static int imx_drm_bind(struct device *dev)
>         imxdrm = devm_kzalloc(dev, sizeof(*imxdrm), GFP_KERNEL);
>         if (!imxdrm) {
>                 ret = -ENOMEM;
> -               goto err_unref;
> +               goto err_put;
>         }
>
>         imxdrm->drm = drm;
> @@ -306,8 +306,8 @@ static int imx_drm_bind(struct device *dev)
>         component_unbind_all(drm->dev, drm);
>  err_kms:
>         drm_mode_config_cleanup(drm);
> -err_unref:
> -       drm_dev_unref(drm);
> +err_put:
> +       drm_dev_put(drm);
>
>         return ret;
>  }
> @@ -327,7 +327,7 @@ static void imx_drm_unbind(struct device *dev)
>         component_unbind_all(drm->dev, drm);
>         dev_set_drvdata(dev, NULL);
>
> -       drm_dev_unref(drm);
> +       drm_dev_put(drm);
>  }
>
>  static const struct component_master_ops imx_drm_ops = {
> diff --git a/drivers/gpu/drm/mediatek/mtk_drm_drv.c b/drivers/gpu/drm/mediatek/mtk_drm_drv.c
> index a2ca90fc403c..5d024a154e1a 100644
> --- a/drivers/gpu/drm/mediatek/mtk_drm_drv.c
> +++ b/drivers/gpu/drm/mediatek/mtk_drm_drv.c
> @@ -341,7 +341,7 @@ static int mtk_drm_bind(struct device *dev)
>  err_deinit:
>         mtk_drm_kms_deinit(drm);
>  err_free:
> -       drm_dev_unref(drm);
> +       drm_dev_put(drm);
>         return ret;
>  }
>
> @@ -350,7 +350,7 @@ static void mtk_drm_unbind(struct device *dev)
>         struct mtk_drm_private *private = dev_get_drvdata(dev);
>
>         drm_dev_unregister(private->drm);
> -       drm_dev_unref(private->drm);
> +       drm_dev_put(private->drm);
>         private->drm = NULL;
>  }
>
> @@ -504,7 +504,7 @@ static int mtk_drm_remove(struct platform_device *pdev)
>
>         drm_dev_unregister(drm);
>         mtk_drm_kms_deinit(drm);
> -       drm_dev_unref(drm);
> +       drm_dev_put(drm);
>
>         component_master_del(&pdev->dev, &mtk_drm_ops);
>         pm_runtime_disable(&pdev->dev);
> diff --git a/drivers/gpu/drm/msm/msm_drv.c b/drivers/gpu/drm/msm/msm_drv.c
> index 021a0b6f9a59..8b96976c6b40 100644
> --- a/drivers/gpu/drm/msm/msm_drv.c
> +++ b/drivers/gpu/drm/msm/msm_drv.c
> @@ -261,7 +261,7 @@ static int msm_drm_uninit(struct device *dev)
>         msm_mdss_destroy(ddev);
>
>         ddev->dev_private = NULL;
> -       drm_dev_unref(ddev);
> +       drm_dev_put(ddev);
>
>         kfree(priv);
>
> @@ -369,7 +369,7 @@ static int msm_drm_init(struct device *dev, struct drm_driver *drv)
>
>         priv = kzalloc(sizeof(*priv), GFP_KERNEL);
>         if (!priv) {
> -               drm_dev_unref(ddev);
> +               drm_dev_put(ddev);
>                 return -ENOMEM;
>         }
>
> @@ -379,7 +379,7 @@ static int msm_drm_init(struct device *dev, struct drm_driver *drv)
>         ret = msm_mdss_init(ddev);
>         if (ret) {
>                 kfree(priv);
> -               drm_dev_unref(ddev);
> +               drm_dev_put(ddev);
>                 return ret;
>         }
>
> @@ -398,7 +398,7 @@ static int msm_drm_init(struct device *dev, struct drm_driver *drv)
>         if (ret) {
>                 msm_mdss_destroy(ddev);
>                 kfree(priv);
> -               drm_dev_unref(ddev);
> +               drm_dev_put(ddev);
>                 return ret;
>         }
>
> diff --git a/drivers/gpu/drm/mxsfb/mxsfb_drv.c b/drivers/gpu/drm/mxsfb/mxsfb_drv.c
> index ffe5137ccaf8..4039f11b2b7b 100644
> --- a/drivers/gpu/drm/mxsfb/mxsfb_drv.c
> +++ b/drivers/gpu/drm/mxsfb/mxsfb_drv.c
> @@ -398,7 +398,7 @@ static int mxsfb_probe(struct platform_device *pdev)
>  err_unload:
>         mxsfb_unload(drm);
>  err_free:
> -       drm_dev_unref(drm);
> +       drm_dev_put(drm);
>
>         return ret;
>  }
> @@ -409,7 +409,7 @@ static int mxsfb_remove(struct platform_device *pdev)
>
>         drm_dev_unregister(drm);
>         mxsfb_unload(drm);
> -       drm_dev_unref(drm);
> +       drm_dev_put(drm);
>
>         return 0;
>  }
> diff --git a/drivers/gpu/drm/nouveau/nouveau_platform.c b/drivers/gpu/drm/nouveau/nouveau_platform.c
> index 1ada186fab77..039e23548e08 100644
> --- a/drivers/gpu/drm/nouveau/nouveau_platform.c
> +++ b/drivers/gpu/drm/nouveau/nouveau_platform.c
> @@ -36,7 +36,7 @@ static int nouveau_platform_probe(struct platform_device *pdev)
>
>         ret = drm_dev_register(drm, 0);
>         if (ret < 0) {
> -               drm_dev_unref(drm);
> +               drm_dev_put(drm);
>                 return ret;
>         }
>
> diff --git a/drivers/gpu/drm/omapdrm/omap_drv.c b/drivers/gpu/drm/omapdrm/omap_drv.c
> index 926b765dde68..6042f77450a6 100644
> --- a/drivers/gpu/drm/omapdrm/omap_drv.c
> +++ b/drivers/gpu/drm/omapdrm/omap_drv.c
> @@ -601,7 +601,7 @@ static int omapdrm_init(struct omap_drm_private *priv, struct device *dev)
>         omap_drm_irq_uninstall(ddev);
>  err_free_drm_dev:
>         omap_gem_deinit(ddev);
> -       drm_dev_unref(ddev);
> +       drm_dev_put(ddev);
>  err_destroy_wq:
>         destroy_workqueue(priv->wq);
>         omap_disconnect_dssdevs();
> @@ -630,7 +630,7 @@ static void omapdrm_cleanup(struct omap_drm_private *priv)
>         omap_drm_irq_uninstall(ddev);
>         omap_gem_deinit(ddev);
>
> -       drm_dev_unref(ddev);
> +       drm_dev_put(ddev);
>
>         destroy_workqueue(priv->wq);
>
> diff --git a/drivers/gpu/drm/pl111/pl111_drv.c b/drivers/gpu/drm/pl111/pl111_drv.c
> index 454ff0804642..07e0aa573c1f 100644
> --- a/drivers/gpu/drm/pl111/pl111_drv.c
> +++ b/drivers/gpu/drm/pl111/pl111_drv.c
> @@ -301,13 +301,13 @@ static int pl111_amba_probe(struct amba_device *amba_dev,
>         if (IS_ERR(priv->regs)) {
>                 dev_err(dev, "%s failed mmio\n", __func__);
>                 ret = PTR_ERR(priv->regs);
> -               goto dev_unref;
> +               goto dev_put;
>         }
>
>         /* This may override some variant settings */
>         ret = pl111_versatile_init(dev, priv);
>         if (ret)
> -               goto dev_unref;
> +               goto dev_put;
>
>         /* turn off interrupts before requesting the irq */
>         writel(0, priv->regs + priv->ienb);
> @@ -321,16 +321,16 @@ static int pl111_amba_probe(struct amba_device *amba_dev,
>
>         ret = pl111_modeset_init(drm);
>         if (ret != 0)
> -               goto dev_unref;
> +               goto dev_put;
>
>         ret = drm_dev_register(drm, 0);
>         if (ret < 0)
> -               goto dev_unref;
> +               goto dev_put;
>
>         return 0;
>
> -dev_unref:
> -       drm_dev_unref(drm);
> +dev_put:
> +       drm_dev_put(drm);
>         of_reserved_mem_device_release(dev);
>
>         return ret;
> @@ -347,7 +347,7 @@ static int pl111_amba_remove(struct amba_device *amba_dev)
>         if (priv->panel)
>                 drm_panel_bridge_remove(priv->bridge);
>         drm_mode_config_cleanup(drm);
> -       drm_dev_unref(drm);
> +       drm_dev_put(drm);
>         of_reserved_mem_device_release(dev);
>
>         return 0;
> diff --git a/drivers/gpu/drm/qxl/qxl_drv.c b/drivers/gpu/drm/qxl/qxl_drv.c
> index 2445e75cf7ea..86bd42dca09c 100644
> --- a/drivers/gpu/drm/qxl/qxl_drv.c
> +++ b/drivers/gpu/drm/qxl/qxl_drv.c
> @@ -119,7 +119,7 @@ qxl_pci_remove(struct pci_dev *pdev)
>
>         dev->dev_private = NULL;
>         kfree(qdev);
> -       drm_dev_unref(dev);
> +       drm_dev_put(dev);
>  }
>
>  static const struct file_operations qxl_fops = {
> diff --git a/drivers/gpu/drm/rcar-du/rcar_du_drv.c b/drivers/gpu/drm/rcar-du/rcar_du_drv.c
> index 02aee6cb0e53..9696a3030319 100644
> --- a/drivers/gpu/drm/rcar-du/rcar_du_drv.c
> +++ b/drivers/gpu/drm/rcar-du/rcar_du_drv.c
> @@ -407,7 +407,7 @@ static int rcar_du_remove(struct platform_device *pdev)
>         drm_kms_helper_poll_fini(ddev);
>         drm_mode_config_cleanup(ddev);
>
> -       drm_dev_unref(ddev);
> +       drm_dev_put(ddev);
>
>         return 0;
>  }
> diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_drv.c b/drivers/gpu/drm/rockchip/rockchip_drm_drv.c
> index f814d37b1db2..9c846be8fc64 100644
> --- a/drivers/gpu/drm/rockchip/rockchip_drm_drv.c
> +++ b/drivers/gpu/drm/rockchip/rockchip_drm_drv.c
> @@ -184,7 +184,7 @@ static int rockchip_drm_bind(struct device *dev)
>  err_free:
>         drm_dev->dev_private = NULL;
>         dev_set_drvdata(dev, NULL);
> -       drm_dev_unref(drm_dev);
> +       drm_dev_put(drm_dev);
>         return ret;
>  }
>
> @@ -204,7 +204,7 @@ static void rockchip_drm_unbind(struct device *dev)
>
>         drm_dev->dev_private = NULL;
>         dev_set_drvdata(dev, NULL);
> -       drm_dev_unref(drm_dev);
> +       drm_dev_put(drm_dev);
>  }
>
>  static const struct file_operations rockchip_drm_driver_fops = {
> diff --git a/drivers/gpu/drm/shmobile/shmob_drm_drv.c b/drivers/gpu/drm/shmobile/shmob_drm_drv.c
> index 592572554eb0..8d1ff596c774 100644
> --- a/drivers/gpu/drm/shmobile/shmob_drm_drv.c
> +++ b/drivers/gpu/drm/shmobile/shmob_drm_drv.c
> @@ -198,7 +198,7 @@ static int shmob_drm_remove(struct platform_device *pdev)
>         drm_kms_helper_poll_fini(ddev);
>         drm_mode_config_cleanup(ddev);
>         drm_irq_uninstall(ddev);
> -       drm_dev_unref(ddev);
> +       drm_dev_put(ddev);
>
>         return 0;
>  }
> @@ -294,7 +294,7 @@ static int shmob_drm_probe(struct platform_device *pdev)
>         drm_kms_helper_poll_fini(ddev);
>         drm_mode_config_cleanup(ddev);
>  err_free_drm_dev:
> -       drm_dev_unref(ddev);
> +       drm_dev_put(ddev);
>
>         return ret;
>  }
> diff --git a/drivers/gpu/drm/sti/sti_drv.c b/drivers/gpu/drm/sti/sti_drv.c
> index 90c46b49c931..832fc43960ee 100644
> --- a/drivers/gpu/drm/sti/sti_drv.c
> +++ b/drivers/gpu/drm/sti/sti_drv.c
> @@ -224,7 +224,7 @@ static int sti_bind(struct device *dev)
>
>         ret = sti_init(ddev);
>         if (ret)
> -               goto err_drm_dev_unref;
> +               goto err_drm_dev_put;
>
>         ret = component_bind_all(ddev->dev, ddev);
>         if (ret)
> @@ -248,8 +248,8 @@ static int sti_bind(struct device *dev)
>         drm_mode_config_cleanup(ddev);
>  err_cleanup:
>         sti_cleanup(ddev);
> -err_drm_dev_unref:
> -       drm_dev_unref(ddev);
> +err_drm_dev_put:
> +       drm_dev_put(ddev);
>         return ret;
>  }
>
> @@ -259,7 +259,7 @@ static void sti_unbind(struct device *dev)
>
>         drm_dev_unregister(ddev);
>         sti_cleanup(ddev);
> -       drm_dev_unref(ddev);
> +       drm_dev_put(ddev);
>  }
>
>  static const struct component_master_ops sti_ops = {
> diff --git a/drivers/gpu/drm/stm/drv.c b/drivers/gpu/drm/stm/drv.c
> index 8698e08313e1..f2021b23554d 100644
> --- a/drivers/gpu/drm/stm/drv.c
> +++ b/drivers/gpu/drm/stm/drv.c
> @@ -148,16 +148,16 @@ static int stm_drm_platform_probe(struct platform_device *pdev)
>
>         ret = drv_load(ddev);
>         if (ret)
> -               goto err_unref;
> +               goto err_put;
>
>         ret = drm_dev_register(ddev, 0);
>         if (ret)
> -               goto err_unref;
> +               goto err_put;
>
>         return 0;
>
> -err_unref:
> -       drm_dev_unref(ddev);
> +err_put:
> +       drm_dev_put(ddev);
>
>         return ret;
>  }
> @@ -170,7 +170,7 @@ static int stm_drm_platform_remove(struct platform_device *pdev)
>
>         drm_dev_unregister(ddev);
>         drv_unload(ddev);
> -       drm_dev_unref(ddev);
> +       drm_dev_put(ddev);
>
>         return 0;
>  }
> diff --git a/drivers/gpu/drm/sun4i/sun4i_drv.c b/drivers/gpu/drm/sun4i/sun4i_drv.c
> index 50d19605c38f..42c881d5275d 100644
> --- a/drivers/gpu/drm/sun4i/sun4i_drv.c
> +++ b/drivers/gpu/drm/sun4i/sun4i_drv.c
> @@ -143,7 +143,7 @@ static int sun4i_drv_bind(struct device *dev)
>         drm_mode_config_cleanup(drm);
>         of_reserved_mem_device_release(dev);
>  free_drm:
> -       drm_dev_unref(drm);
> +       drm_dev_put(drm);
>         return ret;
>  }
>
> @@ -156,7 +156,7 @@ static void sun4i_drv_unbind(struct device *dev)
>         sun4i_framebuffer_free(drm);
>         drm_mode_config_cleanup(drm);
>         of_reserved_mem_device_release(dev);
> -       drm_dev_unref(drm);
> +       drm_dev_put(drm);
>  }
>
>  static const struct component_master_ops sun4i_drv_master_ops = {
> diff --git a/drivers/gpu/drm/tegra/drm.c b/drivers/gpu/drm/tegra/drm.c
> index 776c1513e582..4a9e24fa195a 100644
> --- a/drivers/gpu/drm/tegra/drm.c
> +++ b/drivers/gpu/drm/tegra/drm.c
> @@ -1189,12 +1189,12 @@ static int host1x_drm_probe(struct host1x_device *dev)
>
>         err = drm_dev_register(drm, 0);
>         if (err < 0)
> -               goto unref;
> +               goto put;
>
>         return 0;
>
> -unref:
> -       drm_dev_unref(drm);
> +put:
> +       drm_dev_put(drm);
>         return err;
>  }
>
> @@ -1203,7 +1203,7 @@ static int host1x_drm_remove(struct host1x_device *dev)
>         struct drm_device *drm = dev_get_drvdata(&dev->dev);
>
>         drm_dev_unregister(drm);
> -       drm_dev_unref(drm);
> +       drm_dev_put(drm);
>
>         return 0;
>  }
> diff --git a/drivers/gpu/drm/tinydrm/core/tinydrm-core.c b/drivers/gpu/drm/tinydrm/core/tinydrm-core.c
> index 24a33bf862fa..09526ab482c3 100644
> --- a/drivers/gpu/drm/tinydrm/core/tinydrm-core.c
> +++ b/drivers/gpu/drm/tinydrm/core/tinydrm-core.c
> @@ -135,7 +135,7 @@ static int tinydrm_init(struct device *parent, struct tinydrm_device *tdev,
>         /*
>          * We don't embed drm_device, because that prevent us from using
>          * devm_kzalloc() to allocate tinydrm_device in the driver since
> -        * drm_dev_unref() frees the structure. The devm_ functions provide
> +        * drm_dev_put() frees the structure. The devm_ functions provide
>          * for easy error handling.
>          */
>         drm = drm_dev_alloc(driver, parent);
> @@ -155,7 +155,7 @@ static void tinydrm_fini(struct tinydrm_device *tdev)
>         drm_mode_config_cleanup(tdev->drm);
>         mutex_destroy(&tdev->dirty_lock);
>         tdev->drm->dev_private = NULL;
> -       drm_dev_unref(tdev->drm);
> +       drm_dev_put(tdev->drm);
>  }
>
>  static void devm_tinydrm_release(void *data)
> @@ -172,7 +172,7 @@ static void devm_tinydrm_release(void *data)
>   *
>   * This function initializes @tdev, the underlying DRM device and it's
>   * mode_config. Resources will be automatically freed on driver detach (devres)
> - * using drm_mode_config_cleanup() and drm_dev_unref().
> + * using drm_mode_config_cleanup() and drm_dev_put().
>   *
>   * Returns:
>   * Zero on success, negative error code on failure.
> diff --git a/drivers/gpu/drm/tve200/tve200_drv.c b/drivers/gpu/drm/tve200/tve200_drv.c
> index ac344ddb23bc..18e9c8e709f9 100644
> --- a/drivers/gpu/drm/tve200/tve200_drv.c
> +++ b/drivers/gpu/drm/tve200/tve200_drv.c
> @@ -198,12 +198,12 @@ static int tve200_probe(struct platform_device *pdev)
>         if (IS_ERR(priv->pclk)) {
>                 dev_err(dev, "unable to get PCLK\n");
>                 ret = PTR_ERR(priv->pclk);
> -               goto dev_unref;
> +               goto dev_put;
>         }
>         ret = clk_prepare_enable(priv->pclk);
>         if (ret) {
>                 dev_err(dev, "failed to enable PCLK\n");
> -               goto dev_unref;
> +               goto dev_put;
>         }
>
>         /* This clock is for the pixels (27MHz) */
> @@ -249,8 +249,8 @@ static int tve200_probe(struct platform_device *pdev)
>
>  clk_disable:
>         clk_disable_unprepare(priv->pclk);
> -dev_unref:
> -       drm_dev_unref(drm);
> +dev_put:
> +       drm_dev_put(drm);
>         return ret;
>  }
>
> @@ -265,7 +265,7 @@ static int tve200_remove(struct platform_device *pdev)
>                 drm_panel_bridge_remove(priv->bridge);
>         drm_mode_config_cleanup(drm);
>         clk_disable_unprepare(priv->pclk);
> -       drm_dev_unref(drm);
> +       drm_dev_put(drm);
>
>         return 0;
>  }
> diff --git a/drivers/gpu/drm/udl/udl_drv.c b/drivers/gpu/drm/udl/udl_drv.c
> index 9ef515df724b..a63e3011e971 100644
> --- a/drivers/gpu/drm/udl/udl_drv.c
> +++ b/drivers/gpu/drm/udl/udl_drv.c
> @@ -94,7 +94,7 @@ static int udl_usb_probe(struct usb_interface *interface,
>         return 0;
>
>  err_free:
> -       drm_dev_unref(dev);
> +       drm_dev_put(dev);
>         return r;
>  }
>
> diff --git a/drivers/gpu/drm/vc4/vc4_drv.c b/drivers/gpu/drm/vc4/vc4_drv.c
> index 466d0a27b415..e5d49b28e784 100644
> --- a/drivers/gpu/drm/vc4/vc4_drv.c
> +++ b/drivers/gpu/drm/vc4/vc4_drv.c
> @@ -288,7 +288,7 @@ static int vc4_drm_bind(struct device *dev)
>
>         ret = vc4_bo_cache_init(drm);
>         if (ret)
> -               goto dev_unref;
> +               goto dev_put;
>
>         drm_mode_config_init(drm);
>
> @@ -313,8 +313,8 @@ static int vc4_drm_bind(struct device *dev)
>  gem_destroy:
>         vc4_gem_destroy(drm);
>         vc4_bo_cache_destroy(drm);
> -dev_unref:
> -       drm_dev_unref(drm);
> +dev_put:
> +       drm_dev_put(drm);
>         return ret;
>  }
>
> @@ -331,7 +331,7 @@ static void vc4_drm_unbind(struct device *dev)
>
>         drm_atomic_private_obj_fini(&vc4->ctm_manager);
>
> -       drm_dev_unref(drm);
> +       drm_dev_put(drm);
>  }
>
>  static const struct component_master_ops vc4_drm_ops = {
> diff --git a/drivers/gpu/drm/vgem/vgem_drv.c b/drivers/gpu/drm/vgem/vgem_drv.c
> index c64a85950c82..4cb2c9119e48 100644
> --- a/drivers/gpu/drm/vgem/vgem_drv.c
> +++ b/drivers/gpu/drm/vgem/vgem_drv.c
> @@ -504,7 +504,7 @@ static int __init vgem_init(void)
>  static void __exit vgem_exit(void)
>  {
>         drm_dev_unregister(&vgem_device->drm);
> -       drm_dev_unref(&vgem_device->drm);
> +       drm_dev_put(&vgem_device->drm);
>  }
>
>  module_init(vgem_init);
> diff --git a/drivers/gpu/drm/virtio/virtgpu_drm_bus.c b/drivers/gpu/drm/virtio/virtgpu_drm_bus.c
> index 7df8d0c9026a..094b876f6da6 100644
> --- a/drivers/gpu/drm/virtio/virtgpu_drm_bus.c
> +++ b/drivers/gpu/drm/virtio/virtgpu_drm_bus.c
> @@ -85,6 +85,6 @@ int drm_virtio_init(struct drm_driver *driver, struct virtio_device *vdev)
>         return 0;
>
>  err_free:
> -       drm_dev_unref(dev);
> +       drm_dev_put(dev);
>         return ret;
>  }
> diff --git a/drivers/gpu/drm/zte/zx_drm_drv.c b/drivers/gpu/drm/zte/zx_drm_drv.c
> index 6f4205e80378..02ae1caf6e8a 100644
> --- a/drivers/gpu/drm/zte/zx_drm_drv.c
> +++ b/drivers/gpu/drm/zte/zx_drm_drv.c
> @@ -122,7 +122,7 @@ static int zx_drm_bind(struct device *dev)
>         component_unbind_all(dev, drm);
>  out_unregister:
>         dev_set_drvdata(dev, NULL);
> -       drm_dev_unref(drm);
> +       drm_dev_put(drm);
>         return ret;
>  }
>
> @@ -136,7 +136,7 @@ static void zx_drm_unbind(struct device *dev)
>         drm_mode_config_cleanup(drm);
>         component_unbind_all(dev, drm);
>         dev_set_drvdata(dev, NULL);
> -       drm_dev_unref(drm);
> +       drm_dev_put(drm);
>  }
>
>  static const struct component_master_ops zx_drm_master_ops = {
> diff --git a/include/drm/drm_drv.h b/include/drm/drm_drv.h
> index 7e545f5f94d3..66ee535e5a48 100644
> --- a/include/drm/drm_drv.h
> +++ b/include/drm/drm_drv.h
> @@ -622,7 +622,6 @@ void drm_dev_unregister(struct drm_device *dev);
>
>  void drm_dev_get(struct drm_device *dev);
>  void drm_dev_put(struct drm_device *dev);
> -void drm_dev_unref(struct drm_device *dev);
>  void drm_put_dev(struct drm_device *dev);
>  bool drm_dev_enter(struct drm_device *dev, int *idx);
>  void drm_dev_exit(int idx);
> diff --git a/scripts/coccinelle/api/drm-get-put.cocci b/scripts/coccinelle/api/drm-get-put.cocci
> index 5339a8e0d76a..b51bfaa58b83 100644
> --- a/scripts/coccinelle/api/drm-get-put.cocci
> +++ b/scripts/coccinelle/api/drm-get-put.cocci
> @@ -16,8 +16,6 @@ expression object;
>  @@
>
>  (
> -- drm_dev_unref(object)
> -+ drm_dev_put(object)
>  )
>
>  @r depends on report@
> @@ -26,7 +24,6 @@ position p;
>  @@
>
>  (
> -drm_dev_unref@p(object)
>  )
>
>  @script:python depends on report@
> --
> 2.14.4
>
> _______________________________________________
> dri-devel mailing list
> dri-devel@xxxxxxxxxxxxxxxxxxxxx
> https://lists.freedesktop.org/mailman/listinfo/dri-devel



-- 
Benjamin Gaignard

Graphic Study Group

Linaro.org │ Open source software for ARM SoCs

Follow Linaro: Facebook | Twitter | Blog
_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/dri-devel




[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux