mirror of
https://github.com/torvalds/linux.git
synced 2024-11-22 12:11:40 +00:00
ata: pata_ep93xx: remove legacy pinctrl use
Drop legacy acquire/release since we are using pinctrl for this now. Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me> Tested-by: Alexander Sverdlin <alexander.sverdlin@gmail.com> Reviewed-by: Sergey Shtylyov <s.shtylyov@omp.ru> Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Reviewed-by: Mark Brown <broonie@kernel.org> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Reviewed-by: Andy Shevchenko <andy@kernel.org> Acked-by: Damien Le Moal <dlemoal@kernel.org> Acked-by: Vinod Koul <vkoul@kernel.org> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
parent
a48ac3dc56
commit
a632229be2
@ -779,78 +779,6 @@ void __init ep93xx_register_ide(void)
|
||||
platform_device_register(&ep93xx_ide_device);
|
||||
}
|
||||
|
||||
int ep93xx_ide_acquire_gpio(struct platform_device *pdev)
|
||||
{
|
||||
int err;
|
||||
int i;
|
||||
|
||||
err = gpio_request(EP93XX_GPIO_LINE_EGPIO2, dev_name(&pdev->dev));
|
||||
if (err)
|
||||
return err;
|
||||
err = gpio_request(EP93XX_GPIO_LINE_EGPIO15, dev_name(&pdev->dev));
|
||||
if (err)
|
||||
goto fail_egpio15;
|
||||
for (i = 2; i < 8; i++) {
|
||||
err = gpio_request(EP93XX_GPIO_LINE_E(i), dev_name(&pdev->dev));
|
||||
if (err)
|
||||
goto fail_gpio_e;
|
||||
}
|
||||
for (i = 4; i < 8; i++) {
|
||||
err = gpio_request(EP93XX_GPIO_LINE_G(i), dev_name(&pdev->dev));
|
||||
if (err)
|
||||
goto fail_gpio_g;
|
||||
}
|
||||
for (i = 0; i < 8; i++) {
|
||||
err = gpio_request(EP93XX_GPIO_LINE_H(i), dev_name(&pdev->dev));
|
||||
if (err)
|
||||
goto fail_gpio_h;
|
||||
}
|
||||
|
||||
/* GPIO ports E[7:2], G[7:4] and H used by IDE */
|
||||
ep93xx_devcfg_clear_bits(EP93XX_SYSCON_DEVCFG_EONIDE |
|
||||
EP93XX_SYSCON_DEVCFG_GONIDE |
|
||||
EP93XX_SYSCON_DEVCFG_HONIDE);
|
||||
return 0;
|
||||
|
||||
fail_gpio_h:
|
||||
for (--i; i >= 0; --i)
|
||||
gpio_free(EP93XX_GPIO_LINE_H(i));
|
||||
i = 8;
|
||||
fail_gpio_g:
|
||||
for (--i; i >= 4; --i)
|
||||
gpio_free(EP93XX_GPIO_LINE_G(i));
|
||||
i = 8;
|
||||
fail_gpio_e:
|
||||
for (--i; i >= 2; --i)
|
||||
gpio_free(EP93XX_GPIO_LINE_E(i));
|
||||
gpio_free(EP93XX_GPIO_LINE_EGPIO15);
|
||||
fail_egpio15:
|
||||
gpio_free(EP93XX_GPIO_LINE_EGPIO2);
|
||||
return err;
|
||||
}
|
||||
EXPORT_SYMBOL(ep93xx_ide_acquire_gpio);
|
||||
|
||||
void ep93xx_ide_release_gpio(struct platform_device *pdev)
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 2; i < 8; i++)
|
||||
gpio_free(EP93XX_GPIO_LINE_E(i));
|
||||
for (i = 4; i < 8; i++)
|
||||
gpio_free(EP93XX_GPIO_LINE_G(i));
|
||||
for (i = 0; i < 8; i++)
|
||||
gpio_free(EP93XX_GPIO_LINE_H(i));
|
||||
gpio_free(EP93XX_GPIO_LINE_EGPIO15);
|
||||
gpio_free(EP93XX_GPIO_LINE_EGPIO2);
|
||||
|
||||
|
||||
/* GPIO ports E[7:2], G[7:4] and H used by GPIO */
|
||||
ep93xx_devcfg_set_bits(EP93XX_SYSCON_DEVCFG_EONIDE |
|
||||
EP93XX_SYSCON_DEVCFG_GONIDE |
|
||||
EP93XX_SYSCON_DEVCFG_HONIDE);
|
||||
}
|
||||
EXPORT_SYMBOL(ep93xx_ide_release_gpio);
|
||||
|
||||
/*************************************************************************
|
||||
* EP93xx ADC
|
||||
*************************************************************************/
|
||||
|
@ -922,28 +922,18 @@ static int ep93xx_pata_probe(struct platform_device *pdev)
|
||||
void __iomem *ide_base;
|
||||
int err;
|
||||
|
||||
err = ep93xx_ide_acquire_gpio(pdev);
|
||||
if (err)
|
||||
return err;
|
||||
|
||||
/* INT[3] (IRQ_EP93XX_EXT3) line connected as pull down */
|
||||
irq = platform_get_irq(pdev, 0);
|
||||
if (irq < 0) {
|
||||
err = irq;
|
||||
goto err_rel_gpio;
|
||||
}
|
||||
if (irq < 0)
|
||||
return irq;
|
||||
|
||||
ide_base = devm_platform_get_and_ioremap_resource(pdev, 0, &mem_res);
|
||||
if (IS_ERR(ide_base)) {
|
||||
err = PTR_ERR(ide_base);
|
||||
goto err_rel_gpio;
|
||||
}
|
||||
if (IS_ERR(ide_base))
|
||||
return PTR_ERR(ide_base);
|
||||
|
||||
drv_data = devm_kzalloc(&pdev->dev, sizeof(*drv_data), GFP_KERNEL);
|
||||
if (!drv_data) {
|
||||
err = -ENOMEM;
|
||||
goto err_rel_gpio;
|
||||
}
|
||||
if (!drv_data)
|
||||
return -ENOMEM;
|
||||
|
||||
drv_data->pdev = pdev;
|
||||
drv_data->ide_base = ide_base;
|
||||
@ -1002,8 +992,6 @@ static int ep93xx_pata_probe(struct platform_device *pdev)
|
||||
|
||||
err_rel_dma:
|
||||
ep93xx_pata_release_dma(drv_data);
|
||||
err_rel_gpio:
|
||||
ep93xx_ide_release_gpio(pdev);
|
||||
return err;
|
||||
}
|
||||
|
||||
@ -1015,7 +1003,6 @@ static void ep93xx_pata_remove(struct platform_device *pdev)
|
||||
ata_host_detach(host);
|
||||
ep93xx_pata_release_dma(drv_data);
|
||||
ep93xx_pata_clear_regs(drv_data->ide_base);
|
||||
ep93xx_ide_release_gpio(pdev);
|
||||
}
|
||||
|
||||
static const struct of_device_id ep93xx_pata_of_ids[] = {
|
||||
|
@ -37,15 +37,11 @@ struct ep93xx_regmap_adev {
|
||||
container_of((_adev), struct ep93xx_regmap_adev, adev)
|
||||
|
||||
#ifdef CONFIG_ARCH_EP93XX
|
||||
int ep93xx_ide_acquire_gpio(struct platform_device *pdev);
|
||||
void ep93xx_ide_release_gpio(struct platform_device *pdev);
|
||||
int ep93xx_i2s_acquire(void);
|
||||
void ep93xx_i2s_release(void);
|
||||
unsigned int ep93xx_chip_revision(void);
|
||||
|
||||
#else
|
||||
static inline int ep93xx_ide_acquire_gpio(struct platform_device *pdev) { return 0; }
|
||||
static inline void ep93xx_ide_release_gpio(struct platform_device *pdev) {}
|
||||
static inline int ep93xx_i2s_acquire(void) { return 0; }
|
||||
static inline void ep93xx_i2s_release(void) {}
|
||||
static inline unsigned int ep93xx_chip_revision(void) { return 0; }
|
||||
|
Loading…
Reference in New Issue
Block a user