+void
+device_refresh_present(struct device *dev)
+{
+ bool state = dev->sys_present;
+
+ if (dev->disabled || dev->deferred)
+ state = false;
+
+ __device_set_present(dev, state);
+}
+
+void device_set_present(struct device *dev, bool state)
+{
+ if (dev->sys_present == state)
+ return;
+
+ D(DEVICE, "%s '%s' %s present\n", dev->type->name, dev->ifname, state ? "is now" : "is no longer" );
+ dev->sys_present = state;
+ device_refresh_present(dev);
+}
+
+static int device_refcount(struct device *dev)
+{
+ struct list_head *list;
+ int count = 0;
+
+ list_for_each(list, &dev->users)
+ count++;
+
+ return count;
+}
+