ar71xx: pb44_spi: call pb44_spi_{en,dis}able from probe/remove
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29709 3c298f89-4303-0410-b956-a3cf2f4a3e73master
parent
a1de404466
commit
d4f8c16d01
|
@ -110,8 +110,6 @@ static int pb44_spi_setup_cs(struct spi_device *spi)
|
||||||
{
|
{
|
||||||
struct ar71xx_spi *sp = spidev_to_sp(spi);
|
struct ar71xx_spi *sp = spidev_to_sp(spi);
|
||||||
|
|
||||||
pb44_spi_enable(sp);
|
|
||||||
|
|
||||||
if (spi->chip_select) {
|
if (spi->chip_select) {
|
||||||
unsigned long gpio = (unsigned long) spi->controller_data;
|
unsigned long gpio = (unsigned long) spi->controller_data;
|
||||||
int status = 0;
|
int status = 0;
|
||||||
|
@ -138,14 +136,10 @@ static int pb44_spi_setup_cs(struct spi_device *spi)
|
||||||
|
|
||||||
static void pb44_spi_cleanup_cs(struct spi_device *spi)
|
static void pb44_spi_cleanup_cs(struct spi_device *spi)
|
||||||
{
|
{
|
||||||
struct ar71xx_spi *sp = spidev_to_sp(spi);
|
|
||||||
|
|
||||||
if (spi->chip_select) {
|
if (spi->chip_select) {
|
||||||
unsigned long gpio = (unsigned long) spi->controller_data;
|
unsigned long gpio = (unsigned long) spi->controller_data;
|
||||||
gpio_free(gpio);
|
gpio_free(gpio);
|
||||||
}
|
}
|
||||||
|
|
||||||
pb44_spi_disable(sp);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static int pb44_spi_setup(struct spi_device *spi)
|
static int pb44_spi_setup(struct spi_device *spi)
|
||||||
|
@ -256,10 +250,13 @@ static int pb44_spi_probe(struct platform_device *pdev)
|
||||||
goto err1;
|
goto err1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pb44_spi_enable(sp);
|
||||||
|
|
||||||
ret = spi_bitbang_start(&sp->bitbang);
|
ret = spi_bitbang_start(&sp->bitbang);
|
||||||
if (!ret)
|
if (!ret)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
pb44_spi_disable(sp);
|
||||||
iounmap(sp->base);
|
iounmap(sp->base);
|
||||||
err1:
|
err1:
|
||||||
platform_set_drvdata(pdev, NULL);
|
platform_set_drvdata(pdev, NULL);
|
||||||
|
@ -273,6 +270,7 @@ static int pb44_spi_remove(struct platform_device *pdev)
|
||||||
struct ar71xx_spi *sp = platform_get_drvdata(pdev);
|
struct ar71xx_spi *sp = platform_get_drvdata(pdev);
|
||||||
|
|
||||||
spi_bitbang_stop(&sp->bitbang);
|
spi_bitbang_stop(&sp->bitbang);
|
||||||
|
pb44_spi_disable(sp);
|
||||||
iounmap(sp->base);
|
iounmap(sp->base);
|
||||||
platform_set_drvdata(pdev, NULL);
|
platform_set_drvdata(pdev, NULL);
|
||||||
spi_master_put(sp->bitbang.master);
|
spi_master_put(sp->bitbang.master);
|
||||||
|
|
Loading…
Reference in New Issue