From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Google-Smtp-Source: AH8x225zO3ep6yPDTxhI/puP18t66YHooQsSFWi/i4O5xnB7e+p48L2TnV2gKdHgImx4qBV0bzX8 ARC-Seal: i=1; a=rsa-sha256; t=1517301464; cv=none; d=google.com; s=arc-20160816; b=D90pUfqz8wHxJaIv4G3S8VE1akPygz4TFknXdpFjovwddDMmWr3s4bIJipxAArieJt X5aJUA5tmiICClkF36y/Gd7yRbzvO+zdM46dOg64x2UMd2+dsONBIQMdnO38uE2oM1hp Wc4Q2ijIPyhaImf/KMXEkNxzOYe/kFy6XMxbLsc/CU+nwkRbiQfTIqQy7jaGmoOi5PQy snVVuhbpoaVJjOXdzVuoOSotYSlrg6i2I95Y7JC6fa8Ol9BlA0ai+ECKJfP6VHNyhKZ6 web21xyJMhm/tYXrrVoG+HyrAmx8iJQ17a3rwUiIZi0D7mXubCL576G8hjjppUW5Wiuc OF4w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:arc-authentication-results; bh=y0Sybmr1oqkYKw6gFz1j2Gyo7s27QMlJCm1AIZ49JB0=; b=OMwqKwUX1phHCNzFeGiZRYjNJgaYWbobmlatOU4S0f2rf72expyjqNwdCqx0Lvvm83 fdVnrtb/KA14swRMd8ncocETbcEVdPcWZMC+RIPN8i4fHVmsmz5ZYckDz2Eqoz4P0Ppf 1DRvWVsw1V4o8TWQyUTdj4Pl4wWZctBd/rY/jv700oqikry1Vg6KPWIWQlO94l67PVg2 qvVQqnJHqSZnQPCzEJDsqushL+UFv2lLYaM2Yls6BnJ2PRDluXe5yjmDLYT7IzO/uvxx wQgj1tklpnBf2G/UiU+RmuasmpWBfMZb9+kGJRIS86oJ+wc0rfPs9BRjMJg+Auzs2M51 h9fA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of salva@qindel.com designates 89.140.90.34 as permitted sender) smtp.mailfrom=salva@qindel.com Authentication-Results: mx.google.com; spf=pass (google.com: domain of salva@qindel.com designates 89.140.90.34 as permitted sender) smtp.mailfrom=salva@qindel.com From: Salvador Fandino To: linux-usb@vger.kernel.org Cc: gregkh@linuxfoundation.org, valentina.manea.m@gmail.com, shuah@kernel.org, linux-kernel@vger.kernel.org, =?UTF-8?q?Salvador=20Fandi=C3=B1o?= Subject: [PATCH 4/4] config: make USB_MAXBUS configurable and adjust VHCI_NR_HCS top limit Date: Tue, 30 Jan 2018 09:36:30 +0100 Message-Id: <20180130083630.26501-5-salva@qindel.com> X-Mailer: git-send-email 2.14.1 In-Reply-To: <20180130083630.26501-1-salva@qindel.com> References: <20180130083630.26501-1-salva@qindel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: =?utf-8?q?1591005900187047436?= X-GMAIL-MSGID: =?utf-8?q?1591005900187047436?= X-Mailing-List: linux-kernel@vger.kernel.org List-ID: From: Salvador Fandi=C3=B1o The maximum number of USB host controllers supported by the kernel had a hard-coded limit of 64. In some scenarios that limit may be not enough. For instance, in my particular case, I have systems with thousands of containers running and would like to provide a VHCI (USBIP host controller) device to every one of them but can't because of this limit. This patch adds a new configuration entry for USB_MAXBUS and also increases the top limit for USBIP_VHCI_NR_HCS (number of VHCI controllers) accordingly. Signed-off-by: Salvador Fandi=C3=B1o --- drivers/usb/Kconfig | 9 +++++++++ drivers/usb/core/hcd.c | 2 +- drivers/usb/usbip/Kconfig | 5 ++++- 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/drivers/usb/Kconfig b/drivers/usb/Kconfig index f699abab1787..78b3e2805d8f 100644 --- a/drivers/usb/Kconfig +++ b/drivers/usb/Kconfig @@ -72,6 +72,15 @@ config USB To compile this driver as a module, choose M here: the module will be called usbcore. =20 +config USB_MAXBUS + int "Maximum number of USB host controllers" + range 1 4096 + default 64 + ---help--- + This defines the number of USB host controllers that would be + available, both physical and virtual (for instance, those + used by USB/IP). + config USB_PCI bool "PCI based USB host interface" depends on PCI diff --git a/drivers/usb/core/hcd.c b/drivers/usb/core/hcd.c index fc32391a34d5..e1589e950b86 100644 --- a/drivers/usb/core/hcd.c +++ b/drivers/usb/core/hcd.c @@ -83,7 +83,7 @@ DEFINE_IDR (usb_bus_idr); EXPORT_SYMBOL_GPL (usb_bus_idr); =20 /* used when allocating bus numbers */ -#define USB_MAXBUS 64 +#define USB_MAXBUS CONFIG_USB_MAXBUS =20 /* used when updating list of hcds */ DEFINE_MUTEX(usb_bus_idr_lock); /* exported only for usbfs */ diff --git a/drivers/usb/usbip/Kconfig b/drivers/usb/usbip/Kconfig index eeefa29f8aa2..cb87bec9dbbb 100644 --- a/drivers/usb/usbip/Kconfig +++ b/drivers/usb/usbip/Kconfig @@ -37,7 +37,7 @@ config USBIP_VHCI_HC_PORTS =20 config USBIP_VHCI_NR_HCS int "Number of USB/IP virtual host controllers" - range 1 128 + range 1 2048 default 1 depends on USBIP_VHCI_HCD ---help--- @@ -46,6 +46,9 @@ config USBIP_VHCI_NR_HCS virtual host controllers as if adding physical host controllers. =20 + Note that the number of host controllers is also limited by + USB_MAXBUS. + config USBIP_HOST tristate "Host driver" depends on USBIP_CORE && USB --=20 2.14.1