From: Mark Brown Date: Fri, 3 Oct 2014 15:33:39 +0000 (+0100) Subject: Merge remote-tracking branches 'spi/topic/davinci', 'spi/topic/doc', 'spi/topic/dw... X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=7020d7697178afbb3fe579edb99afb05211e4bf1;p=GitHub%2Fmoto-9609%2Fandroid_kernel_motorola_exynos9610.git Merge remote-tracking branches 'spi/topic/davinci', 'spi/topic/doc', 'spi/topic/dw' and 'spi/topic/fsl' into spi-next --- 7020d7697178afbb3fe579edb99afb05211e4bf1 diff --cc drivers/spi/spi-davinci.c index 63c82a61c975,25886d8a84ba,276a3884fb3c,514852cb7b3c,276a3884fb3c..63700ab7bd9f --- a/drivers/spi/spi-davinci.c +++ b/drivers/spi/spi-davinci.c @@@@@@ -414,20 -441,20 -413,20 -417,20 -413,20 +445,20 @@@@@@ static int davinci_spi_setup(struct spi spi->chip_select < pdata->num_chipselect && pdata->chip_sel[spi->chip_select] != SPI_INTERN_CS) { spi->cs_gpio = pdata->chip_sel[spi->chip_select]; --- retval = gpio_request_one(spi->cs_gpio, --- flags, dev_name(&spi->dev)); +++ retval = gpio_direction_output( +++ spi->cs_gpio, !(spi->mode & SPI_CS_HIGH)); internal_cs = false; } ---- } ---- if (retval) { ---- dev_err(&spi->dev, "GPIO %d setup failed (%d)\n", ---- spi->cs_gpio, retval); ---- return retval; ---- } ++++ if (retval) { ++++ dev_err(&spi->dev, "GPIO %d setup failed (%d)\n", ++++ spi->cs_gpio, retval); ++++ return retval; ++++ } ---- if (internal_cs) ---- set_io_bits(dspi->base + SPIPC0, 1 << spi->chip_select); ++++ if (internal_cs) ++++ set_io_bits(dspi->base + SPIPC0, 1 << spi->chip_select); ++++ } if (spi->mode & SPI_READY) set_io_bits(dspi->base + SPIPC0, SPIPC0_SPIENA_MASK); @@@@@@ -437,7 -464,16 -436,13 -440,13 -436,13 +468,16 @@@@@@ else clear_io_bits(dspi->base + SPIGCR1, SPIGCR1_LOOPBACK_MASK); - --- return retval; + +++ return davinci_spi_of_setup(spi); + } + + static void davinci_spi_cleanup(struct spi_device *spi) + { --- if (spi->cs_gpio >= 0) --- gpio_free(spi->cs_gpio); + +++ struct davinci_spi_config *spicfg = spi->controller_data; + +++ + +++ spi->controller_data = NULL; + +++ if (spi->dev.of_node) + +++ kfree(spicfg); } static int davinci_spi_check_error(struct davinci_spi *dspi, int int_status) diff --cc drivers/spi/spi-dw.c index 33117fbbf689,29f33143b795,29f33143b795,6bb484919e58,29f33143b795..729215885250 --- a/drivers/spi/spi-dw.c +++ b/drivers/spi/spi-dw.c @@@@@@ -133,9 -133,10 -133,10 -127,9 -133,10 +127,9 @@@@@@ static int dw_spi_debugfs_init(struct d return 0; } --- -static void mrst_spi_debugfs_remove(struct dw_spi *dws) +++ +static void dw_spi_debugfs_remove(struct dw_spi *dws) { -- - if (dws->debugfs) -- - debugfs_remove_recursive(dws->debugfs); ++ + debugfs_remove_recursive(dws->debugfs); } #else