Merge pull request #6062 from cotequeiroz/usbip-remove_patches

usbip: remove obsolete patches, adapt package to new kernel/libudev
This commit is contained in:
Hannu Nyman 2018-06-26 23:25:36 +03:00 committed by GitHub
commit e2e11fbb99
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 6 additions and 254 deletions

View file

@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=usbip PKG_NAME:=usbip
PKG_RELEASE:=9 PKG_RELEASE:=10
PKG_LICENSE:=GPL-2.0 PKG_LICENSE:=GPL-2.0
# Since kernel 2.6.39.1 userspace tools are inside the kernel tree # Since kernel 2.6.39.1 userspace tools are inside the kernel tree
@ -52,7 +52,7 @@ endef
define Package/usbip define Package/usbip
$(call Package/usbip/Default) $(call Package/usbip/Default)
TITLE+= (common) TITLE+= (common)
DEPENDS+= +libwrap +kmod-usbip +libudev-fbsd DEPENDS+= +libwrap +kmod-usbip +libudev-fbsd +USE_GLIBC:libbsd
endef endef
define Package/usbip-client define Package/usbip-client
@ -70,13 +70,16 @@ endef
CONFIGURE_PATH:=. CONFIGURE_PATH:=.
MAKE_PATH:=. MAKE_PATH:=.
LIBTOOL_PATHS:=. LIBTOOL_PATHS:=.
MAKE_FLAGS+=CFLAGS="-Wno-implicit-function-declaration" MAKE_FLAGS+=CFLAGS='-Dudev_device_get_devpath\(x\)=udev_device_get_syspath\(x\)+strlen\(\"/sys\"\) \
-DSIGCLD=SIGCHLD'
CONFIGURE_ARGS+= --disable-silent-rules
define Build/Configure define Build/Configure
(cd $(PKG_BUILD_DIR); ./autogen.sh ); (cd $(PKG_BUILD_DIR); ./autogen.sh );
$(call Build/Configure/Default) $(call Build/Configure/Default)
endef endef
CONFIGURE_VARS+= $(if $(CONFIG_USE_GLIBC),LIBS='-lbsd -lpthread')
CFLAGS+="$(TARGET_CFLAGS) -I$(STAGING_DIR)/usr/include" CFLAGS+="$(TARGET_CFLAGS) -I$(STAGING_DIR)/usr/include"
USB_IDS_REV:=0a6be488b4c1485d30c9efee1cc895af5d4a1383 USB_IDS_REV:=0a6be488b4c1485d30c9efee1cc895af5d4a1383

View file

@ -1,11 +0,0 @@
--- a/src/usbipd.c
+++ b/src/usbipd.c
@@ -453,7 +453,7 @@ static void set_signal(void)
sigaction(SIGTERM, &act, NULL);
sigaction(SIGINT, &act, NULL);
act.sa_handler = SIG_IGN;
- sigaction(SIGCLD, &act, NULL);
+ sigaction(SIGCHLD, &act, NULL);
}
static const char *pid_file;

View file

@ -1,11 +0,0 @@
Index: trunk/src/cmd/Makefile.am
===================================================================
--- trunk/src/cmd/Makefile.am (revision 98)
+++ trunk/src/cmd/Makefile.am (revision 99)
@@ -17,5 +17,5 @@
INCLUDES = -I$(top_srcdir)/lib
LDADD = ../lib/libusbip.la @PACKAGE_LIBS@
EXTRA_CFLAGS = @EXTRA_CFLAGS@
-AM_CFLAGS = -Wall -W -Wstrict-prototypes -std=gnu99 $(EXTRA_CFLAGS) @PACKAGE_CFLAGS@
+AM_CFLAGS = -Wall -W -Wstrict-prototypes -std=gnu99 $(EXTRA_CFLAGS) @PACKAGE_CFLAGS@ -DUSBIDS_FILE='"@USBIDS_DIR@/usb.ids"'

View file

