|
@@ -12,6 +12,7 @@
|
|
|
#include <linux/debugfs.h>
|
|
|
#include <linux/device.h>
|
|
|
#include <linux/err.h>
|
|
|
+#include <linux/gpio.h>
|
|
|
#include <linux/init.h>
|
|
|
#include <linux/interrupt.h>
|
|
|
#include <linux/ioport.h>
|
|
@@ -28,7 +29,6 @@
|
|
|
#include <asm/unaligned.h>
|
|
|
|
|
|
#include <asm/arch/board.h>
|
|
|
-#include <asm/arch/gpio.h>
|
|
|
|
|
|
#include "atmel-mci-regs.h"
|
|
|
|
|
@@ -574,7 +574,7 @@ static int atmci_get_ro(struct mmc_host *mmc)
|
|
|
int read_only = 0;
|
|
|
struct atmel_mci *host = mmc_priv(mmc);
|
|
|
|
|
|
- if (host->wp_pin >= 0) {
|
|
|
+ if (gpio_is_valid(host->wp_pin)) {
|
|
|
read_only = gpio_get_value(host->wp_pin);
|
|
|
dev_dbg(&mmc->class_dev, "card is %s\n",
|
|
|
read_only ? "read-only" : "read-write");
|
|
@@ -636,7 +636,7 @@ static void atmci_detect_change(unsigned long data)
|
|
|
* been freed.
|
|
|
*/
|
|
|
smp_rmb();
|
|
|
- if (host->detect_pin < 0)
|
|
|
+ if (!gpio_is_valid(host->detect_pin))
|
|
|
return;
|
|
|
|
|
|
enable_irq(gpio_to_irq(host->detect_pin));
|
|
@@ -1051,7 +1051,7 @@ static int __init atmci_probe(struct platform_device *pdev)
|
|
|
|
|
|
/* Assume card is present if we don't have a detect pin */
|
|
|
host->present = 1;
|
|
|
- if (host->detect_pin >= 0) {
|
|
|
+ if (gpio_is_valid(host->detect_pin)) {
|
|
|
if (gpio_request(host->detect_pin, "mmc_detect")) {
|
|
|
dev_dbg(&mmc->class_dev, "no detect pin available\n");
|
|
|
host->detect_pin = -1;
|
|
@@ -1059,7 +1059,7 @@ static int __init atmci_probe(struct platform_device *pdev)
|
|
|
host->present = !gpio_get_value(host->detect_pin);
|
|
|
}
|
|
|
}
|
|
|
- if (host->wp_pin >= 0) {
|
|
|
+ if (gpio_is_valid(host->wp_pin)) {
|
|
|
if (gpio_request(host->wp_pin, "mmc_wp")) {
|
|
|
dev_dbg(&mmc->class_dev, "no WP pin available\n");
|
|
|
host->wp_pin = -1;
|
|
@@ -1070,7 +1070,7 @@ static int __init atmci_probe(struct platform_device *pdev)
|
|
|
|
|
|
mmc_add_host(mmc);
|
|
|
|
|
|
- if (host->detect_pin >= 0) {
|
|
|
+ if (gpio_is_valid(host->detect_pin)) {
|
|
|
setup_timer(&host->detect_timer, atmci_detect_change,
|
|
|
(unsigned long)host);
|
|
|
|
|
@@ -1113,7 +1113,7 @@ static int __exit atmci_remove(struct platform_device *pdev)
|
|
|
if (host) {
|
|
|
/* Debugfs stuff is cleaned up by mmc core */
|
|
|
|
|
|
- if (host->detect_pin >= 0) {
|
|
|
+ if (gpio_is_valid(host->detect_pin)) {
|
|
|
int pin = host->detect_pin;
|
|
|
|
|
|
/* Make sure the timer doesn't enable the interrupt */
|
|
@@ -1133,7 +1133,7 @@ static int __exit atmci_remove(struct platform_device *pdev)
|
|
|
mci_readl(host, SR);
|
|
|
clk_disable(host->mck);
|
|
|
|
|
|
- if (host->wp_pin >= 0)
|
|
|
+ if (gpio_is_valid(host->wp_pin))
|
|
|
gpio_free(host->wp_pin);
|
|
|
|
|
|
free_irq(platform_get_irq(pdev, 0), host->mmc);
|