From 26a0a10419fd8ee1b45f8a91f38ded230410b262 Mon Sep 17 00:00:00 2001 From: Simon Geis Date: Fri, 13 Dec 2019 14:53:04 +0100 Subject: PCMCIA/i82092: use dev_ instead of printk Improve the log output by using the device-aware dev_err()/dev_info() functions. While at it, update one remaining printk(KERN_ERR ...) call to the preferred pr_err() call and delete commented out debugging lines. Co-developed-by: Lukas Panzer Signed-off-by: Lukas Panzer Signed-off-by: Simon Geis [linux@dominikbrodowski.net: disapply unneeded part of patch] Signed-off-by: Dominik Brodowski --- drivers/pcmcia/i82092.c | 63 ++++++++++++++++++++++++++++--------------------- 1 file changed, 36 insertions(+), 27 deletions(-) diff --git a/drivers/pcmcia/i82092.c b/drivers/pcmcia/i82092.c index aad8a46605be..4971a667c730 100644 --- a/drivers/pcmcia/i82092.c +++ b/drivers/pcmcia/i82092.c @@ -92,11 +92,13 @@ static int i82092aa_pci_probe(struct pci_dev *dev, const struct pci_device_id *i break; default: - printk(KERN_ERR "i82092aa: Oops, you did something we didn't think of.\n"); + dev_err(&dev->dev, + "Oops, you did something we didn't think of.\n"); ret = -EIO; goto err_out_disable; } - printk(KERN_INFO "i82092aa: configured as a %d socket device.\n", socket_count); + dev_info(&dev->dev, "configured as a %d socket device.\n", + socket_count); if (!request_region(pci_resource_start(dev, 0), 2, "i82092aa")) { ret = -EBUSY; @@ -117,9 +119,9 @@ static int i82092aa_pci_probe(struct pci_dev *dev, const struct pci_device_id *i if (card_present(i)) { sockets[i].card_state = 3; - dev_dbg(&dev->dev, "i82092aa: slot %i is occupied\n", i); + dev_dbg(&dev->dev, "slot %i is occupied\n", i); } else { - dev_dbg(&dev->dev, "i82092aa: slot %i is vacant\n", i); + dev_dbg(&dev->dev, "slot %i is vacant\n", i); } } @@ -130,7 +132,8 @@ static int i82092aa_pci_probe(struct pci_dev *dev, const struct pci_device_id *i /* Register the interrupt handler */ dev_dbg(&dev->dev, "Requesting interrupt %i\n", dev->irq); if ((ret = request_irq(dev->irq, i82092aa_interrupt, IRQF_SHARED, "i82092aa", i82092aa_interrupt))) { - printk(KERN_ERR "i82092aa: Failed to register IRQ %d, aborting\n", dev->irq); + dev_err(&dev->dev, "Failed to register IRQ %d, aborting\n", + dev->irq); goto err_out_free_res; } @@ -306,7 +309,7 @@ static irqreturn_t i82092aa_interrupt(int irq, void *dev) while (1) { loopcount++; if (loopcount>20) { - printk(KERN_ERR "i82092aa: infinite eventloop in interrupt \n"); + pr_err("i82092aa: infinite eventloop in interrupt\n"); break; } @@ -326,7 +329,8 @@ static irqreturn_t i82092aa_interrupt(int irq, void *dev) if (csc & I365_CSC_DETECT) { events |= SS_DETECT; - printk("Card detected in socket %i!\n",i); + dev_info(&sockets[i].dev->dev, + "Card detected in socket %i!\n", i); } if (indirect_read(i,I365_INTCTL) & I365_PC_IOCARD) { @@ -458,7 +462,9 @@ static int i82092aa_get_status(struct pcmcia_socket *socket, u_int *value) static int i82092aa_set_socket(struct pcmcia_socket *socket, socket_state_t *state) { - unsigned int sock = container_of(socket, struct socket_info, socket)->number; + struct socket_info *sock_info = container_of(socket, struct socket_info, + socket); + unsigned int sock = sock_info->number; unsigned char reg; enter("i82092aa_set_socket"); @@ -482,11 +488,11 @@ static int i82092aa_set_socket(struct pcmcia_socket *socket, socket_state_t *sta reg = I365_PWR_NORESET; /* default: disable resetdrv on resume */ if (state->flags & SS_PWR_AUTO) { - printk("Auto power\n"); + dev_info(&sock_info->dev->dev, "Auto power\n"); reg |= I365_PWR_AUTO; /* automatic power mngmnt */ } if (state->flags & SS_OUTPUT_ENA) { - printk("Power Enabled \n"); + dev_info(&sock_info->dev->dev, "Power Enabled\n"); reg |= I365_PWR_OUT; /* enable power */ } @@ -494,11 +500,15 @@ static int i82092aa_set_socket(struct pcmcia_socket *socket, socket_state_t *sta case 0: break; case 50: - printk("setting voltage to Vcc to 5V on socket %i\n",sock); + dev_info(&sock_info->dev->dev, + "setting voltage to Vcc to 5V on socket %i\n", + sock); reg |= I365_VCC_5V; break; default: - printk("i82092aa: i82092aa_set_socket called with invalid VCC power value: %i ", state->Vcc); + dev_err(&sock_info->dev->dev, + "%s called with invalid VCC power value: %i", + __func__, state->Vcc); leave("i82092aa_set_socket"); return -EINVAL; } @@ -506,18 +516,22 @@ static int i82092aa_set_socket(struct pcmcia_socket *socket, socket_state_t *sta switch (state->Vpp) { case 0: - printk("not setting Vpp on socket %i\n",sock); + dev_info(&sock_info->dev->dev, + "not setting Vpp on socket %i\n", sock); break; case 50: - printk("setting Vpp to 5.0 for socket %i\n",sock); + dev_info(&sock_info->dev->dev, + "setting Vpp to 5.0 for socket %i\n", sock); reg |= I365_VPP1_5V | I365_VPP2_5V; break; case 120: - printk("setting Vpp to 12.0\n"); + dev_info(&sock_info->dev->dev, "setting Vpp to 12.0\n"); reg |= I365_VPP1_12V | I365_VPP2_12V; break; default: - printk("i82092aa: i82092aa_set_socket called with invalid VPP power value: %i ", state->Vcc); + dev_err(&sock_info->dev->dev, + "%s called with invalid VPP power value: %i", + __func__, state->Vcc); leave("i82092aa_set_socket"); return -EINVAL; } @@ -555,7 +569,9 @@ static int i82092aa_set_socket(struct pcmcia_socket *socket, socket_state_t *sta static int i82092aa_set_io_map(struct pcmcia_socket *socket, struct pccard_io_map *io) { - unsigned int sock = container_of(socket, struct socket_info, socket)->number; + struct socket_info *sock_info = container_of(socket, struct socket_info, + socket); + unsigned int sock = sock_info->number; unsigned char map, ioctl; enter("i82092aa_set_io_map"); @@ -576,8 +592,6 @@ static int i82092aa_set_io_map(struct pcmcia_socket *socket, struct pccard_io_ma if (indirect_read(sock, I365_ADDRWIN) & I365_ENA_IO(map)) indirect_resetbit(sock, I365_ADDRWIN, I365_ENA_IO(map)); -/* printk("set_io_map: Setting range to %x - %x \n",io->start,io->stop); */ - /* write the new values */ indirect_write16(sock,I365_IO(map)+I365_W_START,io->start); indirect_write16(sock,I365_IO(map)+I365_W_STOP,io->stop); @@ -619,7 +633,8 @@ static int i82092aa_set_mem_map(struct pcmcia_socket *socket, struct pccard_mem_ if ( (mem->card_start > 0x3ffffff) || (region.start > region.end) || (mem->speed > 1000) ) { leave("i82092aa_set_mem_map: invalid address / speed"); - printk("invalid mem map for socket %i: %llx to %llx with a " + dev_err(&sock_info->dev->dev, + "invalid mem map for socket %i: %llx to %llx with a " "start of %x\n", sock, (unsigned long long)region.start, @@ -633,8 +648,6 @@ static int i82092aa_set_mem_map(struct pcmcia_socket *socket, struct pccard_mem_ indirect_resetbit(sock, I365_ADDRWIN, I365_ENA_MEM(map)); -/* printk("set_mem_map: Setting map %i range to %x - %x on socket %i, speed is %i, active = %i \n",map, region.start,region.end,sock,mem->speed,mem->flags & MAP_ACTIVE); */ - /* write the start address */ base = I365_MEM(map); i = (region.start >> 12) & 0x0fff; @@ -668,12 +681,8 @@ static int i82092aa_set_mem_map(struct pcmcia_socket *socket, struct pccard_mem_ i = ((mem->card_start - region.start) >> 12) & 0x3fff; if (mem->flags & MAP_WRPROT) i |= I365_MEM_WRPROT; - if (mem->flags & MAP_ATTRIB) { -/* printk("requesting attribute memory for socket %i\n",sock);*/ + if (mem->flags & MAP_ATTRIB) i |= I365_MEM_REG; - } else { -/* printk("requesting normal memory for socket %i\n",sock);*/ - } indirect_write16(sock,base+I365_W_OFF,i); /* Enable the window if necessary */ -- cgit v1.2.3 From 4839879f8af1309216e5edcce787bafba31c72b3 Mon Sep 17 00:00:00 2001 From: Simon Geis Date: Fri, 13 Dec 2019 14:53:06 +0100 Subject: PCMCIA/i82092: add/remove spaces to improve readability Improve the readability by adding whitespaces after commas and around comparative operations. Also change indentation of one comment block. While at it, remove trailing whitespaces and spaces before tabs. Co-developed-by: Lukas Panzer Signed-off-by: Lukas Panzer Signed-off-by: Simon Geis [linux@dominikbrodowski.net: fixup one additional definition] Signed-off-by: Dominik Brodowski --- drivers/pcmcia/i82092.c | 383 ++++++++++++++++++++++++------------------------ 1 file changed, 189 insertions(+), 194 deletions(-) diff --git a/drivers/pcmcia/i82092.c b/drivers/pcmcia/i82092.c index 4971a667c730..47854d8d2acb 100644 --- a/drivers/pcmcia/i82092.c +++ b/drivers/pcmcia/i82092.c @@ -1,5 +1,5 @@ // SPDX-License-Identifier: GPL-2.0-only -/* +/* * Driver for Intel I82092AA PCI-PCMCIA bridge. * * (C) 2001 Red Hat, Inc. @@ -33,16 +33,16 @@ static const struct pci_device_id i82092aa_pci_ids[] = { MODULE_DEVICE_TABLE(pci, i82092aa_pci_ids); static struct pci_driver i82092aa_pci_driver = { - .name = "i82092aa", - .id_table = i82092aa_pci_ids, - .probe = i82092aa_pci_probe, - .remove = i82092aa_pci_remove, + .name = "i82092aa", + .id_table = i82092aa_pci_ids, + .probe = i82092aa_pci_probe, + .remove = i82092aa_pci_remove, }; /* the pccard structure and its functions */ static struct pccard_operations i82092aa_operations = { - .init = i82092aa_init, + .init = i82092aa_init, .get_status = i82092aa_get_status, .set_socket = i82092aa_set_socket, .set_io_map = i82092aa_set_io_map, @@ -53,33 +53,35 @@ static struct pccard_operations i82092aa_operations = { struct socket_info { int number; - int card_state; /* 0 = no socket, - 1 = empty socket, - 2 = card but not initialized, - 3 = operational card */ - unsigned int io_base; /* base io address of the socket */ - + int card_state; + /* 0 = no socket, + * 1 = empty socket, + * 2 = card but not initialized, + * 3 = operational card + */ + unsigned int io_base; /* base io address of the socket */ + struct pcmcia_socket socket; struct pci_dev *dev; /* The PCI device for the socket */ }; #define MAX_SOCKETS 4 static struct socket_info sockets[MAX_SOCKETS]; -static int socket_count; /* shortcut */ +static int socket_count; /* shortcut */ static int i82092aa_pci_probe(struct pci_dev *dev, const struct pci_device_id *id) { unsigned char configbyte; int i, ret; - + enter("i82092aa_pci_probe"); - + if ((ret = pci_enable_device(dev))) return ret; - + pci_read_config_byte(dev, 0x40, &configbyte); /* PCI Configuration Control */ - switch(configbyte&6) { + switch (configbyte&6) { case 0: socket_count = 2; break; @@ -90,7 +92,7 @@ static int i82092aa_pci_probe(struct pci_dev *dev, const struct pci_device_id *i case 6: socket_count = 4; break; - + default: dev_err(&dev->dev, "Oops, you did something we didn't think of.\n"); @@ -104,8 +106,8 @@ static int i82092aa_pci_probe(struct pci_dev *dev, const struct pci_device_id *i ret = -EBUSY; goto err_out_disable; } - - for (i = 0;idev, "slot %i is occupied\n", i); @@ -124,7 +126,7 @@ static int i82092aa_pci_probe(struct pci_dev *dev, const struct pci_device_id *i dev_dbg(&dev->dev, "slot %i is vacant\n", i); } } - + /* Now, specifiy that all interrupts are to be done as PCI interrupts */ configbyte = 0xFF; /* bitmask, one bit per event, 1 = PCI interrupt, 0 = ISA interrupt */ pci_write_config_byte(dev, 0x50, configbyte); /* PCI Interrupt Routing Register */ @@ -137,7 +139,7 @@ static int i82092aa_pci_probe(struct pci_dev *dev, const struct pci_device_id *i goto err_out_free_res; } - for (i = 0; idev; sockets[i].socket.ops = &i82092aa_operations; sockets[i].socket.resource_ops = &pccard_nonstatic_ops; @@ -152,7 +154,7 @@ static int i82092aa_pci_probe(struct pci_dev *dev, const struct pci_device_id *i err_out_free_sockets: if (i) { - for (i--;i>=0;i--) { + for (i--; i >= 0; i--) { pcmcia_unregister_socket(&sockets[i].socket); } } @@ -161,7 +163,7 @@ err_out_free_res: release_region(pci_resource_start(dev, 0), 2); err_out_disable: pci_disable_device(dev); - return ret; + return ret; } static void i82092aa_pci_remove(struct pci_dev *dev) @@ -169,7 +171,7 @@ static void i82092aa_pci_remove(struct pci_dev *dev) int i; enter("i82092aa_pci_remove"); - + free_irq(dev->irq, i82092aa_interrupt); for (i = 0; i < socket_count; i++) @@ -187,12 +189,12 @@ static unsigned char indirect_read(int socket, unsigned short reg) unsigned short int port; unsigned char val; unsigned long flags; - spin_lock_irqsave(&port_lock,flags); + spin_lock_irqsave(&port_lock, flags); reg += socket * 0x40; port = sockets[socket].io_base; - outb(reg,port); + outb(reg, port); val = inb(port+1); - spin_unlock_irqrestore(&port_lock,flags); + spin_unlock_irqrestore(&port_lock, flags); return val; } @@ -202,15 +204,15 @@ static unsigned short indirect_read16(int socket, unsigned short reg) unsigned short int port; unsigned short tmp; unsigned long flags; - spin_lock_irqsave(&port_lock,flags); + spin_lock_irqsave(&port_lock, flags); reg = reg + socket * 0x40; port = sockets[socket].io_base; - outb(reg,port); + outb(reg, port); tmp = inb(port+1); reg++; - outb(reg,port); + outb(reg, port); tmp = tmp | (inb(port+1)<<8); - spin_unlock_irqrestore(&port_lock,flags); + spin_unlock_irqrestore(&port_lock, flags); return tmp; } #endif @@ -219,12 +221,12 @@ static void indirect_write(int socket, unsigned short reg, unsigned char value) { unsigned short int port; unsigned long flags; - spin_lock_irqsave(&port_lock,flags); + spin_lock_irqsave(&port_lock, flags); reg = reg + socket * 0x40; - port = sockets[socket].io_base; - outb(reg,port); - outb(value,port+1); - spin_unlock_irqrestore(&port_lock,flags); + port = sockets[socket].io_base; + outb(reg, port); + outb(value, port+1); + spin_unlock_irqrestore(&port_lock, flags); } static void indirect_setbit(int socket, unsigned short reg, unsigned char mask) @@ -232,15 +234,15 @@ static void indirect_setbit(int socket, unsigned short reg, unsigned char mask) unsigned short int port; unsigned char val; unsigned long flags; - spin_lock_irqsave(&port_lock,flags); + spin_lock_irqsave(&port_lock, flags); reg = reg + socket * 0x40; - port = sockets[socket].io_base; - outb(reg,port); + port = sockets[socket].io_base; + outb(reg, port); val = inb(port+1); val |= mask; - outb(reg,port); - outb(val,port+1); - spin_unlock_irqrestore(&port_lock,flags); + outb(reg, port); + outb(val, port+1); + spin_unlock_irqrestore(&port_lock, flags); } @@ -249,15 +251,15 @@ static void indirect_resetbit(int socket, unsigned short reg, unsigned char mask unsigned short int port; unsigned char val; unsigned long flags; - spin_lock_irqsave(&port_lock,flags); + spin_lock_irqsave(&port_lock, flags); reg = reg + socket * 0x40; - port = sockets[socket].io_base; - outb(reg,port); + port = sockets[socket].io_base; + outb(reg, port); val = inb(port+1); val &= ~mask; - outb(reg,port); - outb(val,port+1); - spin_unlock_irqrestore(&port_lock,flags); + outb(reg, port); + outb(val, port+1); + spin_unlock_irqrestore(&port_lock, flags); } static void indirect_write16(int socket, unsigned short reg, unsigned short value) @@ -265,20 +267,20 @@ static void indirect_write16(int socket, unsigned short reg, unsigned short valu unsigned short int port; unsigned char val; unsigned long flags; - spin_lock_irqsave(&port_lock,flags); + spin_lock_irqsave(&port_lock, flags); reg = reg + socket * 0x40; - port = sockets[socket].io_base; - - outb(reg,port); + port = sockets[socket].io_base; + + outb(reg, port); val = value & 255; - outb(val,port+1); - + outb(val, port+1); + reg++; - - outb(reg,port); + + outb(reg, port); val = value>>8; - outb(val,port+1); - spin_unlock_irqrestore(&port_lock,flags); + outb(val, port+1); + spin_unlock_irqrestore(&port_lock, flags); } /* simple helper functions */ @@ -287,12 +289,12 @@ static int cycle_time = 120; static int to_cycles(int ns) { - if (cycle_time!=0) + if (cycle_time != 0) return ns/cycle_time; else return 0; } - + /* Interrupt handler functionality */ @@ -302,56 +304,55 @@ static irqreturn_t i82092aa_interrupt(int irq, void *dev) int loopcount = 0; int handled = 0; - unsigned int events, active=0; - + unsigned int events, active = 0; + /* enter("i82092aa_interrupt");*/ - + while (1) { loopcount++; - if (loopcount>20) { + if (loopcount > 20) { pr_err("i82092aa: infinite eventloop in interrupt\n"); break; } - + active = 0; - - for (i=0;idev, "Card detected in socket %i!\n", i); - } - - if (indirect_read(i,I365_INTCTL) & I365_PC_IOCARD) { + } + + if (indirect_read(i, I365_INTCTL) & I365_PC_IOCARD) { /* For IO/CARDS, bit 0 means "read the card" */ - events |= (csc & I365_CSC_STSCHG) ? SS_STSCHG : 0; + events |= (csc & I365_CSC_STSCHG) ? SS_STSCHG : 0; } else { /* Check for battery/ready events */ events |= (csc & I365_CSC_BVD1) ? SS_BATDEAD : 0; events |= (csc & I365_CSC_BVD2) ? SS_BATWARN : 0; events |= (csc & I365_CSC_READY) ? SS_READY : 0; } - + if (events) { pcmcia_parse_events(&sockets[i].socket, events); } active |= events; } - - if (active==0) /* no more events to handle */ - break; - + + if (active == 0) /* no more events to handle */ + break; } return IRQ_RETVAL(handled); /* leave("i82092aa_interrupt");*/ @@ -362,22 +363,22 @@ static irqreturn_t i82092aa_interrupt(int irq, void *dev) /* socket functions */ static int card_present(int socketno) -{ +{ unsigned int val; enter("card_present"); - - if ((socketno<0) || (socketno >= MAX_SOCKETS)) + + if ((socketno < 0) || (socketno >= MAX_SOCKETS)) return 0; if (sockets[socketno].io_base == 0) return 0; - + val = indirect_read(socketno, 1); /* Interface status register */ - if ((val&12)==12) { + if ((val&12) == 12) { leave("card_present 1"); return 1; } - + leave("card_present 0"); return 0; } @@ -385,40 +386,36 @@ static int card_present(int socketno) static void set_bridge_state(int sock) { enter("set_bridge_state"); - indirect_write(sock, I365_GBLCTL,0x00); - indirect_write(sock, I365_GENCTL,0x00); - - indirect_setbit(sock, I365_INTCTL,0x08); + indirect_write(sock, I365_GBLCTL, 0x00); + indirect_write(sock, I365_GENCTL, 0x00); + + indirect_setbit(sock, I365_INTCTL, 0x08); leave("set_bridge_state"); } - - - - static int i82092aa_init(struct pcmcia_socket *sock) { int i; struct resource res = { .start = 0, .end = 0x0fff }; - pccard_io_map io = { 0, 0, 0, 0, 1 }; + pccard_io_map io = { 0, 0, 0, 0, 1 }; pccard_mem_map mem = { .res = &res, }; - - enter("i82092aa_init"); - - for (i = 0; i < 2; i++) { - io.map = i; - i82092aa_set_io_map(sock, &io); + + enter("i82092aa_init"); + + for (i = 0; i < 2; i++) { + io.map = i; + i82092aa_set_io_map(sock, &io); } - for (i = 0; i < 5; i++) { - mem.map = i; - i82092aa_set_mem_map(sock, &mem); + for (i = 0; i < 5; i++) { + mem.map = i; + i82092aa_set_mem_map(sock, &mem); } leave("i82092aa_init"); return 0; } - + static int i82092aa_get_status(struct pcmcia_socket *socket, u_int *value) { unsigned int sock = container_of(socket, struct socket_info, socket)->number; @@ -426,16 +423,16 @@ static int i82092aa_get_status(struct pcmcia_socket *socket, u_int *value) enter("i82092aa_get_status"); - status = indirect_read(sock,I365_STATUS); /* Interface Status Register */ + status = indirect_read(sock, I365_STATUS); /* Interface Status Register */ *value = 0; - + if ((status & I365_CS_DETECT) == I365_CS_DETECT) { *value |= SS_DETECT; } - + /* IO cards have a different meaning of bits 0,1 */ /* Also notice the inverse-logic on the bits */ - if (indirect_read(sock, I365_INTCTL) & I365_PC_IOCARD) { + if (indirect_read(sock, I365_INTCTL) & I365_PC_IOCARD) { /* IO card */ if (!(status & I365_CS_STSCHG)) *value |= SS_STSCHG; @@ -445,13 +442,13 @@ static int i82092aa_get_status(struct pcmcia_socket *socket, u_int *value) if (!(status & I365_CS_BVD2)) *value |= SS_BATWARN; } - + if (status & I365_CS_WRPROT) (*value) |= SS_WRPROT; /* card is write protected */ - + if (status & I365_CS_READY) (*value) |= SS_READY; /* card is not busy */ - + if (status & I365_CS_POWERON) (*value) |= SS_POWERON; /* power is applied to the card */ @@ -460,33 +457,33 @@ static int i82092aa_get_status(struct pcmcia_socket *socket, u_int *value) } -static int i82092aa_set_socket(struct pcmcia_socket *socket, socket_state_t *state) +static int i82092aa_set_socket(struct pcmcia_socket *socket, socket_state_t *state) { struct socket_info *sock_info = container_of(socket, struct socket_info, socket); unsigned int sock = sock_info->number; unsigned char reg; - + enter("i82092aa_set_socket"); - + /* First, set the global controller options */ - + set_bridge_state(sock); - + /* Values for the IGENC register */ - + reg = 0; - if (!(state->flags & SS_RESET)) /* The reset bit has "inverse" logic */ - reg = reg | I365_PC_RESET; - if (state->flags & SS_IOCARD) + if (!(state->flags & SS_RESET)) /* The reset bit has "inverse" logic */ + reg = reg | I365_PC_RESET; + if (state->flags & SS_IOCARD) reg = reg | I365_PC_IOCARD; - - indirect_write(sock,I365_INTCTL,reg); /* IGENC, Interrupt and General Control Register */ - + + indirect_write(sock, I365_INTCTL, reg); /* IGENC, Interrupt and General Control Register */ + /* Power registers */ - + reg = I365_PWR_NORESET; /* default: disable resetdrv on resume */ - + if (state->flags & SS_PWR_AUTO) { dev_info(&sock_info->dev->dev, "Auto power\n"); reg |= I365_PWR_AUTO; /* automatic power mngmnt */ @@ -495,11 +492,11 @@ static int i82092aa_set_socket(struct pcmcia_socket *socket, socket_state_t *sta dev_info(&sock_info->dev->dev, "Power Enabled\n"); reg |= I365_PWR_OUT; /* enable power */ } - + switch (state->Vcc) { - case 0: + case 0: break; - case 50: + case 50: dev_info(&sock_info->dev->dev, "setting voltage to Vcc to 5V on socket %i\n", sock); @@ -512,19 +509,18 @@ static int i82092aa_set_socket(struct pcmcia_socket *socket, socket_state_t *sta leave("i82092aa_set_socket"); return -EINVAL; } - - + switch (state->Vpp) { - case 0: + case 0: dev_info(&sock_info->dev->dev, "not setting Vpp on socket %i\n", sock); break; - case 50: + case 50: dev_info(&sock_info->dev->dev, "setting Vpp to 5.0 for socket %i\n", sock); reg |= I365_VPP1_5V | I365_VPP2_5V; break; - case 120: + case 120: dev_info(&sock_info->dev->dev, "setting Vpp to 12.0\n"); reg |= I365_VPP1_12V | I365_VPP2_12V; break; @@ -535,12 +531,12 @@ static int i82092aa_set_socket(struct pcmcia_socket *socket, socket_state_t *sta leave("i82092aa_set_socket"); return -EINVAL; } - - if (reg != indirect_read(sock,I365_POWER)) /* only write if changed */ - indirect_write(sock,I365_POWER,reg); - + + if (reg != indirect_read(sock, I365_POWER)) /* only write if changed */ + indirect_write(sock, I365_POWER, reg); + /* Enable specific interrupt events */ - + reg = 0x00; if (state->csc_mask & SS_DETECT) { reg |= I365_CSC_DETECT; @@ -549,19 +545,19 @@ static int i82092aa_set_socket(struct pcmcia_socket *socket, socket_state_t *sta if (state->csc_mask & SS_STSCHG) reg |= I365_CSC_STSCHG; } else { - if (state->csc_mask & SS_BATDEAD) + if (state->csc_mask & SS_BATDEAD) reg |= I365_CSC_BVD1; - if (state->csc_mask & SS_BATWARN) + if (state->csc_mask & SS_BATWARN) reg |= I365_CSC_BVD2; - if (state->csc_mask & SS_READY) - reg |= I365_CSC_READY; - + if (state->csc_mask & SS_READY) + reg |= I365_CSC_READY; + } - + /* now write the value and clear the (probably bogus) pending stuff by doing a dummy read*/ - - indirect_write(sock,I365_CSCINT,reg); - (void)indirect_read(sock,I365_CSC); + + indirect_write(sock, I365_CSCINT, reg); + (void)indirect_read(sock, I365_CSC); leave("i82092aa_set_socket"); return 0; @@ -573,41 +569,41 @@ static int i82092aa_set_io_map(struct pcmcia_socket *socket, struct pccard_io_ma socket); unsigned int sock = sock_info->number; unsigned char map, ioctl; - + enter("i82092aa_set_io_map"); - + map = io->map; - - /* Check error conditions */ + + /* Check error conditions */ if (map > 1) { leave("i82092aa_set_io_map with invalid map"); return -EINVAL; } - if ((io->start > 0xffff) || (io->stop > 0xffff) || (io->stop < io->start)){ + if ((io->start > 0xffff) || (io->stop > 0xffff) || (io->stop < io->start)) { leave("i82092aa_set_io_map with invalid io"); return -EINVAL; } - /* Turn off the window before changing anything */ + /* Turn off the window before changing anything */ if (indirect_read(sock, I365_ADDRWIN) & I365_ENA_IO(map)) indirect_resetbit(sock, I365_ADDRWIN, I365_ENA_IO(map)); /* write the new values */ - indirect_write16(sock,I365_IO(map)+I365_W_START,io->start); - indirect_write16(sock,I365_IO(map)+I365_W_STOP,io->stop); - - ioctl = indirect_read(sock,I365_IOCTL) & ~I365_IOCTL_MASK(map); - + indirect_write16(sock, I365_IO(map)+I365_W_START, io->start); + indirect_write16(sock, I365_IO(map)+I365_W_STOP, io->stop); + + ioctl = indirect_read(sock, I365_IOCTL) & ~I365_IOCTL_MASK(map); + if (io->flags & (MAP_16BIT|MAP_AUTOSZ)) ioctl |= I365_IOCTL_16BIT(map); - - indirect_write(sock,I365_IOCTL,ioctl); - + + indirect_write(sock, I365_IOCTL, ioctl); + /* Turn the window back on if needed */ if (io->flags & MAP_ACTIVE) - indirect_setbit(sock,I365_ADDRWIN,I365_ENA_IO(map)); - - leave("i82092aa_set_io_map"); + indirect_setbit(sock, I365_ADDRWIN, I365_ENA_IO(map)); + + leave("i82092aa_set_io_map"); return 0; } @@ -618,20 +614,20 @@ static int i82092aa_set_mem_map(struct pcmcia_socket *socket, struct pccard_mem_ struct pci_bus_region region; unsigned short base, i; unsigned char map; - + enter("i82092aa_set_mem_map"); pcibios_resource_to_bus(sock_info->dev->bus, ®ion, mem->res); - + map = mem->map; if (map > 4) { leave("i82092aa_set_mem_map: invalid map"); return -EINVAL; } - - - if ( (mem->card_start > 0x3ffffff) || (region.start > region.end) || - (mem->speed > 1000) ) { + + + if ((mem->card_start > 0x3ffffff) || (region.start > region.end) || + (mem->speed > 1000)) { leave("i82092aa_set_mem_map: invalid address / speed"); dev_err(&sock_info->dev->dev, "invalid mem map for socket %i: %llx to %llx with a " @@ -642,24 +638,23 @@ static int i82092aa_set_mem_map(struct pcmcia_socket *socket, struct pccard_mem_ mem->card_start); return -EINVAL; } - + /* Turn off the window before changing anything */ if (indirect_read(sock, I365_ADDRWIN) & I365_ENA_MEM(map)) - indirect_resetbit(sock, I365_ADDRWIN, I365_ENA_MEM(map)); - - + indirect_resetbit(sock, I365_ADDRWIN, I365_ENA_MEM(map)); + /* write the start address */ base = I365_MEM(map); i = (region.start >> 12) & 0x0fff; - if (mem->flags & MAP_16BIT) + if (mem->flags & MAP_16BIT) i |= I365_MEM_16BIT; if (mem->flags & MAP_0WS) - i |= I365_MEM_0WS; - indirect_write16(sock,base+I365_W_START,i); - + i |= I365_MEM_0WS; + indirect_write16(sock, base+I365_W_START, i); + /* write the stop address */ - - i= (region.end >> 12) & 0x0fff; + + i = (region.end >> 12) & 0x0fff; switch (to_cycles(mem->speed)) { case 0: break; @@ -673,22 +668,22 @@ static int i82092aa_set_mem_map(struct pcmcia_socket *socket, struct pccard_mem_ i |= I365_MEM_WS1 | I365_MEM_WS0; break; } - - indirect_write16(sock,base+I365_W_STOP,i); - + + indirect_write16(sock, base+I365_W_STOP, i); + /* card start */ - + i = ((mem->card_start - region.start) >> 12) & 0x3fff; if (mem->flags & MAP_WRPROT) i |= I365_MEM_WRPROT; if (mem->flags & MAP_ATTRIB) i |= I365_MEM_REG; - indirect_write16(sock,base+I365_W_OFF,i); - + indirect_write16(sock, base+I365_W_OFF, i); + /* Enable the window if necessary */ if (mem->flags & MAP_ACTIVE) indirect_setbit(sock, I365_ADDRWIN, I365_ENA_MEM(map)); - + leave("i82092aa_set_mem_map"); return 0; } @@ -702,7 +697,7 @@ static void i82092aa_module_exit(void) { enter("i82092aa_module_exit"); pci_unregister_driver(&i82092aa_pci_driver); - if (sockets[0].io_base>0) + if (sockets[0].io_base > 0) release_region(sockets[0].io_base, 2); leave("i82092aa_module_exit"); } -- cgit v1.2.3 From ae1f62c5408a6c33363475f2d1909fec32f0dc47 Mon Sep 17 00:00:00 2001 From: Simon Geis Date: Fri, 13 Dec 2019 14:53:07 +0100 Subject: PCMCIA/i82092: remove braces around single statement blocks Remove braces around single statement blocks in order to improve readability. Co-developed-by: Lukas Panzer Signed-off-by: Lukas Panzer Signed-off-by: Simon Geis Signed-off-by: Dominik Brodowski --- drivers/pcmcia/i82092.c | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/drivers/pcmcia/i82092.c b/drivers/pcmcia/i82092.c index 47854d8d2acb..f51f7352d3af 100644 --- a/drivers/pcmcia/i82092.c +++ b/drivers/pcmcia/i82092.c @@ -144,9 +144,8 @@ static int i82092aa_pci_probe(struct pci_dev *dev, const struct pci_device_id *i sockets[i].socket.ops = &i82092aa_operations; sockets[i].socket.resource_ops = &pccard_nonstatic_ops; ret = pcmcia_register_socket(&sockets[i].socket); - if (ret) { + if (ret) goto err_out_free_sockets; - } } leave("i82092aa_pci_probe"); @@ -154,9 +153,8 @@ static int i82092aa_pci_probe(struct pci_dev *dev, const struct pci_device_id *i err_out_free_sockets: if (i) { - for (i--; i >= 0; i--) { + for (i--; i >= 0; i--) pcmcia_unregister_socket(&sockets[i].socket); - } } free_irq(dev->irq, i82092aa_interrupt); err_out_free_res: @@ -345,9 +343,8 @@ static irqreturn_t i82092aa_interrupt(int irq, void *dev) events |= (csc & I365_CSC_READY) ? SS_READY : 0; } - if (events) { + if (events) pcmcia_parse_events(&sockets[i].socket, events); - } active |= events; } @@ -426,9 +423,8 @@ static int i82092aa_get_status(struct pcmcia_socket *socket, u_int *value) status = indirect_read(sock, I365_STATUS); /* Interface Status Register */ *value = 0; - if ((status & I365_CS_DETECT) == I365_CS_DETECT) { + if ((status & I365_CS_DETECT) == I365_CS_DETECT) *value |= SS_DETECT; - } /* IO cards have a different meaning of bits 0,1 */ /* Also notice the inverse-logic on the bits */ @@ -538,9 +534,8 @@ static int i82092aa_set_socket(struct pcmcia_socket *socket, socket_state_t *sta /* Enable specific interrupt events */ reg = 0x00; - if (state->csc_mask & SS_DETECT) { + if (state->csc_mask & SS_DETECT) reg |= I365_CSC_DETECT; - } if (state->flags & SS_IOCARD) { if (state->csc_mask & SS_STSCHG) reg |= I365_CSC_STSCHG; -- cgit v1.2.3 From 4ae66dd778e3e2245648347b3366e15e68aeb685 Mon Sep 17 00:00:00 2001 From: Simon Geis Date: Fri, 13 Dec 2019 14:53:08 +0100 Subject: PCMCIA/i82092: insert blank line after declarations Improve readability of the code by inserting a blank line after variable declarations. Co-developed-by: Lukas Panzer Signed-off-by: Lukas Panzer Signed-off-by: Simon Geis Signed-off-by: Dominik Brodowski --- drivers/pcmcia/i82092.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/pcmcia/i82092.c b/drivers/pcmcia/i82092.c index f51f7352d3af..019a4f088db5 100644 --- a/drivers/pcmcia/i82092.c +++ b/drivers/pcmcia/i82092.c @@ -187,6 +187,7 @@ static unsigned char indirect_read(int socket, unsigned short reg) unsigned short int port; unsigned char val; unsigned long flags; + spin_lock_irqsave(&port_lock, flags); reg += socket * 0x40; port = sockets[socket].io_base; @@ -202,6 +203,7 @@ static unsigned short indirect_read16(int socket, unsigned short reg) unsigned short int port; unsigned short tmp; unsigned long flags; + spin_lock_irqsave(&port_lock, flags); reg = reg + socket * 0x40; port = sockets[socket].io_base; @@ -219,6 +221,7 @@ static void indirect_write(int socket, unsigned short reg, unsigned char value) { unsigned short int port; unsigned long flags; + spin_lock_irqsave(&port_lock, flags); reg = reg + socket * 0x40; port = sockets[socket].io_base; @@ -232,6 +235,7 @@ static void indirect_setbit(int socket, unsigned short reg, unsigned char mask) unsigned short int port; unsigned char val; unsigned long flags; + spin_lock_irqsave(&port_lock, flags); reg = reg + socket * 0x40; port = sockets[socket].io_base; @@ -249,6 +253,7 @@ static void indirect_resetbit(int socket, unsigned short reg, unsigned char mask unsigned short int port; unsigned char val; unsigned long flags; + spin_lock_irqsave(&port_lock, flags); reg = reg + socket * 0x40; port = sockets[socket].io_base; @@ -265,6 +270,7 @@ static void indirect_write16(int socket, unsigned short reg, unsigned short valu unsigned short int port; unsigned char val; unsigned long flags; + spin_lock_irqsave(&port_lock, flags); reg = reg + socket * 0x40; port = sockets[socket].io_base; @@ -317,6 +323,7 @@ static irqreturn_t i82092aa_interrupt(int irq, void *dev) for (i = 0; i < socket_count; i++) { int csc; + if (sockets[i].card_state == 0) /* Inactive socket, should not happen */ continue; @@ -362,6 +369,7 @@ static irqreturn_t i82092aa_interrupt(int irq, void *dev) static int card_present(int socketno) { unsigned int val; + enter("card_present"); if ((socketno < 0) || (socketno >= MAX_SOCKETS)) -- cgit v1.2.3 From 6aaf8ff3265041263988d81102afe51923359a81 Mon Sep 17 00:00:00 2001 From: Simon Geis Date: Fri, 13 Dec 2019 14:53:09 +0100 Subject: PCMCIA/i82092: change code indentation Align switch and case labels in order to improve readability. For the same reason, change the indentation of an if-statement. Co-developed-by: Lukas Panzer Signed-off-by: Lukas Panzer Signed-off-by: Simon Geis Signed-off-by: Dominik Brodowski --- drivers/pcmcia/i82092.c | 122 ++++++++++++++++++++++++------------------------ 1 file changed, 61 insertions(+), 61 deletions(-) diff --git a/drivers/pcmcia/i82092.c b/drivers/pcmcia/i82092.c index 019a4f088db5..c7996fe25622 100644 --- a/drivers/pcmcia/i82092.c +++ b/drivers/pcmcia/i82092.c @@ -82,22 +82,22 @@ static int i82092aa_pci_probe(struct pci_dev *dev, const struct pci_device_id *i pci_read_config_byte(dev, 0x40, &configbyte); /* PCI Configuration Control */ switch (configbyte&6) { - case 0: - socket_count = 2; - break; - case 2: - socket_count = 1; - break; - case 4: - case 6: - socket_count = 4; - break; - - default: - dev_err(&dev->dev, - "Oops, you did something we didn't think of.\n"); - ret = -EIO; - goto err_out_disable; + case 0: + socket_count = 2; + break; + case 2: + socket_count = 1; + break; + case 4: + case 6: + socket_count = 4; + break; + + default: + dev_err(&dev->dev, + "Oops, you did something we didn't think of.\n"); + ret = -EIO; + goto err_out_disable; } dev_info(&dev->dev, "configured as a %d socket device.\n", socket_count); @@ -498,42 +498,42 @@ static int i82092aa_set_socket(struct pcmcia_socket *socket, socket_state_t *sta } switch (state->Vcc) { - case 0: - break; - case 50: - dev_info(&sock_info->dev->dev, - "setting voltage to Vcc to 5V on socket %i\n", - sock); - reg |= I365_VCC_5V; - break; - default: - dev_err(&sock_info->dev->dev, - "%s called with invalid VCC power value: %i", - __func__, state->Vcc); - leave("i82092aa_set_socket"); - return -EINVAL; + case 0: + break; + case 50: + dev_info(&sock_info->dev->dev, + "setting voltage to Vcc to 5V on socket %i\n", + sock); + reg |= I365_VCC_5V; + break; + default: + dev_err(&sock_info->dev->dev, + "%s called with invalid VCC power value: %i", + __func__, state->Vcc); + leave("i82092aa_set_socket"); + return -EINVAL; } switch (state->Vpp) { - case 0: - dev_info(&sock_info->dev->dev, - "not setting Vpp on socket %i\n", sock); - break; - case 50: - dev_info(&sock_info->dev->dev, - "setting Vpp to 5.0 for socket %i\n", sock); - reg |= I365_VPP1_5V | I365_VPP2_5V; - break; - case 120: - dev_info(&sock_info->dev->dev, "setting Vpp to 12.0\n"); - reg |= I365_VPP1_12V | I365_VPP2_12V; - break; - default: - dev_err(&sock_info->dev->dev, - "%s called with invalid VPP power value: %i", - __func__, state->Vcc); - leave("i82092aa_set_socket"); - return -EINVAL; + case 0: + dev_info(&sock_info->dev->dev, + "not setting Vpp on socket %i\n", sock); + break; + case 50: + dev_info(&sock_info->dev->dev, + "setting Vpp to 5.0 for socket %i\n", sock); + reg |= I365_VPP1_5V | I365_VPP2_5V; + break; + case 120: + dev_info(&sock_info->dev->dev, "setting Vpp to 12.0\n"); + reg |= I365_VPP1_12V | I365_VPP2_12V; + break; + default: + dev_err(&sock_info->dev->dev, + "%s called with invalid VPP power value: %i", + __func__, state->Vcc); + leave("i82092aa_set_socket"); + return -EINVAL; } if (reg != indirect_read(sock, I365_POWER)) /* only write if changed */ @@ -659,17 +659,17 @@ static int i82092aa_set_mem_map(struct pcmcia_socket *socket, struct pccard_mem_ i = (region.end >> 12) & 0x0fff; switch (to_cycles(mem->speed)) { - case 0: - break; - case 1: - i |= I365_MEM_WS0; - break; - case 2: - i |= I365_MEM_WS1; - break; - default: - i |= I365_MEM_WS1 | I365_MEM_WS0; - break; + case 0: + break; + case 1: + i |= I365_MEM_WS0; + break; + case 2: + i |= I365_MEM_WS1; + break; + default: + i |= I365_MEM_WS1 | I365_MEM_WS0; + break; } indirect_write16(sock, base+I365_W_STOP, i); @@ -701,7 +701,7 @@ static void i82092aa_module_exit(void) enter("i82092aa_module_exit"); pci_unregister_driver(&i82092aa_pci_driver); if (sockets[0].io_base > 0) - release_region(sockets[0].io_base, 2); + release_region(sockets[0].io_base, 2); leave("i82092aa_module_exit"); } -- cgit v1.2.3 From 908864641f635892d4df265fe92425a5166c748b Mon Sep 17 00:00:00 2001 From: Simon Geis Date: Fri, 13 Dec 2019 14:53:10 +0100 Subject: PCMCIA/i82092: move assignment out of if condition Improve readability by moving the assignment out of if conditions. Co-developed-by: Lukas Panzer Signed-off-by: Lukas Panzer Signed-off-by: Simon Geis Signed-off-by: Dominik Brodowski --- drivers/pcmcia/i82092.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/drivers/pcmcia/i82092.c b/drivers/pcmcia/i82092.c index c7996fe25622..2d31832fa439 100644 --- a/drivers/pcmcia/i82092.c +++ b/drivers/pcmcia/i82092.c @@ -77,7 +77,8 @@ static int i82092aa_pci_probe(struct pci_dev *dev, const struct pci_device_id *i enter("i82092aa_pci_probe"); - if ((ret = pci_enable_device(dev))) + ret = pci_enable_device(dev); + if (ret) return ret; pci_read_config_byte(dev, 0x40, &configbyte); /* PCI Configuration Control */ @@ -133,7 +134,9 @@ static int i82092aa_pci_probe(struct pci_dev *dev, const struct pci_device_id *i /* Register the interrupt handler */ dev_dbg(&dev->dev, "Requesting interrupt %i\n", dev->irq); - if ((ret = request_irq(dev->irq, i82092aa_interrupt, IRQF_SHARED, "i82092aa", i82092aa_interrupt))) { + ret = request_irq(dev->irq, i82092aa_interrupt, IRQF_SHARED, + "i82092aa", i82092aa_interrupt); + if (ret) { dev_err(&dev->dev, "Failed to register IRQ %d, aborting\n", dev->irq); goto err_out_free_res; -- cgit v1.2.3 From 152b4bb57aa43f7f6f55abbb75ccbab818ef3892 Mon Sep 17 00:00:00 2001 From: Simon Geis Date: Fri, 13 Dec 2019 14:53:11 +0100 Subject: PCMCIA/i82092: shorten the lines with over 80 characters Split the lines with more than 80 characters in order to improve readability of the code. Co-developed-by: Lukas Panzer Signed-off-by: Lukas Panzer Signed-off-by: Simon Geis Signed-off-by: Dominik Brodowski --- drivers/pcmcia/i82092.c | 79 +++++++++++++++++++++++++++++++++---------------- 1 file changed, 53 insertions(+), 26 deletions(-) diff --git a/drivers/pcmcia/i82092.c b/drivers/pcmcia/i82092.c index 2d31832fa439..3d2ff208b87b 100644 --- a/drivers/pcmcia/i82092.c +++ b/drivers/pcmcia/i82092.c @@ -70,7 +70,8 @@ static struct socket_info sockets[MAX_SOCKETS]; static int socket_count; /* shortcut */ -static int i82092aa_pci_probe(struct pci_dev *dev, const struct pci_device_id *id) +static int i82092aa_pci_probe(struct pci_dev *dev, + const struct pci_device_id *id) { unsigned char configbyte; int i, ret; @@ -81,7 +82,9 @@ static int i82092aa_pci_probe(struct pci_dev *dev, const struct pci_device_id *i if (ret) return ret; - pci_read_config_byte(dev, 0x40, &configbyte); /* PCI Configuration Control */ + /* PCI Configuration Control */ + pci_read_config_byte(dev, 0x40, &configbyte); + switch (configbyte&6) { case 0: socket_count = 2; @@ -128,9 +131,13 @@ static int i82092aa_pci_probe(struct pci_dev *dev, const struct pci_device_id *i } } - /* Now, specifiy that all interrupts are to be done as PCI interrupts */ - configbyte = 0xFF; /* bitmask, one bit per event, 1 = PCI interrupt, 0 = ISA interrupt */ - pci_write_config_byte(dev, 0x50, configbyte); /* PCI Interrupt Routing Register */ + /* Now, specifiy that all interrupts are to be done as PCI interrupts + * bitmask, one bit per event, 1 = PCI interrupt, 0 = ISA interrupt + */ + configbyte = 0xFF; + + /* PCI Interrupt Routing Register */ + pci_write_config_byte(dev, 0x50, configbyte); /* Register the interrupt handler */ dev_dbg(&dev->dev, "Requesting interrupt %i\n", dev->irq); @@ -251,7 +258,8 @@ static void indirect_setbit(int socket, unsigned short reg, unsigned char mask) } -static void indirect_resetbit(int socket, unsigned short reg, unsigned char mask) +static void indirect_resetbit(int socket, + unsigned short reg, unsigned char mask) { unsigned short int port; unsigned char val; @@ -268,7 +276,8 @@ static void indirect_resetbit(int socket, unsigned short reg, unsigned char mask spin_unlock_irqrestore(&port_lock, flags); } -static void indirect_write16(int socket, unsigned short reg, unsigned short value) +static void indirect_write16(int socket, + unsigned short reg, unsigned short value) { unsigned short int port; unsigned char val; @@ -327,10 +336,12 @@ static irqreturn_t i82092aa_interrupt(int irq, void *dev) for (i = 0; i < socket_count; i++) { int csc; - if (sockets[i].card_state == 0) /* Inactive socket, should not happen */ + /* Inactive socket, should not happen */ + if (sockets[i].card_state == 0) continue; - csc = indirect_read(i, I365_CSC); /* card status change register */ + /* card status change register */ + csc = indirect_read(i, I365_CSC); if (csc == 0) /* no events on this socket */ continue; @@ -345,12 +356,16 @@ static irqreturn_t i82092aa_interrupt(int irq, void *dev) if (indirect_read(i, I365_INTCTL) & I365_PC_IOCARD) { /* For IO/CARDS, bit 0 means "read the card" */ - events |= (csc & I365_CSC_STSCHG) ? SS_STSCHG : 0; + if (csc & I365_CSC_STSCHG) + events |= SS_STSCHG; } else { /* Check for battery/ready events */ - events |= (csc & I365_CSC_BVD1) ? SS_BATDEAD : 0; - events |= (csc & I365_CSC_BVD2) ? SS_BATWARN : 0; - events |= (csc & I365_CSC_READY) ? SS_READY : 0; + if (csc & I365_CSC_BVD1) + events |= SS_BATDEAD; + if (csc & I365_CSC_BVD2) + events |= SS_BATWARN; + if (csc & I365_CSC_READY) + events |= SS_READY; } if (events) @@ -426,12 +441,15 @@ static int i82092aa_init(struct pcmcia_socket *sock) static int i82092aa_get_status(struct pcmcia_socket *socket, u_int *value) { - unsigned int sock = container_of(socket, struct socket_info, socket)->number; + unsigned int sock = container_of(socket, + struct socket_info, socket)->number; unsigned int status; enter("i82092aa_get_status"); - - status = indirect_read(sock, I365_STATUS); /* Interface Status Register */ + + /* Interface Status Register */ + status = indirect_read(sock, I365_STATUS); + *value = 0; if ((status & I365_CS_DETECT) == I365_CS_DETECT) @@ -464,7 +482,8 @@ static int i82092aa_get_status(struct pcmcia_socket *socket, u_int *value) } -static int i82092aa_set_socket(struct pcmcia_socket *socket, socket_state_t *state) +static int i82092aa_set_socket(struct pcmcia_socket *socket, + socket_state_t *state) { struct socket_info *sock_info = container_of(socket, struct socket_info, socket); @@ -480,12 +499,15 @@ static int i82092aa_set_socket(struct pcmcia_socket *socket, socket_state_t *sta /* Values for the IGENC register */ reg = 0; - if (!(state->flags & SS_RESET)) /* The reset bit has "inverse" logic */ + + /* The reset bit has "inverse" logic */ + if (!(state->flags & SS_RESET)) reg = reg | I365_PC_RESET; if (state->flags & SS_IOCARD) reg = reg | I365_PC_IOCARD; - indirect_write(sock, I365_INTCTL, reg); /* IGENC, Interrupt and General Control Register */ + /* IGENC, Interrupt and General Control Register */ + indirect_write(sock, I365_INTCTL, reg); /* Power registers */ @@ -560,7 +582,9 @@ static int i82092aa_set_socket(struct pcmcia_socket *socket, socket_state_t *sta } - /* now write the value and clear the (probably bogus) pending stuff by doing a dummy read*/ + /* now write the value and clear the (probably bogus) pending stuff + * by doing a dummy read + */ indirect_write(sock, I365_CSCINT, reg); (void)indirect_read(sock, I365_CSC); @@ -569,7 +593,8 @@ static int i82092aa_set_socket(struct pcmcia_socket *socket, socket_state_t *sta return 0; } -static int i82092aa_set_io_map(struct pcmcia_socket *socket, struct pccard_io_map *io) +static int i82092aa_set_io_map(struct pcmcia_socket *socket, + struct pccard_io_map *io) { struct socket_info *sock_info = container_of(socket, struct socket_info, socket); @@ -585,7 +610,8 @@ static int i82092aa_set_io_map(struct pcmcia_socket *socket, struct pccard_io_ma leave("i82092aa_set_io_map with invalid map"); return -EINVAL; } - if ((io->start > 0xffff) || (io->stop > 0xffff) || (io->stop < io->start)) { + if ((io->start > 0xffff) || (io->stop > 0xffff) + || (io->stop < io->start)) { leave("i82092aa_set_io_map with invalid io"); return -EINVAL; } @@ -613,9 +639,11 @@ static int i82092aa_set_io_map(struct pcmcia_socket *socket, struct pccard_io_ma return 0; } -static int i82092aa_set_mem_map(struct pcmcia_socket *socket, struct pccard_mem_map *mem) +static int i82092aa_set_mem_map(struct pcmcia_socket *socket, + struct pccard_mem_map *mem) { - struct socket_info *sock_info = container_of(socket, struct socket_info, socket); + struct socket_info *sock_info = container_of(socket, struct socket_info, + socket); unsigned int sock = sock_info->number; struct pci_bus_region region; unsigned short base, i; @@ -636,8 +664,7 @@ static int i82092aa_set_mem_map(struct pcmcia_socket *socket, struct pccard_mem_ (mem->speed > 1000)) { leave("i82092aa_set_mem_map: invalid address / speed"); dev_err(&sock_info->dev->dev, - "invalid mem map for socket %i: %llx to %llx with a " - "start of %x\n", + "invalid mem map for socket %i: %llx to %llx with a start of %x\n", sock, (unsigned long long)region.start, (unsigned long long)region.end, -- cgit v1.2.3 From ac5af87725f7f0e14ff99b7d784e652cba9c21b7 Mon Sep 17 00:00:00 2001 From: Simon Geis Date: Fri, 13 Dec 2019 14:53:12 +0100 Subject: PCMCIA/i82092: include instead of Include the more general linux/io.h instead of asm/io.h as checkpatch suggests. Co-developed-by: Lukas Panzer Signed-off-by: Lukas Panzer Signed-off-by: Simon Geis Signed-off-by: Dominik Brodowski --- drivers/pcmcia/i82092.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/pcmcia/i82092.c b/drivers/pcmcia/i82092.c index 3d2ff208b87b..a80bdb4fee48 100644 --- a/drivers/pcmcia/i82092.c +++ b/drivers/pcmcia/i82092.c @@ -18,7 +18,7 @@ #include -#include +#include #include "i82092aa.h" #include "i82365.h" -- cgit v1.2.3 From 52739f063f7e991326eecfffa2538e1f425d2580 Mon Sep 17 00:00:00 2001 From: Simon Geis Date: Fri, 13 Dec 2019 14:53:13 +0100 Subject: PCMCIA/i82092: delete enter/leave macro Remove the enter/leave macros and the corresponding calls. These are obsolete since ftrace is available. Co-developed-by: Lukas Panzer Signed-off-by: Lukas Panzer Signed-off-by: Simon Geis Signed-off-by: Dominik Brodowski --- drivers/pcmcia/i82092.c | 55 ++++++----------------------------------------- drivers/pcmcia/i82092aa.h | 11 ---------- 2 files changed, 6 insertions(+), 60 deletions(-) diff --git a/drivers/pcmcia/i82092.c b/drivers/pcmcia/i82092.c index a80bdb4fee48..2189f8b0ded4 100644 --- a/drivers/pcmcia/i82092.c +++ b/drivers/pcmcia/i82092.c @@ -76,8 +76,6 @@ static int i82092aa_pci_probe(struct pci_dev *dev, unsigned char configbyte; int i, ret; - enter("i82092aa_pci_probe"); - ret = pci_enable_device(dev); if (ret) return ret; @@ -158,7 +156,6 @@ static int i82092aa_pci_probe(struct pci_dev *dev, goto err_out_free_sockets; } - leave("i82092aa_pci_probe"); return 0; err_out_free_sockets: @@ -178,14 +175,10 @@ static void i82092aa_pci_remove(struct pci_dev *dev) { int i; - enter("i82092aa_pci_remove"); - free_irq(dev->irq, i82092aa_interrupt); for (i = 0; i < socket_count; i++) pcmcia_unregister_socket(&sockets[i].socket); - - leave("i82092aa_pci_remove"); } static DEFINE_SPINLOCK(port_lock); @@ -322,8 +315,6 @@ static irqreturn_t i82092aa_interrupt(int irq, void *dev) unsigned int events, active = 0; -/* enter("i82092aa_interrupt");*/ - while (1) { loopcount++; if (loopcount > 20) { @@ -377,7 +368,6 @@ static irqreturn_t i82092aa_interrupt(int irq, void *dev) break; } return IRQ_RETVAL(handled); -/* leave("i82092aa_interrupt");*/ } @@ -388,8 +378,6 @@ static int card_present(int socketno) { unsigned int val; - enter("card_present"); - if ((socketno < 0) || (socketno >= MAX_SOCKETS)) return 0; if (sockets[socketno].io_base == 0) @@ -397,23 +385,18 @@ static int card_present(int socketno) val = indirect_read(socketno, 1); /* Interface status register */ - if ((val&12) == 12) { - leave("card_present 1"); + if ((val&12) == 12) return 1; - } - leave("card_present 0"); return 0; } static void set_bridge_state(int sock) { - enter("set_bridge_state"); indirect_write(sock, I365_GBLCTL, 0x00); indirect_write(sock, I365_GENCTL, 0x00); indirect_setbit(sock, I365_INTCTL, 0x08); - leave("set_bridge_state"); } @@ -424,8 +407,6 @@ static int i82092aa_init(struct pcmcia_socket *sock) pccard_io_map io = { 0, 0, 0, 0, 1 }; pccard_mem_map mem = { .res = &res, }; - enter("i82092aa_init"); - for (i = 0; i < 2; i++) { io.map = i; i82092aa_set_io_map(sock, &io); @@ -434,8 +415,7 @@ static int i82092aa_init(struct pcmcia_socket *sock) mem.map = i; i82092aa_set_mem_map(sock, &mem); } - - leave("i82092aa_init"); + return 0; } @@ -444,8 +424,6 @@ static int i82092aa_get_status(struct pcmcia_socket *socket, u_int *value) unsigned int sock = container_of(socket, struct socket_info, socket)->number; unsigned int status; - - enter("i82092aa_get_status"); /* Interface Status Register */ status = indirect_read(sock, I365_STATUS); @@ -477,7 +455,6 @@ static int i82092aa_get_status(struct pcmcia_socket *socket, u_int *value) if (status & I365_CS_POWERON) (*value) |= SS_POWERON; /* power is applied to the card */ - leave("i82092aa_get_status"); return 0; } @@ -490,8 +467,6 @@ static int i82092aa_set_socket(struct pcmcia_socket *socket, unsigned int sock = sock_info->number; unsigned char reg; - enter("i82092aa_set_socket"); - /* First, set the global controller options */ set_bridge_state(sock); @@ -535,7 +510,6 @@ static int i82092aa_set_socket(struct pcmcia_socket *socket, dev_err(&sock_info->dev->dev, "%s called with invalid VCC power value: %i", __func__, state->Vcc); - leave("i82092aa_set_socket"); return -EINVAL; } @@ -557,7 +531,6 @@ static int i82092aa_set_socket(struct pcmcia_socket *socket, dev_err(&sock_info->dev->dev, "%s called with invalid VPP power value: %i", __func__, state->Vcc); - leave("i82092aa_set_socket"); return -EINVAL; } @@ -589,7 +562,6 @@ static int i82092aa_set_socket(struct pcmcia_socket *socket, indirect_write(sock, I365_CSCINT, reg); (void)indirect_read(sock, I365_CSC); - leave("i82092aa_set_socket"); return 0; } @@ -601,20 +573,15 @@ static int i82092aa_set_io_map(struct pcmcia_socket *socket, unsigned int sock = sock_info->number; unsigned char map, ioctl; - enter("i82092aa_set_io_map"); - map = io->map; /* Check error conditions */ - if (map > 1) { - leave("i82092aa_set_io_map with invalid map"); + if (map > 1) return -EINVAL; - } + if ((io->start > 0xffff) || (io->stop > 0xffff) - || (io->stop < io->start)) { - leave("i82092aa_set_io_map with invalid io"); + || (io->stop < io->start)) return -EINVAL; - } /* Turn off the window before changing anything */ if (indirect_read(sock, I365_ADDRWIN) & I365_ENA_IO(map)) @@ -635,7 +602,6 @@ static int i82092aa_set_io_map(struct pcmcia_socket *socket, if (io->flags & MAP_ACTIVE) indirect_setbit(sock, I365_ADDRWIN, I365_ENA_IO(map)); - leave("i82092aa_set_io_map"); return 0; } @@ -649,20 +615,14 @@ static int i82092aa_set_mem_map(struct pcmcia_socket *socket, unsigned short base, i; unsigned char map; - enter("i82092aa_set_mem_map"); - pcibios_resource_to_bus(sock_info->dev->bus, ®ion, mem->res); map = mem->map; - if (map > 4) { - leave("i82092aa_set_mem_map: invalid map"); + if (map > 4) return -EINVAL; - } - if ((mem->card_start > 0x3ffffff) || (region.start > region.end) || (mem->speed > 1000)) { - leave("i82092aa_set_mem_map: invalid address / speed"); dev_err(&sock_info->dev->dev, "invalid mem map for socket %i: %llx to %llx with a start of %x\n", sock, @@ -717,7 +677,6 @@ static int i82092aa_set_mem_map(struct pcmcia_socket *socket, if (mem->flags & MAP_ACTIVE) indirect_setbit(sock, I365_ADDRWIN, I365_ENA_MEM(map)); - leave("i82092aa_set_mem_map"); return 0; } @@ -728,11 +687,9 @@ static int i82092aa_module_init(void) static void i82092aa_module_exit(void) { - enter("i82092aa_module_exit"); pci_unregister_driver(&i82092aa_pci_driver); if (sockets[0].io_base > 0) release_region(sockets[0].io_base, 2); - leave("i82092aa_module_exit"); } module_init(i82092aa_module_init); diff --git a/drivers/pcmcia/i82092aa.h b/drivers/pcmcia/i82092aa.h index 4586c43c78e2..0f851acab7e5 100644 --- a/drivers/pcmcia/i82092aa.h +++ b/drivers/pcmcia/i82092aa.h @@ -4,17 +4,6 @@ #include -/* Debuging defines */ -#ifdef NOTRACE -#define enter(x) printk("Enter: %s, %s line %i\n",x,__FILE__,__LINE__) -#define leave(x) printk("Leave: %s, %s line %i\n",x,__FILE__,__LINE__) -#else -#define enter(x) do {} while (0) -#define leave(x) do {} while (0) -#endif - - - /* prototypes */ static int i82092aa_pci_probe(struct pci_dev *dev, const struct pci_device_id *id); -- cgit v1.2.3 From 71705c611263cad99edf85a5ea021e098cac032b Mon Sep 17 00:00:00 2001 From: Simon Geis Date: Fri, 13 Dec 2019 14:53:14 +0100 Subject: PCMCIA/i82092: remove #if 0 block Remove the unused function indirect_read16, which is similar to indirect_read with the exception that it reads 16 instead of 8 bit. Co-developed-by: Lukas Panzer Signed-off-by: Lukas Panzer Signed-off-by: Simon Geis Signed-off-by: Dominik Brodowski --- drivers/pcmcia/i82092.c | 20 -------------------- 1 file changed, 20 deletions(-) diff --git a/drivers/pcmcia/i82092.c b/drivers/pcmcia/i82092.c index 2189f8b0ded4..85887d885b5f 100644 --- a/drivers/pcmcia/i82092.c +++ b/drivers/pcmcia/i82092.c @@ -200,26 +200,6 @@ static unsigned char indirect_read(int socket, unsigned short reg) return val; } -#if 0 -static unsigned short indirect_read16(int socket, unsigned short reg) -{ - unsigned short int port; - unsigned short tmp; - unsigned long flags; - - spin_lock_irqsave(&port_lock, flags); - reg = reg + socket * 0x40; - port = sockets[socket].io_base; - outb(reg, port); - tmp = inb(port+1); - reg++; - outb(reg, port); - tmp = tmp | (inb(port+1)<<8); - spin_unlock_irqrestore(&port_lock, flags); - return tmp; -} -#endif - static void indirect_write(int socket, unsigned short reg, unsigned char value) { unsigned short int port; -- cgit v1.2.3