You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
spi_s3c24xx: pin configuration updates
Add a pin configuration callback for the s3c24xx SPI driver, as there are several options depending on the channel and the chip in use. This is needed as the controller may not have been setup by the initial bootloader and the fact that the SPI controller gets reset over suspend/resume into slave mode but the GPIO function registers do not. Signed-off-by: Ben Dooks <ben-linux@fluff.org> Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
committed by
Linus Torvalds
parent
f9b90e39cb
commit
cf46b973f7
@@ -247,6 +247,9 @@ static void s3c24xx_spi_initialsetup(struct s3c24xx_spi *hw)
|
||||
writeb(0xff, hw->regs + S3C2410_SPPRE);
|
||||
writeb(SPPIN_DEFAULT, hw->regs + S3C2410_SPPIN);
|
||||
writeb(SPCON_DEFAULT, hw->regs + S3C2410_SPCON);
|
||||
|
||||
if (hw->pdata && hw->pdata->gpio_setup)
|
||||
hw->pdata->gpio_setup(hw->pdata, 1);
|
||||
}
|
||||
|
||||
static int __init s3c24xx_spi_probe(struct platform_device *pdev)
|
||||
@@ -412,6 +415,9 @@ static int s3c24xx_spi_suspend(struct platform_device *pdev, pm_message_t msg)
|
||||
{
|
||||
struct s3c24xx_spi *hw = platform_get_drvdata(pdev);
|
||||
|
||||
if (hw->pdata && hw->pdata->gpio_setup)
|
||||
hw->pdata->gpio_setup(hw->pdata, 0);
|
||||
|
||||
clk_disable(hw->clk);
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user