struct parisc_driver *next;
        char *name; 
        const struct parisc_device_id *id_table;
-       int (*probe) (struct parisc_device *dev); /* New device discovered */
-       int (*remove) (struct parisc_device *dev);
+       int (*probe)(struct parisc_device *dev); /* New device discovered */
+       void (*remove)(struct parisc_device *dev);
        struct device_driver drv;
 };
 
 
 void ipmi_irq_start_cleanup(struct si_sm_io *io);
 int ipmi_std_irq_setup(struct si_sm_io *io);
 void ipmi_irq_finish_setup(struct si_sm_io *io);
-int ipmi_si_remove_by_dev(struct device *dev);
+void ipmi_si_remove_by_dev(struct device *dev);
 struct device *ipmi_si_remove_by_data(int addr_space, enum si_type si_type,
                                      unsigned long addr);
 void ipmi_hardcode_init(void);
 
        kfree(smi_info);
 }
 
-int ipmi_si_remove_by_dev(struct device *dev)
+void ipmi_si_remove_by_dev(struct device *dev)
 {
        struct smi_info *e;
-       int rv = -ENOENT;
 
        mutex_lock(&smi_infos_lock);
        list_for_each_entry(e, &smi_infos, link) {
                if (e->io.dev == dev) {
                        cleanup_one_si(e);
-                       rv = 0;
                        break;
                }
        }
        mutex_unlock(&smi_infos_lock);
-
-       return rv;
 }
 
 struct device *ipmi_si_remove_by_data(int addr_space, enum si_type si_type,
 
        return ipmi_si_add_smi(&io);
 }
 
-static int __exit ipmi_parisc_remove(struct parisc_device *dev)
+static void __exit ipmi_parisc_remove(struct parisc_device *dev)
 {
-       return ipmi_si_remove_by_dev(&dev->dev);
+       ipmi_si_remove_by_dev(&dev->dev);
 }
 
 static const struct parisc_device_id ipmi_parisc_tbl[] __initconst = {
 
 
 static int ipmi_remove(struct platform_device *pdev)
 {
-       return ipmi_si_remove_by_dev(&pdev->dev);
+       ipmi_si_remove_by_dev(&pdev->dev);
+
+       return 0;
 }
 
 static int pdev_match_name(struct device *dev, const void *data)
 
        return hil_keyb_init();
 }
 
-static int __exit hil_remove_chip(struct parisc_device *dev)
+static void __exit hil_remove_chip(struct parisc_device *dev)
 {
        hil_keyb_exit();
-
-       return 0;
 }
 
 static const struct parisc_device_id hil_tbl[] __initconst = {
 
  * @return: success/error report
  */
 
-static int __exit gscps2_remove(struct parisc_device *dev)
+static void __exit gscps2_remove(struct parisc_device *dev)
 {
        struct gscps2port *ps2port = dev_get_drvdata(&dev->dev);
 
 #endif
        dev_set_drvdata(&dev->dev, NULL);
        kfree(ps2port);
-       return 0;
 }
 
 
 
        return retval;
 }
 
-static int __exit lan_remove_chip(struct parisc_device *pdev)
+static void __exit lan_remove_chip(struct parisc_device *pdev)
 {
        struct net_device *dev = parisc_get_drvdata(pdev);
        struct i596_private *lp = netdev_priv(dev);
        dma_free_noncoherent(&pdev->dev, sizeof(struct i596_private), lp->dma,
                       lp->dma_addr, DMA_BIDIRECTIONAL);
        free_netdev (dev);
-       return 0;
 }
 
 static const struct parisc_device_id lan_tbl[] __initconst = {
 
        return 0;
 }
 
-static int __exit parport_remove_chip(struct parisc_device *dev)
+static void __exit parport_remove_chip(struct parisc_device *dev)
 {
        struct parport *p = dev_get_drvdata(&dev->dev);
        if (p) {
                parport_put_port(p);
                kfree (ops); /* hope no-one cached it */
        }
-       return 0;
 }
 
 static const struct parisc_device_id parport_tbl[] __initconst = {
 
        return -ENODEV;
 }
 
-static int __exit
+static void __exit
 lasi700_driver_remove(struct parisc_device *dev)
 {
        struct Scsi_Host *host = dev_get_drvdata(&dev->dev);
        free_irq(host->irq, host);
        iounmap(hostdata->base);
        kfree(hostdata);
-
-       return 0;
 }
 
 static struct parisc_driver lasi700_driver __refdata = {
 
 
 MODULE_DEVICE_TABLE(parisc, zalon_tbl);
 
-static int __exit zalon_remove(struct parisc_device *dev)
+static void __exit zalon_remove(struct parisc_device *dev)
 {
        struct Scsi_Host *host = dev_get_drvdata(&dev->dev);
 
        scsi_remove_host(host);
        ncr53c8xx_release(host);
        free_irq(dev->irq, host);
-
-       return 0;
 }
 
 static struct parisc_driver zalon_driver __refdata = {
 
        return 0;
 }
 
-static int __exit mux_remove(struct parisc_device *dev)
+static void __exit mux_remove(struct parisc_device *dev)
 {
        int i, j;
        int port_count = (long)dev_get_drvdata(&dev->dev);
        }
 
        release_mem_region(dev->hpa.start + MUX_OFFSET, port_count * MUX_LINE_OFFSET);
-       return 0;
 }
 
 /* Hack.  This idea was taken from the 8250_gsc.c on how to properly order
 
        return err;
 }
 
-static int __exit
+static void __exit
 snd_harmony_remove(struct parisc_device *padev)
 {
        snd_card_free(parisc_get_drvdata(padev));
-       return 0;
 }
 
 static struct parisc_driver snd_harmony_driver __refdata = {