Merge tag 'dlm-4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/linux-dlm
[deliverable/linux.git] / drivers / dma / tegra20-apb-dma.c
index 935da8192f59cc18e3353ba4668126c52f1d2673..3871f29e523d1d5d0bfabd599814e5559729cc47 100644 (file)
@@ -1292,40 +1292,19 @@ static const struct tegra_dma_chip_data tegra148_dma_chip_data = {
        .support_separate_wcount_reg = true,
 };
 
-
-static const struct of_device_id tegra_dma_of_match[] = {
-       {
-               .compatible = "nvidia,tegra148-apbdma",
-               .data = &tegra148_dma_chip_data,
-       }, {
-               .compatible = "nvidia,tegra114-apbdma",
-               .data = &tegra114_dma_chip_data,
-       }, {
-               .compatible = "nvidia,tegra30-apbdma",
-               .data = &tegra30_dma_chip_data,
-       }, {
-               .compatible = "nvidia,tegra20-apbdma",
-               .data = &tegra20_dma_chip_data,
-       }, {
-       },
-};
-MODULE_DEVICE_TABLE(of, tegra_dma_of_match);
-
 static int tegra_dma_probe(struct platform_device *pdev)
 {
        struct resource *res;
        struct tegra_dma *tdma;
        int ret;
        int i;
-       const struct tegra_dma_chip_data *cdata = NULL;
-       const struct of_device_id *match;
+       const struct tegra_dma_chip_data *cdata;
 
-       match = of_match_device(tegra_dma_of_match, &pdev->dev);
-       if (!match) {
-               dev_err(&pdev->dev, "Error: No device match found\n");
+       cdata = of_device_get_match_data(&pdev->dev);
+       if (!cdata) {
+               dev_err(&pdev->dev, "Error: No device match data found\n");
                return -ENODEV;
        }
-       cdata = match->data;
 
        tdma = devm_kzalloc(&pdev->dev, sizeof(*tdma) + cdata->nr_channels *
                        sizeof(struct tegra_dma_channel), GFP_KERNEL);
@@ -1612,6 +1591,24 @@ static const struct dev_pm_ops tegra_dma_dev_pm_ops = {
        SET_SYSTEM_SLEEP_PM_OPS(tegra_dma_pm_suspend, tegra_dma_pm_resume)
 };
 
+static const struct of_device_id tegra_dma_of_match[] = {
+       {
+               .compatible = "nvidia,tegra148-apbdma",
+               .data = &tegra148_dma_chip_data,
+       }, {
+               .compatible = "nvidia,tegra114-apbdma",
+               .data = &tegra114_dma_chip_data,
+       }, {
+               .compatible = "nvidia,tegra30-apbdma",
+               .data = &tegra30_dma_chip_data,
+       }, {
+               .compatible = "nvidia,tegra20-apbdma",
+               .data = &tegra20_dma_chip_data,
+       }, {
+       },
+};
+MODULE_DEVICE_TABLE(of, tegra_dma_of_match);
+
 static struct platform_driver tegra_dmac_driver = {
        .driver = {
                .name   = "tegra-apbdma",
This page took 0.025551 seconds and 5 git commands to generate.