mirror of
https://github.com/torvalds/linux.git
synced 2024-11-13 23:51:39 +00:00
dmaengine: ti: omap-dma: Pass sdma auxdata to driver and use it
We can now start passing sdma auxdata to the dmaengine driver to start removing the platform based sdma init. Cc: Aaro Koskinen <aaro.koskinen@iki.fi> Cc: Arnd Bergmann <arnd@arndb.de> Cc: Peter Ujfalusi <peter.ujfalusi@ti.com> Cc: Russell King <rmk+kernel@armlinux.org.uk> Cc: Vinod Koul <vkoul@kernel.org> Acked-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Tested-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Acked-by: Vinod Koul <vkoul@kernel.org> Signed-off-by: Tony Lindgren <tony@atomide.com>
This commit is contained in:
parent
9938ee9cf9
commit
211010aeb0
@ -345,9 +345,12 @@ static inline int dra7xx_pciess_reset(struct omap_hwmod *oh)
|
||||
}
|
||||
#endif
|
||||
|
||||
struct omap_system_dma_plat_info;
|
||||
|
||||
void pdata_quirks_init(const struct of_device_id *);
|
||||
void omap_auxdata_legacy_init(struct device *dev);
|
||||
void omap_pcs_legacy_init(int irq, void (*rearm)(void));
|
||||
extern struct omap_system_dma_plat_info dma_plat_info;
|
||||
|
||||
struct omap_sdrc_params;
|
||||
extern void omap_sdrc_init(struct omap_sdrc_params *sdrc_cs0,
|
||||
|
@ -217,7 +217,7 @@ static struct omap_dma_dev_attr dma_attr = {
|
||||
.lch_count = 32,
|
||||
};
|
||||
|
||||
static struct omap_system_dma_plat_info dma_plat_info __initdata = {
|
||||
struct omap_system_dma_plat_info dma_plat_info = {
|
||||
.reg_map = reg_map,
|
||||
.channel_stride = 0x60,
|
||||
.dma_attr = &dma_attr,
|
||||
|
@ -514,6 +514,7 @@ static struct of_dev_auxdata omap_auxdata_lookup[] = {
|
||||
/* Common auxdata */
|
||||
OF_DEV_AUXDATA("ti,sysc", 0, NULL, &ti_sysc_pdata),
|
||||
OF_DEV_AUXDATA("pinctrl-single", 0, NULL, &pcs_pdata),
|
||||
OF_DEV_AUXDATA("ti,omap-sdma", 0, NULL, &dma_plat_info),
|
||||
{ /* sentinel */ },
|
||||
};
|
||||
|
||||
|
@ -1585,14 +1585,18 @@ static int omap_dma_probe(struct platform_device *pdev)
|
||||
return PTR_ERR(od->base);
|
||||
|
||||
conf = of_device_get_match_data(&pdev->dev);
|
||||
if (conf)
|
||||
if (conf) {
|
||||
od->cfg = conf;
|
||||
else
|
||||
od->plat = dev_get_platdata(&pdev->dev);
|
||||
if (!od->plat)
|
||||
dev_warn(&pdev->dev, "no sdma auxdata needed?\n");
|
||||
} else {
|
||||
od->cfg = &default_cfg;
|
||||
|
||||
od->plat = omap_get_plat_info();
|
||||
if (!od->plat)
|
||||
return -EPROBE_DEFER;
|
||||
od->plat = omap_get_plat_info();
|
||||
if (!od->plat)
|
||||
return -EPROBE_DEFER;
|
||||
}
|
||||
|
||||
od->reg_map = od->plat->reg_map;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user