[PATCH 2/8] spi: sirf: request and free cs gpio in setup and cleanup callbacks
From: Barry Song <hidden>
Date: 2014-09-07 00:50:19
Also in:
linux-spi
On 14-9-6 ??9:57, "Mark Brown" [off-list ref] wrote:
On Fri, Sep 05, 2014 at 11:34:57AM +0800, swingboard wrote:quoted
2014-09-05 3:19 GMT+08:00 Mark Brown [off-list ref]:quoted
quoted
I'm not quite sure I understand the rationale here - as far as I can tell this is making the GPIO request happen later not earlier so it's not clear to me what the problem this is fixing in the existing code. If the goal is to move the request around in the probe function whynotquoted
just move the existing code earlier in probe()?quoted
As GPIO cs can be high or low validate and the used GPIO pin with default value may high or low, it is need do spi device's chipselect invalidation work in spi_setup, the patch purpose for it. master->cs_gpios only assigned after spi_bitbang_start and the function call spi_setup, if keep the existing code there will result gpio usage before gpio request. just move gpio request code in spi_sirfsoc_setup before gpio use.I'm still having a hard time understanding why pulling the code earlier in probe isn't a better fix here.
Gpio is unknown before spi_bitbang_start(). Everything is done in the big routine spi_bitbang_start(). It includes: Get cs_gpios, extend spi devices, and setup cs to de-active. -barry