@ -1,229 +0,0 @@
--- a/drivers/head/stub_dev.c
+++ b/drivers/head/stub_dev.c
@@ -398,7 +398,11 @@ static int stub_probe(struct usb_interfa
{
struct usb_device *udev = interface_to_usbdev(interface);
struct stub_device *sdev = NULL;
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30)
char *udev_busid = interface->dev.parent->bus_id;
+#else
+ char *udev_busid = dev_name(interface->dev.parent);
+#endif
int err = 0;
udbg("Enter\n");
--- a/drivers/head/stub_main.c
+++ b/drivers/head/stub_main.c
@@ -252,18 +252,17 @@ static int __init usb_stub_init(void)
return -ENOMEM;
}
+ info(DRIVER_DESC "" DRIVER_VERSION);
+
+ memset(busid_table, 0, sizeof(busid_table));
+ spin_lock_init(&busid_table_lock);
+
ret = usb_register(&stub_driver);
if (ret) {
uerr("usb_register failed %d\n", ret);
return ret;
}
-
- info(DRIVER_DESC "" DRIVER_VERSION);
-
- memset(busid_table, 0, sizeof(busid_table));
- spin_lock_init(&busid_table_lock);
-
ret = driver_create_file(&stub_driver.drvwrap.driver, &driver_attr_match_busid);
if (ret) {
--- a/drivers/head/stub_rx.c
+++ b/drivers/head/stub_rx.c
@@ -159,7 +159,11 @@ static int tweak_set_configuration_cmd(s
* A user may need to set a special configuration value before
* exporting the device.
*/
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30)
uinfo("set_configuration (%d) to %s\n", config, urb->dev->dev.bus_id);
+#else
+ uinfo("set_configuration (%d) to %s\n", config, dev_name(&urb->dev->dev));
+#endif
uinfo("but, skip!\n");
return 0;
@@ -177,7 +181,11 @@ static int tweak_reset_device_cmd(struct
value = le16_to_cpu(req->wValue);
index = le16_to_cpu(req->wIndex);
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30)
uinfo("reset_device (port %d) to %s\n", index, urb->dev->dev.bus_id);
+#else
+ uinfo("reset_device (port %d) to %s\n", index, dev_name(&urb->dev->dev));
+#endif
/* all interfaces should be owned by usbip driver, so just reset it. */
ret = usb_lock_device_for_reset(urb->dev, NULL);
@@ -187,7 +195,11 @@ static int tweak_reset_device_cmd(struct
}
/* try to reset the device */
- ret = usb_reset_composite_device(urb->dev, NULL);
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,27)
+ ret = usb_reset_composite_device(urb->dev, NULL);
+#else
+ ret = usb_reset_device(urb->dev);
+#endif
if (ret < 0)
uerr("device reset\n");
--- a/drivers/head/usbip_common.c
+++ b/drivers/head/usbip_common.c
@@ -55,10 +55,7 @@ static ssize_t show_flag(struct device *
static ssize_t store_flag(struct device *dev, struct device_attribute *attr,
const char *buf, size_t count)
{
- unsigned long flag;
-
- sscanf(buf, "%lx", &flag);
- usbip_debug_flag = flag;
+ sscanf(buf, "%lx", &usbip_debug_flag);
return count;
}
@@ -390,7 +387,7 @@ int usbip_thread(void *param)
unlock_kernel();
/* srv.rb must wait for rx_thread starting */
- complete(&ut->thread_done);
+ complete(&ut->thread_started);
/* start of while loop */
ut->loop_ops(ut);
@@ -403,15 +400,21 @@ int usbip_thread(void *param)
void usbip_start_threads(struct usbip_device *ud)
{
+
/*
* threads are invoked per one device (per one connection).
*/
+ INIT_COMPLETION(ud->tcp_rx.thread_started);
+ INIT_COMPLETION(ud->tcp_tx.thread_started);
+ INIT_COMPLETION(ud->tcp_rx.thread_done);
+ INIT_COMPLETION(ud->tcp_tx.thread_done);
+
kernel_thread((int(*)(void *))usbip_thread, (void *)&ud->tcp_rx, 0);
kernel_thread((int(*)(void *))usbip_thread, (void *)&ud->tcp_tx, 0);
/* confirm threads are starting */
- wait_for_completion(&ud->tcp_rx.thread_done);
- wait_for_completion(&ud->tcp_tx.thread_done);
+ wait_for_completion(&ud->tcp_rx.thread_started);
+ wait_for_completion(&ud->tcp_tx.thread_started);
}
EXPORT_SYMBOL(usbip_start_threads);
@@ -436,6 +439,7 @@ void usbip_task_init(struct usbip_task *
void (*loop_ops)(struct usbip_task *))
{
ut->thread = NULL;
+ init_completion(&ut->thread_started);
init_completion(&ut->thread_done);
ut->name = name;
ut->loop_ops = loop_ops;
--- a/drivers/head/usbip_event.c
+++ b/drivers/head/usbip_event.c
@@ -38,7 +38,7 @@ void usbip_start_eh(struct usbip_device
kernel_thread((int(*)(void *)) usbip_thread, (void *) eh, 0);
- wait_for_completion(&eh->thread_done);
+ wait_for_completion(&eh->thread_started);
}
EXPORT_SYMBOL(usbip_start_eh);
--- a/drivers/head/vhci_hcd.c
+++ b/drivers/head/vhci_hcd.c
@@ -58,7 +58,7 @@ static void vhci_stop(struct usb_hcd *hc
static int vhci_get_frame_number(struct usb_hcd *hcd);
static const char driver_name[] = "vhci_hcd";
-static const char driver_desc[] = "USB/IP Virtual Host Contoroller";
+static const char driver_desc[] = "USB/IP Virtual Host Controller";
@@ -416,14 +416,6 @@ static int vhci_hub_control(struct usb_h
case USB_PORT_FEAT_SUSPEND:
dbg_vhci_rh(" SetPortFeature: USB_PORT_FEAT_SUSPEND\n");
uerr(" not yet\n");
-#if 0
- dum->port_status[rhport] |= (1 << USB_PORT_FEAT_SUSPEND);
- if (dum->driver->suspend) {
- spin_unlock (&dum->lock);
- dum->driver->suspend (&dum->gadget);
- spin_lock (&dum->lock);
- }
-#endif
break;
case USB_PORT_FEAT_RESET:
dbg_vhci_rh(" SetPortFeature: USB_PORT_FEAT_RESET\n");
@@ -432,12 +424,6 @@ static int vhci_hub_control(struct usb_h
dum->port_status[rhport] &= ~(USB_PORT_STAT_ENABLE
| USB_PORT_STAT_LOW_SPEED
| USB_PORT_STAT_HIGH_SPEED);
-#if 0
- if (dum->driver) {
- dev_dbg (hardware, "disconnect\n");
- stop_activity (dum, dum->driver);
- }
-#endif
/* FIXME test that code path! */
}
@@ -1060,7 +1046,7 @@ static int vhci_hcd_probe(struct platfor
struct usb_hcd *hcd;
int ret;
- uinfo("proving...\n");
+ uinfo("probing...\n");
dbg_vhci_hc("name %s id %d\n", pdev->name, pdev->id);
@@ -1076,7 +1062,11 @@ static int vhci_hcd_probe(struct platfor
* Allocate and initialize hcd.
* Our private data is also allocated automatically.
*/
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30)
hcd = usb_create_hcd(&vhci_hc_driver, &pdev->dev, pdev->dev.bus_id);
+#else
+ hcd = usb_create_hcd(&vhci_hc_driver, &pdev->dev, dev_name(&pdev->dev));
+#endif
if (!hcd) {
uerr("create hcd failed\n");
return -ENOMEM;
--- a/drivers/head/vhci_sysfs.c
+++ b/drivers/head/vhci_sysfs.c
@@ -123,7 +123,11 @@ static ssize_t show_status(struct device
out += sprintf(out, "%03u %08x ",
vdev->speed, vdev->devid);
out += sprintf(out, "%16p ", vdev->ud.tcp_socket);
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30)
out += sprintf(out, "%s", vdev->udev->dev.bus_id);
+#else
+ out += sprintf(out, "%s", dev_name(&vdev->udev->dev));
+#endif
} else
out += sprintf(out, "000 000 000 0000000000000000 0-0");
--- a/drivers/head/usbip_common.h
+++ b/drivers/head/usbip_common.h
@@ -300,6 +300,7 @@ struct usbip_device;
struct usbip_task {
struct task_struct *thread;
+ struct completion thread_started;
struct completion thread_done;
char *name;
void (*loop_ops)(struct usbip_task *);