]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
usb: Drop dm.h header file
authorSimon Glass <sjg@chromium.org>
Sun, 19 Jul 2020 16:15:55 +0000 (10:15 -0600)
committerTom Rini <trini@konsulko.com>
Tue, 4 Aug 2020 02:19:54 +0000 (22:19 -0400)
This header file should not be included in other header files. Remove it
and use a forward declaration instead.

Also move the inline function out into a C file. We should not include C
code in headers.

Signed-off-by: Simon Glass <sjg@chromium.org>
drivers/usb/musb-new/musb_uboot.c
drivers/usb/musb-new/pic32.c
drivers/usb/musb-new/usb-compat.h

index 988071a61d11e813f096178e34e8db2ca3add384..8ac2f0a78adb9587b2e2c55e2271dd561932116e 100644 (file)
@@ -1,5 +1,6 @@
 #include <common.h>
 #include <console.h>
+#include <dm.h>
 #include <malloc.h>
 #include <watchdog.h>
 #include <linux/delay.h>
@@ -452,3 +453,39 @@ struct musb *musb_register(struct musb_hdrc_platform_data *plat, void *bdata,
 
        return *musbp;
 }
+
+#if CONFIG_IS_ENABLED(DM_USB)
+struct usb_device *usb_dev_get_parent(struct usb_device *udev)
+{
+       struct udevice *parent = udev->dev->parent;
+
+       /*
+        * When called from usb-uclass.c: usb_scan_device() udev->dev points
+        * to the parent udevice, not the actual udevice belonging to the
+        * udev as the device is not instantiated yet.
+        *
+        * If dev is an usb-bus, then we are called from usb_scan_device() for
+        * an usb-device plugged directly into the root port, return NULL.
+        */
+       if (device_get_uclass_id(udev->dev) == UCLASS_USB)
+               return NULL;
+
+       /*
+        * If these 2 are not the same we are being called from
+        * usb_scan_device() and udev itself is the parent.
+        */
+       if (dev_get_parent_priv(udev->dev) != udev)
+               return udev;
+
+       /* We are being called normally, use the parent pointer */
+       if (device_get_uclass_id(parent) == UCLASS_USB_HUB)
+               return dev_get_parent_priv(parent);
+
+       return NULL;
+}
+#else
+struct usb_device *usb_dev_get_parent(struct usb_device *udev)
+{
+       return udev->parent;
+}
+#endif
index 74a841af4603f34d02cdf58ee7999f6ac48541cd..2fbe9bebf17e8ace6ddf28e859909a455ad92d37 100644 (file)
@@ -10,6 +10,7 @@
  */
 
 #include <common.h>
+#include <dm.h>
 #include <dm/device_compat.h>
 #include <linux/bitops.h>
 #include <linux/delay.h>
index f2c18ad3a2ec4c657d73782eda107fc7340eb1ec..1c66c4fe3637115b1c8cae0f5c47f8277fd7bfb6 100644 (file)
@@ -1,9 +1,10 @@
 #ifndef __USB_COMPAT_H__
 #define __USB_COMPAT_H__
 
-#include <dm.h>
 #include "usb.h"
 
+struct udevice;
+
 struct usb_hcd {
        void *hcd_priv;
 };
@@ -67,40 +68,12 @@ static inline int usb_hcd_unmap_urb_for_dma(struct usb_hcd *hcd,
        return 0;
 }
 
-#if CONFIG_IS_ENABLED(DM_USB)
-static inline struct usb_device *usb_dev_get_parent(struct usb_device *udev)
-{
-       struct udevice *parent = udev->dev->parent;
-
-       /*
-        * When called from usb-uclass.c: usb_scan_device() udev->dev points
-        * to the parent udevice, not the actual udevice belonging to the
-        * udev as the device is not instantiated yet.
-        *
-        * If dev is an usb-bus, then we are called from usb_scan_device() for
-        * an usb-device plugged directly into the root port, return NULL.
-        */
-       if (device_get_uclass_id(udev->dev) == UCLASS_USB)
-               return NULL;
-
-       /*
-        * If these 2 are not the same we are being called from
-        * usb_scan_device() and udev itself is the parent.
-        */
-       if (dev_get_parent_priv(udev->dev) != udev)
-               return udev;
-
-       /* We are being called normally, use the parent pointer */
-       if (device_get_uclass_id(parent) == UCLASS_USB_HUB)
-               return dev_get_parent_priv(parent);
-
-       return NULL;
-}
-#else
-static inline struct usb_device *usb_dev_get_parent(struct usb_device *dev)
-{
-       return dev->parent;
-}
-#endif
+/**
+ * usb_dev_get_parent() - Get the parent of a USB device
+ *
+ * @udev: USB struct containing information about the device
+ * @return associated device for which udev == dev_get_parent_priv(dev)
+ */
+struct usb_device *usb_dev_get_parent(struct usb_device *udev);
 
 #endif /* __USB_COMPAT_H__ */