Sudhakar Rajashekhara <[email protected]> writes: > On some platforms like DM355, the number of EDMA parameter > slots available for EDMA_SLOT_ANY usage are few. In such cases, > if MMC/SD uses 16 slots for each instance of MMC controller, > then the number of slots available for other modules will be > very few. > > By passing the number of EDMA slots to be used in MMC driver > from platform data, EDMA slots available for other purposes > can be controlled. > > Signed-off-by: Sudhakar Rajashekhara <[email protected]> > --- > arch/arm/mach-davinci/include/mach/mmc.h | 3 +++ > drivers/mmc/host/davinci_mmc.c | 22 +++++++++++++++------- > 2 files changed, 18 insertions(+), 7 deletions(-) >
[...] > @@ -1202,6 +1206,10 @@ static int __init davinci_mmcsd_probe(struct > platform_device *pdev) > > init_mmcsd_host(host); > > + host->nr_sg = pdata->nr_sg - 1; If a board doesn't setup pdata->nr_sg it will be zero, leaving host->nr_sg = -1. > + if (host->nr_sg > MAX_NR_SG || host->nr_sg == 0) > + host->nr_sg = MAX_NR_SG; Since host->nr_sg is unsigned, you get lucky and fix it up here, but for readability, this not too clean and should be more thorough. Wrapping the above in 'if (pdata->nr_sg)' is a more standard way of handling optional platform_data paramaters. Kevin _______________________________________________ Davinci-linux-open-source mailing list [email protected] http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
