if (!dev)
                return NULL;
 
-       INIT_LIST_HEAD(&dev->bus_list);
        dev->bus = bus;
 
        return dev;
        return 0;
 }
 
-static int __mcb_bus_add_child(struct device *dev, void *data)
-{
-       struct mcb_device *mdev = to_mcb_device(dev);
-       struct mcb_bus *child;
-
-       BUG_ON(!mdev->is_added);
-       child = mdev->subordinate;
-
-       if (child)
-               mcb_bus_add_devices(child);
-
-       return 0;
-}
-
 /**
  * mcb_bus_add_devices() - Add devices in the bus' internal device list
  * @bus: The @mcb_bus we add the devices
 void mcb_bus_add_devices(const struct mcb_bus *bus)
 {
        bus_for_each_dev(&mcb_bus_type, NULL, NULL, __mcb_bus_add_devices);
-       bus_for_each_dev(&mcb_bus_type, NULL, NULL, __mcb_bus_add_child);
-
 }
 EXPORT_SYMBOL_GPL(mcb_bus_add_devices);
 
 
 /**
  * struct mcb_device - MEN Chameleon Bus device
  *
- * @bus_list: internal list handling for bus code
  * @dev: device in kernel representation
  * @bus: mcb bus the device is plugged to
- * @subordinate: subordinate MCBus in case of bridge
  * @is_added: flag to check if device is added to bus
  * @driver: associated mcb_driver
  * @id: mcb device id
  * @memory: memory resource
  */
 struct mcb_device {
-       struct list_head bus_list;
        struct device dev;
        struct mcb_bus *bus;
-       struct mcb_bus *subordinate;
        bool is_added;
        struct mcb_driver *driver;
        u16 id;