Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1348098 > unrolled thread
| Started by | Laxman Dewangan <ldewangan@nvidia.com> |
|---|---|
| First post | 2016-03-02 15:50 +0100 |
| Last post | 2016-03-04 03:20 +0100 |
| Articles | 3 — 2 participants |
Back to article view | Back to linux.kernel
[PATCH V2] dma: tegra: don't open code of_device_get_match_data() Laxman Dewangan <ldewangan@nvidia.com> - 2016-03-02 15:50 +0100
Re: [PATCH V2] dma: tegra: don't open code of_device_get_match_data() Vinod Koul <vinod.koul@intel.com> - 2016-03-03 17:00 +0100
Re: [PATCH V2] dma: tegra: don't open code of_device_get_match_data() Laxman Dewangan <ldewangan@nvidia.com> - 2016-03-04 03:20 +0100
| From | Laxman Dewangan <ldewangan@nvidia.com> |
|---|---|
| Date | 2016-03-02 15:50 +0100 |
| Subject | [PATCH V2] dma: tegra: don't open code of_device_get_match_data() |
| Message-ID | <r8gg9-yT-5@gated-at.bofh.it> |
Use of_device_get_match_data() for getting matched data
instead of implementing this locally.
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Acked-by: Thierry Reding <treding@nvidia.com>
---
Changes form V1:
- Found that it is possible to move of_device_id table to down
where this is used i.e. just above the platform driver structure.
Make this change on V2.
- Added Acked by from Thierry.
drivers/dma/tegra20-apb-dma.c | 47 ++++++++++++++++++++-----------------------
1 file changed, 22 insertions(+), 25 deletions(-)
diff --git a/drivers/dma/tegra20-apb-dma.c b/drivers/dma/tegra20-apb-dma.c
index 935da81..3871f29 100644
--- a/drivers/dma/tegra20-apb-dma.c
+++ b/drivers/dma/tegra20-apb-dma.c
@@ -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",
--
2.1.4
[toc] | [next] | [standalone]
| From | Vinod Koul <vinod.koul@intel.com> |
|---|---|
| Date | 2016-03-03 17:00 +0100 |
| Message-ID | <r8DPt-O3-29@gated-at.bofh.it> |
| In reply to | #1348098 |
On Wed, Mar 02, 2016 at 07:59:26PM +0530, Laxman Dewangan wrote: > Use of_device_get_match_data() for getting matched data > instead of implementing this locally. > > Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com> > Acked-by: Thierry Reding <treding@nvidia.com> > > --- > Changes form V1: > - Found that it is possible to move of_device_id table to down > where this is used i.e. just above the platform driver structure. > Make this change on V2. But that is just noise and not relevant to the title which patch says. If you want to do this code move please send that separately. I have picked v1 for now -- ~Vinod
[toc] | [prev] | [next] | [standalone]
| From | Laxman Dewangan <ldewangan@nvidia.com> |
|---|---|
| Date | 2016-03-04 03:20 +0100 |
| Message-ID | <r8Nvs-85i-13@gated-at.bofh.it> |
| In reply to | #1349313 |
On Thursday 03 March 2016 09:30 PM, Vinod Koul wrote: > On Wed, Mar 02, 2016 at 07:59:26PM +0530, Laxman Dewangan wrote: >> Use of_device_get_match_data() for getting matched data >> instead of implementing this locally. >> >> Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com> >> Acked-by: Thierry Reding <treding@nvidia.com> >> >> --- >> Changes form V1: >> - Found that it is possible to move of_device_id table to down >> where this is used i.e. just above the platform driver structure. >> Make this change on V2. > But that is just noise and not relevant to the title which patch says. If > you want to do this code move please send that separately. I have picked v1 > for now > OK, fine with me. Will post another patch.
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web