summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2015-04-14 10:07:47 +0200
committerThomas Haller <thaller@redhat.com>2015-04-14 13:04:13 +0200
commitd695776d484c7cbc2fdd398cf960c6521a026b1a (patch)
tree46b230786dd9d73ef919ed34e7da7d8b19abe3b1
parent7354dc4c586bbc076d2a238cb52f2d397cdb81c9 (diff)
downloadNetworkManager-d695776d484c7cbc2fdd398cf960c6521a026b1a.tar.gz
platform/trivial: move udev code closer to beginning of nm-linux-platform.c
-rw-r--r--src/platform/nm-linux-platform.c88
1 files changed, 46 insertions, 42 deletions
diff --git a/src/platform/nm-linux-platform.c b/src/platform/nm-linux-platform.c
index 908c237e40..7409c943bb 100644
--- a/src/platform/nm-linux-platform.c
+++ b/src/platform/nm-linux-platform.c
@@ -281,6 +281,52 @@ _rtnl_addr_hack_lifetimes_rel_to_abs (struct rtnl_addr *rtnladdr)
}
/******************************************************************
+ * udev
+ ******************************************************************/
+
+static const char *
+udev_get_driver (GUdevDevice *device, int ifindex)
+{
+ GUdevDevice *parent = NULL, *grandparent = NULL;
+ const char *driver, *subsys;
+
+ driver = g_udev_device_get_driver (device);
+ if (driver)
+ return driver;
+
+ /* Try the parent */
+ parent = g_udev_device_get_parent (device);
+ if (parent) {
+ driver = g_udev_device_get_driver (parent);
+ if (!driver) {
+ /* Try the grandparent if it's an ibmebus device or if the
+ * subsys is NULL which usually indicates some sort of
+ * platform device like a 'gadget' net interface.
+ */
+ subsys = g_udev_device_get_subsystem (parent);
+ if ( (g_strcmp0 (subsys, "ibmebus") == 0)
+ || (subsys == NULL)) {
+ grandparent = g_udev_device_get_parent (parent);
+ if (grandparent) {
+ driver = g_udev_device_get_driver (grandparent);
+ }
+ }
+ }
+ }
+
+ /* Intern the string so we don't have to worry about memory
+ * management in NMPlatformLink.
+ */
+ if (driver)
+ driver = g_intern_string (driver);
+
+ g_clear_object (&parent);
+ g_clear_object (&grandparent);
+
+ return driver;
+}
+
+/******************************************************************
* NMPlatform types and functions
******************************************************************/
@@ -901,48 +947,6 @@ link_extract_type (NMPlatform *platform, struct rtnl_link *rtnllink, const char
return_type (NM_LINK_TYPE_UNKNOWN, type);
}
-static const char *
-udev_get_driver (GUdevDevice *device, int ifindex)
-{
- GUdevDevice *parent = NULL, *grandparent = NULL;
- const char *driver, *subsys;
-
- driver = g_udev_device_get_driver (device);
- if (driver)
- return driver;
-
- /* Try the parent */
- parent = g_udev_device_get_parent (device);
- if (parent) {
- driver = g_udev_device_get_driver (parent);
- if (!driver) {
- /* Try the grandparent if it's an ibmebus device or if the
- * subsys is NULL which usually indicates some sort of
- * platform device like a 'gadget' net interface.
- */
- subsys = g_udev_device_get_subsystem (parent);
- if ( (g_strcmp0 (subsys, "ibmebus") == 0)
- || (subsys == NULL)) {
- grandparent = g_udev_device_get_parent (parent);
- if (grandparent) {
- driver = g_udev_device_get_driver (grandparent);
- }
- }
- }
- }
-
- /* Intern the string so we don't have to worry about memory
- * management in NMPlatformLink.
- */
- if (driver)
- driver = g_intern_string (driver);
-
- g_clear_object (&parent);
- g_clear_object (&grandparent);
-
- return driver;
-}
-
static gboolean
init_link (NMPlatform *platform, NMPlatformLink *info, struct rtnl_link *rtnllink)
{