Various drivers' irq handlers: kill dead code, needless casts
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / drivers / atm / horizon.c
index 0cded04680033a95c1cd93ad9ce771d7112651e1..f59349206dd29f9a918cad1531dfc26ce07e91a5 100644 (file)
@@ -1382,24 +1382,13 @@ static inline void rx_data_av_handler (hrz_dev * dev) {
 
 /********** interrupt handler **********/
 
-static irqreturn_t interrupt_handler(int irq, void *dev_id,
-                                       struct pt_regs *pt_regs) {
+static irqreturn_t interrupt_handler(int irq, void *dev_id) {
   hrz_dev * dev = (hrz_dev *) dev_id;
   u32 int_source;
   unsigned int irq_ok;
-  (void) pt_regs;
   
   PRINTD (DBG_FLOW, "interrupt_handler: %p", dev_id);
   
-  if (!dev_id) {
-    PRINTD (DBG_IRQ|DBG_ERR, "irq with NULL dev_id: %d", irq);
-    return IRQ_NONE;
-  }
-  if (irq != dev->irq) {
-    PRINTD (DBG_IRQ|DBG_ERR, "irq mismatch: %d", irq);
-    return IRQ_NONE;
-  }
-  
   // definitely for us
   irq_ok = 0;
   while ((int_source = rd_regl (dev, INT_SOURCE_REG_OFF)
@@ -1511,8 +1500,8 @@ static inline short setup_idle_tx_channel (hrz_dev * dev, hrz_vcc * vcc) {
     // a.k.a. prepare the channel and remember that we have done so.
     
     tx_ch_desc * tx_desc = &memmap->tx_descs[tx_channel];
-    u16 rd_ptr;
-    u16 wr_ptr;
+    u32 rd_ptr;
+    u32 wr_ptr;
     u16 channel = vcc->channel;
     
     unsigned long flags;
@@ -2719,7 +2708,7 @@ static int __devinit hrz_probe(struct pci_dev *pci_dev, const struct pci_device_
                goto out_disable;
        }
 
-       dev = kmalloc(sizeof(hrz_dev), GFP_KERNEL);
+       dev = kzalloc(sizeof(hrz_dev), GFP_KERNEL);
        if (!dev) {
                // perhaps we should be nice: deregister all adapters and abort?
                PRINTD(DBG_ERR, "out of memory");
@@ -2727,15 +2716,13 @@ static int __devinit hrz_probe(struct pci_dev *pci_dev, const struct pci_device_
                goto out_release;
        }
 
-       memset(dev, 0, sizeof(hrz_dev));
-
        pci_set_drvdata(pci_dev, dev);
 
        // grab IRQ and install handler - move this someplace more sensible
        irq = pci_dev->irq;
        if (request_irq(irq,
                        interrupt_handler,
-                       SA_SHIRQ, /* irqflags guess */
+                       IRQF_SHARED, /* irqflags guess */
                        DEV_LABEL, /* name guess */
                        dev)) {
                PRINTD(DBG_WARN, "request IRQ failed!");