[PATCH] sn: fixes due to driver core changes
authorPatrick Mochel <mochel@digitalimplant.org>
Fri, 29 Apr 2005 00:11:52 +0000 (17:11 -0700)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 20 Jun 2005 22:15:28 +0000 (15:15 -0700)
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
arch/ia64/sn/kernel/tiocx.c

index ab9b5f3..b6bcfe0 100644 (file)
@@ -518,25 +518,22 @@ static int __init tiocx_init(void)
        return 0;
 }
 
-static void __exit tiocx_exit(void)
+static int cx_remove_device(struct device * dev, void * data)
 {
-       struct device *dev;
-       struct device *tdev;
+       struct cx_dev *cx_dev = to_cx_dev(dev);
+       device_remove_file(dev, &dev_attr_cxdev_control);
+       cx_device_unregister(cx_dev);
+       return 0;
+}
 
+static void __exit tiocx_exit(void)
+{
        DBG("tiocx_exit\n");
 
        /*
         * Unregister devices.
         */
-       list_for_each_entry_safe(dev, tdev, &tiocx_bus_type.devices.list,
-                                bus_list) {
-               if (dev) {
-                       struct cx_dev *cx_dev = to_cx_dev(dev);
-                       device_remove_file(dev, &dev_attr_cxdev_control);
-                       cx_device_unregister(cx_dev);
-               }
-       }
-
+       bus_for_each_dev(&tiocx_bus_type, NULL, NULL, cx_remove_device);
        bus_unregister(&tiocx_bus_type);
 }