From baf8532a147d5b76681ce040e2c8f25a3f0e718d Mon Sep 17 00:00:00 2001 From: Alex Dubov Date: Sat, 9 Feb 2008 10:20:54 -0800 Subject: memstick: initial commit for Sony MemoryStick support Sony MemoryStick cards are used in many products manufactured by Sony. They are available both as storage and as IO expansion cards. Currently, only MemoryStick Pro storage cards are supported via TI FlashMedia MemoryStick interface. [mboton@gmail.com: biuld fix] [akpm@linux-foundation.org: build fix] Signed-off-by: Alex Dubov Signed-off-by: Miguel Boton Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- drivers/misc/tifm_7xx1.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'drivers/misc/tifm_7xx1.c') diff --git a/drivers/misc/tifm_7xx1.c b/drivers/misc/tifm_7xx1.c index 54380da343a5..63a089b29545 100644 --- a/drivers/misc/tifm_7xx1.c +++ b/drivers/misc/tifm_7xx1.c @@ -302,6 +302,21 @@ static int tifm_7xx1_resume(struct pci_dev *dev) #endif /* CONFIG_PM */ +static int tifm_7xx1_dummy_has_ms_pif(struct tifm_adapter *fm, + struct tifm_dev *sock) +{ + return 0; +} + +static int tifm_7xx1_has_ms_pif(struct tifm_adapter *fm, struct tifm_dev *sock) +{ + if (((fm->num_sockets == 4) && (sock->socket_id == 2)) + || ((fm->num_sockets == 2) && (sock->socket_id == 0))) + return 1; + + return 0; +} + static int tifm_7xx1_probe(struct pci_dev *dev, const struct pci_device_id *dev_id) { @@ -336,6 +351,7 @@ static int tifm_7xx1_probe(struct pci_dev *dev, INIT_WORK(&fm->media_switcher, tifm_7xx1_switch_media); fm->eject = tifm_7xx1_eject; + fm->has_ms_pif = tifm_7xx1_has_ms_pif; pci_set_drvdata(dev, fm); fm->addr = ioremap(pci_resource_start(dev, 0), @@ -377,6 +393,7 @@ static void tifm_7xx1_remove(struct pci_dev *dev) int cnt; fm->eject = tifm_7xx1_dummy_eject; + fm->has_ms_pif = tifm_7xx1_dummy_has_ms_pif; writel(TIFM_IRQ_SETALL, fm->addr + FM_CLEAR_INTERRUPT_ENABLE); mmiowb(); free_irq(dev->irq, fm); -- cgit v1.2.2