Hi Mark, On Fri, Apr 4, 2014 at 4:38 PM, Mark Brown <broonie@xxxxxxxxxx> wrote: > On Fri, Apr 04, 2014 at 08:59:47AM +0530, Harini Katakam wrote: >> On Fri, Apr 4, 2014 at 2:59 AM, Mark Brown <broonie@xxxxxxxxxx> wrote: > >> > Why would a transfer be being set up without a transfer being provided? > >> The setup function calls this function before a transfer is initiated. >> In this case NULL is passed to setup_transfer (see below) and >> SPI is initialized with default clock configuration. >> This initialization is necessary because otherwise this clock config >> would be done >> only after SPI is enabled in prepare_hardware, which is wrong. >> (I'm checking for master->busy in setup to address your previous >> comment on SPI). > > The requirement for setup() to work when other transfers are in progress > is clear and unambiguous, it really isn't acceptable to reconfigure > hardware in use by a runing transfer in setup(). > OK. I'll remove setup_transfer here and handle clock configuration elsewhere. >> I explained the same in SPI v2 changes and this valid there too. > > This is v2? > No. This "Zynq QSPI" patch is v1. I was referring to "Cadence SPI" v2 patch in which you pointed to these comments. Sorry for the confusion. <snip> >> >> +static int __maybe_unused zynq_qspi_suspend(struct device *_dev) >> >> +{ >> >> + struct platform_device *pdev = container_of(_dev, >> >> + struct platform_device, dev); >> >> + struct spi_master *master = platform_get_drvdata(pdev); >> >> + >> >> + spi_master_suspend(master); >> >> + >> >> + zynq_unprepare_transfer_hardware(master); > >> > Why are you unpreparing the hardware - the framework should be doing >> > that for you if the device is active, if it's not you've got an extra >> > clock disable here? > >> I called unprepare_hardware becuase it does the things necessary >> after master suspend - disable clock and controller. >> (I thought this was your suggestion for SPI?) > > Why are these things required after the core has already idled the > device (using exactly the same function)? Ok. It's unecessary I'll remove it. Regards, Harini -- To unsubscribe from this list: send the line "unsubscribe linux-doc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html