X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=drivers%2Fpcmcia%2Fpd6729.c;h=4f00c9dda0754ba562d59d78e602b98598f17187;hb=c7b5ebbddf7bcd3651947760f423e3783bbe6573;hp=694e13f43aacfd4446e4641d1beef2057de3206d;hpb=5fc42a6ed0ec81088c37caadb45898ae6cd0ad2c;p=linux-2.6.git diff --git a/drivers/pcmcia/pd6729.c b/drivers/pcmcia/pd6729.c index 694e13f43..4f00c9dda 100644 --- a/drivers/pcmcia/pd6729.c +++ b/drivers/pcmcia/pd6729.c @@ -28,11 +28,15 @@ #include "cirrus.h" MODULE_LICENSE("GPL"); +MODULE_DESCRIPTION("Driver for the Cirrus PD6729 PCI-PCMCIA bridge"); +MODULE_AUTHOR("Jun Komuro "); #define MAX_SOCKETS 2 -/* simple helper functions */ -/* External clock time, in nanoseconds. 120 ns = 8.33 MHz */ +/* + * simple helper functions + * External clock time, in nanoseconds. 120 ns = 8.33 MHz + */ #define to_cycles(ns) ((ns)/120) static spinlock_t port_lock = SPIN_LOCK_UNLOCKED; @@ -225,8 +229,10 @@ static int pd6729_get_status(struct pcmcia_socket *sock, u_int *value) *value |= SS_DETECT; } - /* IO cards have a different meaning of bits 0,1 */ - /* Also notice the inverse-logic on the bits */ + /* + * IO cards have a different meaning of bits 0,1 + * Also notice the inverse-logic on the bits + */ if (indirect_read(socket, I365_INTCTL) & I365_PC_IOCARD) { /* IO card */ if (!(status & I365_CS_STSCHG)) @@ -268,8 +274,10 @@ static int pd6729_get_socket(struct pcmcia_socket *sock, socket_state_t *state) state->io_irq = 0; state->csc_mask = 0; - /* First the power status of the socket */ - /* PCTRL - Power Control Register */ + /* + * First the power status of the socket + * PCTRL - Power Control Register + */ reg = indirect_read(socket, I365_POWER); if (reg & I365_PWR_AUTO) @@ -294,8 +302,10 @@ static int pd6729_get_socket(struct pcmcia_socket *sock, socket_state_t *state) state->Vpp = 120; } - /* Now the IO card, RESET flags and IO interrupt */ - /* IGENC, Interrupt and General Control */ + /* + * Now the IO card, RESET flags and IO interrupt + * IGENC, Interrupt and General Control + */ reg = indirect_read(socket, I365_INTCTL); if ((reg & I365_PC_RESET) == 0) @@ -306,8 +316,10 @@ static int pd6729_get_socket(struct pcmcia_socket *sock, socket_state_t *state) /* Set the IRQ number */ state->io_irq = socket->socket.pci_irq; - /* Card status change */ - /* CSCICR, Card Status Change Interrupt Configuration */ + /* + * Card status change + * CSCICR, Card Status Change Interrupt Configuration + */ reg = indirect_read(socket, I365_CSCINT); if (reg & I365_CSC_DETECT) @@ -490,10 +502,10 @@ static int pd6729_set_mem_map(struct pcmcia_socket *sock, struct pccard_mem_map return -EINVAL; } - if ((mem->sys_start > mem->sys_stop) || (mem->speed > 1000)) { + if ((mem->res->start > mem->res->end) || (mem->speed > 1000)) { printk("pd6729_set_mem_map: invalid address / speed"); /* printk("invalid mem map for socket %i : %lx to %lx with a start of %x\n", - sock, mem->sys_start, mem->sys_stop, mem->card_start); */ + sock, mem->res->start, mem->res->end, mem->card_start); */ return -EINVAL; } @@ -503,7 +515,7 @@ static int pd6729_set_mem_map(struct pcmcia_socket *sock, struct pccard_mem_map /* write the start address */ base = I365_MEM(map); - i = (mem->sys_start >> 12) & 0x0fff; + i = (mem->res->start >> 12) & 0x0fff; if (mem->flags & MAP_16BIT) i |= I365_MEM_16BIT; if (mem->flags & MAP_0WS) @@ -512,7 +524,7 @@ static int pd6729_set_mem_map(struct pcmcia_socket *sock, struct pccard_mem_map /* write the stop address */ - i= (mem->sys_stop >> 12) & 0x0fff; + i= (mem->res->end >> 12) & 0x0fff; switch (to_cycles(mem->speed)) { case 0: break; @@ -531,11 +543,11 @@ static int pd6729_set_mem_map(struct pcmcia_socket *sock, struct pccard_mem_map /* Take care of high byte */ indirect_write(socket, PD67_EXT_INDEX, PD67_MEM_PAGE(map)); - indirect_write(socket, PD67_EXT_DATA, mem->sys_start >> 24); + indirect_write(socket, PD67_EXT_DATA, mem->res->start >> 24); /* card start */ - i = ((mem->card_start - mem->sys_start) >> 12) & 0x3fff; + i = ((mem->card_start - mem->res->start) >> 12) & 0x3fff; if (mem->flags & MAP_WRPROT) i |= I365_MEM_WRPROT; if (mem->flags & MAP_ATTRIB) { @@ -565,7 +577,7 @@ static int pd6729_init(struct pcmcia_socket *sock) int i; struct resource res = { .end = 0x0fff }; pccard_io_map io = { 0, 0, 0, 0, 1 }; - pccard_mem_map mem = { .res = &res, .sys_stop = 0x0fff }; + pccard_mem_map mem = { .res = &res, }; pd6729_set_socket(sock, &dead_socket); for (i = 0; i < 2; i++) { @@ -610,9 +622,11 @@ static int __devinit pd6729_pci_probe(struct pci_dev *dev, const struct pci_devi printk(KERN_INFO "pd6729: Cirrus PD6729 PCI to PCMCIA Bridge at 0x%lx on irq %d\n", pci_resource_start(dev, 0), dev->irq); printk(KERN_INFO "pd6729: configured as a %d socket device.\n", MAX_SOCKETS); - /* Since we have no memory BARs some firmware we may not - have had PCI_COMMAND_MEM enabled, yet the device needs - it. */ + /* + * Since we have no memory BARs some firmware we may not + * have had PCI_COMMAND_MEM enabled, yet the device needs + * it. + */ pci_read_config_byte(dev, PCI_COMMAND, &configbyte); if (!(configbyte & PCI_COMMAND_MEMORY)) { printk(KERN_DEBUG "pd6729: Enabling PCI_COMMAND_MEMORY.\n");