On Fri, Aug 24, 2018 at 04:12:15PM +0530, Dilip Kota wrote: > From: Girish Mahadevan <girishm@xxxxxxxxxxxxxx> > > This driver supports GENI based SPI Controller in the Qualcomm SOCs. The > Qualcomm Generic Interface (GENI) is a programmable module supporting a > wide range of serial interfaces including SPI. This driver supports SPI > operations using FIFO mode of transfer. > > Signed-off-by: Girish Mahadevan <girishm@xxxxxxxxxxxxxx> > Signed-off-by: Dilip Kota <dkota@xxxxxxxxxxxxxx> > --- > Addressing all the reviewer commets given in Patchset1. > Summerizing all the comments below: > > MAKEFILE: Arrange SPI-GENI driver in alphabetical order > Kconfig: Mark SPI_GENI driver dependent on QCOM_GENI_SE > Enable SPI core auto runtime pm, and remove runtime pm calls. > Remove spi_geni_unprepare_message(), spi_geni_unprepare_transfer_hardware() > Remove likely/unlikely keywords. > Remove get_spi_master() and use dev_get_drvdata() > Move request_irq to probe() > Mark bus number assignment to -1 as SPI core framework will assign dynamically > Use devm_spi_register_master() > Include platform_device.h instead of of_platform.h > Removing macros which are used only once: > #define SPI_NUM_CHIPSELECT 4 > #define SPI_XFER_TIMEOUT_MS 250 > Place Register field definitions next to respective Register definitions. > Replace int and u32 declerations to unsigned int. > Remove Hex numbers in debug prints. > Declare mode as u16 in spi_setup_word_len() > Remove the labels: setup_fifo_params_exit: exit_prepare_transfer_hardware: > Declaring struct spi_master as spi everywhere in the file. > Calling spi_finalize_current_transfer() for end of transfer. > Hard code the SPI controller max frequency instead of reading from DTSI node. > Spinlock not required, removed it. > Removed unrequired error prints. > Fix KASAN error in geni_spi_isr(). > Remove spi-geni-qcom.h > Remove inter words delay and CS to Clock toggle delay logic in the driver, as of now no clients are using it. > Will submit this logic in the next patchset. > Use major, minor and step macros to read from hardware version register. > > .../devicetree/bindings/soc/qcom/qcom,geni-se.txt | 2 - Please split to a separate patch and explain why you are removing spi-max-frequency? > drivers/spi/Kconfig | 12 + > drivers/spi/Makefile | 1 + > drivers/spi/spi-geni-qcom.c | 678 +++++++++++++++++++++ > 4 files changed, 691 insertions(+), 2 deletions(-) > create mode 100644 drivers/spi/spi-geni-qcom.c