USB changes for 5.4-rc1
Here is the big set of USB patches for 5.4-rc1. Two major chunks of code are moving out of the tree and into the staging directory, uwb and wusb (wireless USB support), because there are no devices that actually use this protocol anymore, and what we have today probably doesn't work at all given that the maintainers left many many years ago. So move it to staging where it will be removed in a few releases if no one screams. Other than that, lots of little things. The usual gadget and xhci and usb serial driver updates, along with a bunch of sysfs file cleanups due to the driver core changes to support that. Nothing really major, just constant forward progress. All of these have been in linux-next for a while with no reported issues. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> -----BEGIN PGP SIGNATURE----- iG0EABECAC0WIQT0tgzFv3jCIUoxPcsxR9QN2y37KQUCXYIYYQ8cZ3JlZ0Brcm9h aC5jb20ACgkQMUfUDdst+ymn8ACfTi8Y2ku/yqw8Nvs4vQjc08MUDhgAoNnbhsI6 H3HUrZTjJJzuxHCM22Lh =8ZRm -----END PGP SIGNATURE----- Merge tag 'usb-5.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb Pull USB updates from Greg KH: "Here is the big set of USB patches for 5.4-rc1. Two major chunks of code are moving out of the tree and into the staging directory, uwb and wusb (wireless USB support), because there are no devices that actually use this protocol anymore, and what we have today probably doesn't work at all given that the maintainers left many many years ago. So move it to staging where it will be removed in a few releases if no one screams. Other than that, lots of little things. The usual gadget and xhci and usb serial driver updates, along with a bunch of sysfs file cleanups due to the driver core changes to support that. Nothing really major, just constant forward progress. All of these have been in linux-next for a while with no reported issues" * tag 'usb-5.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (159 commits) USB: usbcore: Fix slab-out-of-bounds bug during device reset usb: cdns3: Remove redundant dev_err call in cdns3_probe() USB: rio500: Fix lockdep violation USB: rio500: simplify locking usb: mtu3: register a USB Role Switch for dual role mode usb: common: add USB GPIO based connection detection driver usb: common: create Kconfig file usb: roles: get usb-role-switch from parent usb: roles: Add fwnode_usb_role_switch_get() function device connection: Add fwnode_connection_find_match() usb: roles: Introduce stubs for the exiting functions in role.h dt-bindings: usb: mtu3: add properties about USB Role Switch dt-bindings: usb: add binding for USB GPIO based connection detection driver dt-bindings: connector: add optional properties for Type-B dt-binding: usb: add usb-role-switch property usbip: Implement SG support to vhci-hcd and stub driver usb: roles: intel: Enable static DRD mode for role switch xhci-ext-caps.c: Add property to disable Intel SW switch usb: dwc3: remove generic PHY calibrate() calls usb: core: phy: add support for PHY calibration ...
This commit is contained in:
commit
c6b48dad92
|
@ -17,6 +17,20 @@ Optional properties:
|
|||
- self-powered: Set this property if the usb device that has its own power
|
||||
source.
|
||||
|
||||
Optional properties for usb-b-connector:
|
||||
- id-gpios: an input gpio for USB ID pin.
|
||||
- vbus-gpios: an input gpio for USB VBUS pin, used to detect presence of
|
||||
VBUS 5V.
|
||||
see gpio/gpio.txt.
|
||||
- vbus-supply: a phandle to the regulator for USB VBUS if needed when host
|
||||
mode or dual role mode is supported.
|
||||
Particularly, if use an output GPIO to control a VBUS regulator, should
|
||||
model it as a regulator.
|
||||
see regulator/fixed-regulator.yaml
|
||||
- pinctrl-names : a pinctrl state named "default" is optional
|
||||
- pinctrl-0 : pin control group
|
||||
see pinctrl/pinctrl-bindings.txt
|
||||
|
||||
Optional properties for usb-c-connector:
|
||||
- power-role: should be one of "source", "sink" or "dual"(DRP) if typec
|
||||
connector has power support.
|
||||
|
|
|
@ -0,0 +1,45 @@
|
|||
Binding for the Cadence USBSS-DRD controller
|
||||
|
||||
Required properties:
|
||||
- reg: Physical base address and size of the controller's register areas.
|
||||
Controller has 3 different regions:
|
||||
- HOST registers area
|
||||
- DEVICE registers area
|
||||
- OTG/DRD registers area
|
||||
- reg-names - register memory area names:
|
||||
"xhci" - for HOST registers space
|
||||
"dev" - for DEVICE registers space
|
||||
"otg" - for OTG/DRD registers space
|
||||
- compatible: Should contain: "cdns,usb3"
|
||||
- interrupts: Interrupts used by cdns3 controller:
|
||||
"host" - interrupt used by XHCI driver.
|
||||
"peripheral" - interrupt used by device driver
|
||||
"otg" - interrupt used by DRD/OTG part of driver
|
||||
|
||||
Optional properties:
|
||||
- maximum-speed : valid arguments are "super-speed", "high-speed" and
|
||||
"full-speed"; refer to usb/generic.txt
|
||||
- dr_mode: Should be one of "host", "peripheral" or "otg".
|
||||
- phys: reference to the USB PHY
|
||||
- phy-names: from the *Generic PHY* bindings;
|
||||
Supported names are:
|
||||
- cdns3,usb2-phy
|
||||
- cdns3,usb3-phy
|
||||
|
||||
- cdns,on-chip-buff-size : size of memory intended as internal memory for endpoints
|
||||
buffers expressed in KB
|
||||
|
||||
Example:
|
||||
usb@f3000000 {
|
||||
compatible = "cdns,usb3";
|
||||
interrupts = <GIC_USB_IRQ 7 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_USB_IRQ 7 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_USB_IRQ 8 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "host", "peripheral", "otg";
|
||||
reg = <0xf3000000 0x10000>, /* memory area for HOST registers */
|
||||
<0xf3010000 0x10000>, /* memory area for DEVICE registers */
|
||||
<0xf3020000 0x10000>; /* memory area for OTG/DRD registers */
|
||||
reg-names = "xhci", "dev", "otg";
|
||||
phys = <&usb2_phy>, <&usb3_phy>;
|
||||
phy-names = "cdns3,usb2-phy", "cnds3,usb3-phy";
|
||||
};
|
|
@ -10,6 +10,7 @@ Required properties:
|
|||
"fsl,imx6sx-usb"
|
||||
"fsl,imx6ul-usb"
|
||||
"fsl,imx7d-usb"
|
||||
"fsl,imx7ulp-usb"
|
||||
"lsi,zevio-usb"
|
||||
"qcom,ci-hdrc"
|
||||
"chipidea,usb2"
|
||||
|
|
|
@ -12,13 +12,11 @@ Required properties:
|
|||
- interrupts: interrupt number to the cpu.
|
||||
- clocks: from common clock binding: handle to usb clock.
|
||||
- clock-names: from common clock binding: Shall be "usbhost".
|
||||
- port: if in the SoC there are EHCI phys, they should be listed here.
|
||||
One phy per port. Each port should have following entries:
|
||||
- reg: port number on EHCI controller, e.g
|
||||
On Exynos5250, port 0 is USB2.0 otg phy
|
||||
port 1 is HSIC phy0
|
||||
port 2 is HSIC phy1
|
||||
- phys: from the *Generic PHY* bindings; specifying phy used by port.
|
||||
- phys: from the *Generic PHY* bindings; array specifying phy(s) used
|
||||
by the root port.
|
||||
- phy-names: from the *Generic PHY* bindings; array of the names for
|
||||
each phy for the root ports, must be a subset of the following:
|
||||
"host", "hsic0", "hsic1".
|
||||
|
||||
Optional properties:
|
||||
- samsung,vbus-gpio: if present, specifies the GPIO that
|
||||
|
@ -35,12 +33,8 @@ Example:
|
|||
clocks = <&clock 285>;
|
||||
clock-names = "usbhost";
|
||||
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
phys = <&usb2phy 1>;
|
||||
};
|
||||
phys = <&usb2phy 1>;
|
||||
phy-names = "host";
|
||||
};
|
||||
|
||||
OHCI
|
||||
|
@ -52,13 +46,11 @@ Required properties:
|
|||
- interrupts: interrupt number to the cpu.
|
||||
- clocks: from common clock binding: handle to usb clock.
|
||||
- clock-names: from common clock binding: Shall be "usbhost".
|
||||
- port: if in the SoC there are OHCI phys, they should be listed here.
|
||||
One phy per port. Each port should have following entries:
|
||||
- reg: port number on OHCI controller, e.g
|
||||
On Exynos5250, port 0 is USB2.0 otg phy
|
||||
port 1 is HSIC phy0
|
||||
port 2 is HSIC phy1
|
||||
- phys: from the *Generic PHY* bindings, specifying phy used by port.
|
||||
- phys: from the *Generic PHY* bindings; array specifying phy(s) used
|
||||
by the root port.
|
||||
- phy-names: from the *Generic PHY* bindings; array of the names for
|
||||
each phy for the root ports, must be a subset of the following:
|
||||
"host", "hsic0", "hsic1".
|
||||
|
||||
Example:
|
||||
usb@12120000 {
|
||||
|
@ -69,13 +61,8 @@ Example:
|
|||
clocks = <&clock 285>;
|
||||
clock-names = "usbhost";
|
||||
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
phys = <&usb2phy 1>;
|
||||
};
|
||||
|
||||
phys = <&usb2phy 1>;
|
||||
phy-names = "host";
|
||||
};
|
||||
|
||||
DWC3
|
||||
|
|
|
@ -11,13 +11,6 @@ Required sub-node:
|
|||
|
||||
Documentation/devicetree/bindings/connector/usb-connector.txt
|
||||
|
||||
Deprecated properties :
|
||||
- fcs,max-sink-microvolt : Maximum sink voltage accepted by port controller
|
||||
- fcs,max-sink-microamp : Maximum sink current accepted by port controller
|
||||
- fcs,max-sink-microwatt : Maximum sink power accepted by port controller
|
||||
- fcs,operating-sink-microwatt : Minimum amount of power accepted from a sink
|
||||
when negotiating
|
||||
|
||||
|
||||
Example:
|
||||
|
||||
|
|
|
@ -30,6 +30,10 @@ Optional properties:
|
|||
optional for OTG device.
|
||||
- adp-disable: tells OTG controllers we want to disable OTG ADP, ADP is
|
||||
optional for OTG device.
|
||||
- usb-role-switch: boolean, indicates that the device is capable of assigning
|
||||
the USB data role (USB host or USB device) for a given
|
||||
USB connector, such as Type-C, Type-B(micro).
|
||||
see connector/usb-connector.txt.
|
||||
|
||||
This is an attribute to a USB controller such as:
|
||||
|
||||
|
|
|
@ -30,7 +30,8 @@ Required properties:
|
|||
the following ones are optional:
|
||||
"ref_ck": reference clock used by low power mode etc,
|
||||
"mcu_ck": mcu_bus clock for register access,
|
||||
"dma_ck": dma_bus clock for data transfer by DMA
|
||||
"dma_ck": dma_bus clock for data transfer by DMA,
|
||||
"xhci_ck": controller clock
|
||||
|
||||
- phys : see usb-hcd.txt in the current directory
|
||||
|
||||
|
@ -100,7 +101,7 @@ Required properties:
|
|||
- clocks : a list of phandle + clock-specifier pairs, one for each
|
||||
entry in clock-names
|
||||
- clock-names : must contain "sys_ck", and the following ones are optional:
|
||||
"ref_ck", "mcu_ck" and "dma_ck"
|
||||
"ref_ck", "mcu_ck" and "dma_ck", "xhci_ck"
|
||||
|
||||
Optional properties:
|
||||
- vbus-supply : reference to the VBUS regulator;
|
||||
|
|
|
@ -16,7 +16,7 @@ Required properties:
|
|||
entry in clock-names
|
||||
- clock-names : must contain "sys_ck" for clock of controller,
|
||||
the following clocks are optional:
|
||||
"ref_ck", "mcu_ck" and "dam_ck";
|
||||
"ref_ck", "mcu_ck" and "dma_ck";
|
||||
- phys : see usb-hcd.txt in the current directory
|
||||
- dr_mode : should be one of "host", "peripheral" or "otg",
|
||||
refer to usb/generic.txt
|
||||
|
@ -28,8 +28,13 @@ Optional properties:
|
|||
parent's address space
|
||||
- extcon : external connector for vbus and idpin changes detection, needed
|
||||
when supports dual-role mode.
|
||||
it's considered valid for compatibility reasons, not allowed for
|
||||
new bindings, and use "usb-role-switch" property instead.
|
||||
- vbus-supply : reference to the VBUS regulator, needed when supports
|
||||
dual-role mode.
|
||||
it's considered valid for compatibility reasons, not allowed for
|
||||
new bindings, and put into a usb-connector node.
|
||||
see connector/usb-connector.txt.
|
||||
- pinctrl-names : a pinctrl state named "default" is optional, and need be
|
||||
defined if auto drd switch is enabled, that means the property dr_mode
|
||||
is set as "otg", and meanwhile the property "mediatek,enable-manual-drd"
|
||||
|
@ -39,6 +44,8 @@ Optional properties:
|
|||
|
||||
- maximum-speed : valid arguments are "super-speed", "high-speed" and
|
||||
"full-speed"; refer to usb/generic.txt
|
||||
- usb-role-switch : use USB Role Switch to support dual-role switch, but
|
||||
not extcon; see usb/generic.txt.
|
||||
- enable-manual-drd : supports manual dual-role switch via debugfs; usually
|
||||
used when receptacle is TYPE-A and also wants to support dual-role
|
||||
mode.
|
||||
|
@ -61,6 +68,9 @@ The xhci should be added as subnode to mtu3 as shown in the following example
|
|||
if host mode is enabled. The DT binding details of xhci can be found in:
|
||||
Documentation/devicetree/bindings/usb/mediatek,mtk-xhci.txt
|
||||
|
||||
The port would be added as subnode if use "usb-role-switch" property.
|
||||
see graph.txt
|
||||
|
||||
Example:
|
||||
ssusb: usb@11271000 {
|
||||
compatible = "mediatek,mt8173-mtu3";
|
||||
|
|
|
@ -0,0 +1,30 @@
|
|||
USB GPIO Based Connection Detection
|
||||
|
||||
This is typically used to switch dual role mode from the USB ID pin connected
|
||||
to an input GPIO, and also used to enable/disable device mode from the USB
|
||||
Vbus pin connected to an input GPIO.
|
||||
|
||||
Required properties:
|
||||
- compatible : should include "gpio-usb-b-connector" and "usb-b-connector".
|
||||
- id-gpios, vbus-gpios : input gpios, either one of them must be present,
|
||||
and both can be present as well.
|
||||
see connector/usb-connector.txt
|
||||
|
||||
Optional properties:
|
||||
- vbus-supply : can be present if needed when supports dual role mode.
|
||||
see connector/usb-connector.txt
|
||||
|
||||
- Sub-nodes:
|
||||
- port : can be present.
|
||||
see graph.txt
|
||||
|
||||
Example:
|
||||
|
||||
&mtu3 {
|
||||
connector {
|
||||
compatible = "gpio-usb-b-connector", "usb-b-connector";
|
||||
type = "micro";
|
||||
id-gpios = <&pio 12 GPIO_ACTIVE_HIGH>;
|
||||
vbus-supply = <&usb_p0_vbus>;
|
||||
};
|
||||
};
|
|
@ -7,6 +7,7 @@ Required properties:
|
|||
"fsl,vf610-usbmisc" for Vybrid vf610
|
||||
"fsl,imx6sx-usbmisc" for imx6sx
|
||||
"fsl,imx7d-usbmisc" for imx7d
|
||||
"fsl,imx7ulp-usbmisc" for imx7ulp
|
||||
- reg: Should contain registers location and length
|
||||
|
||||
Examples:
|
||||
|
|
19
MAINTAINERS
19
MAINTAINERS
|
@ -3797,14 +3797,9 @@ F: scripts/sign-file.c
|
|||
F: scripts/extract-cert.c
|
||||
|
||||
CERTIFIED WIRELESS USB (WUSB) SUBSYSTEM:
|
||||
L: linux-usb@vger.kernel.org
|
||||
S: Orphan
|
||||
F: Documentation/usb/wusb-design-overview.rst
|
||||
F: Documentation/usb/wusb-cbaf
|
||||
F: drivers/usb/host/hwa-hc.c
|
||||
F: drivers/usb/host/whci/
|
||||
F: drivers/usb/wusbcore/
|
||||
F: include/linux/usb/wusb*
|
||||
L: devel@driverdev.osuosl.org
|
||||
S: Obsolete
|
||||
F: drivers/staging/wusbcore/
|
||||
|
||||
CFAG12864B LCD DRIVER
|
||||
M: Miguel Ojeda Sandonis <miguel.ojeda.sandonis@gmail.com>
|
||||
|
@ -16500,11 +16495,9 @@ F: drivers/usb/common/ulpi.c
|
|||
F: include/linux/ulpi/
|
||||
|
||||
ULTRA-WIDEBAND (UWB) SUBSYSTEM:
|
||||
L: linux-usb@vger.kernel.org
|
||||
S: Orphan
|
||||
F: drivers/uwb/
|
||||
F: include/linux/uwb.h
|
||||
F: include/linux/uwb/
|
||||
L: devel@driverdev.osuosl.org
|
||||
S: Obsolete
|
||||
F: drivers/staging/uwb/
|
||||
|
||||
UNICODE SUBSYSTEM:
|
||||
M: Gabriel Krisman Bertazi <krisman@collabora.com>
|
||||
|
|
|
@ -380,23 +380,8 @@
|
|||
clocks = <&clock CLK_USB_HOST>;
|
||||
clock-names = "usbhost";
|
||||
status = "disabled";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
phys = <&exynos_usbphy 1>;
|
||||
status = "disabled";
|
||||
};
|
||||
port@1 {
|
||||
reg = <1>;
|
||||
phys = <&exynos_usbphy 2>;
|
||||
status = "disabled";
|
||||
};
|
||||
port@2 {
|
||||
reg = <2>;
|
||||
phys = <&exynos_usbphy 3>;
|
||||
status = "disabled";
|
||||
};
|
||||
phys = <&exynos_usbphy 1>, <&exynos_usbphy 2>, <&exynos_usbphy 3>;
|
||||
phy-names = "host", "hsic0", "hsic1";
|
||||
};
|
||||
|
||||
ohci: ohci@12590000 {
|
||||
|
@ -406,13 +391,8 @@
|
|||
clocks = <&clock CLK_USB_HOST>;
|
||||
clock-names = "usbhost";
|
||||
status = "disabled";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
phys = <&exynos_usbphy 1>;
|
||||
status = "disabled";
|
||||
};
|
||||
phys = <&exynos_usbphy 1>;
|
||||
phy-names = "host";
|
||||
};
|
||||
|
||||
gpu: gpu@13000000 {
|
||||
|
|
|
@ -204,9 +204,8 @@
|
|||
|
||||
&ehci {
|
||||
status = "okay";
|
||||
port@0 {
|
||||
status = "okay";
|
||||
};
|
||||
phys = <&exynos_usbphy 1>;
|
||||
phy-names = "host";
|
||||
};
|
||||
|
||||
&exynos_usbphy {
|
||||
|
@ -520,9 +519,6 @@
|
|||
|
||||
&ohci {
|
||||
status = "okay";
|
||||
port@0 {
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
&pinctrl_1 {
|
||||
|
|
|
@ -146,13 +146,8 @@
|
|||
/* In order to reset USB ethernet */
|
||||
samsung,vbus-gpio = <&gpc0 1 GPIO_ACTIVE_HIGH>;
|
||||
|
||||
port@0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
port@2 {
|
||||
status = "okay";
|
||||
};
|
||||
phys = <&exynos_usbphy 1>, <&exynos_usbphy 3>;
|
||||
phy-names = "host", "hsic1";
|
||||
};
|
||||
|
||||
&exynos_usbphy {
|
||||
|
|
|
@ -105,12 +105,8 @@
|
|||
};
|
||||
|
||||
&ehci {
|
||||
port@1 {
|
||||
status = "okay";
|
||||
};
|
||||
port@2 {
|
||||
status = "okay";
|
||||
};
|
||||
phys = <&exynos_usbphy 2>, <&exynos_usbphy 3>;
|
||||
phy-names = "hsic0", "hsic1";
|
||||
};
|
||||
|
||||
&sound {
|
||||
|
|
|
@ -72,9 +72,8 @@
|
|||
};
|
||||
|
||||
&ehci {
|
||||
port@1 {
|
||||
status = "okay";
|
||||
};
|
||||
phys = <&exynos_usbphy 2>;
|
||||
phy-names = "hsic0";
|
||||
};
|
||||
|
||||
&mshc_0 {
|
||||
|
|
|
@ -88,13 +88,8 @@
|
|||
&ehci {
|
||||
samsung,vbus-gpio = <&gpx3 5 1>;
|
||||
status = "okay";
|
||||
|
||||
port@1 {
|
||||
status = "okay";
|
||||
};
|
||||
port@2 {
|
||||
status = "okay";
|
||||
};
|
||||
phys = <&exynos_usbphy 2>, <&exynos_usbphy 3>;
|
||||
phy-names = "hsic0", "hsic1";
|
||||
};
|
||||
|
||||
&fimd {
|
||||
|
|
|
@ -665,12 +665,8 @@
|
|||
|
||||
clocks = <&clock CLK_USB2>;
|
||||
clock-names = "usbhost";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
phys = <&usb2_phy_gen 1>;
|
||||
};
|
||||
phys = <&usb2_phy_gen 1>;
|
||||
phy-names = "host";
|
||||
};
|
||||
|
||||
ohci: usb@12120000 {
|
||||
|
@ -680,12 +676,8 @@
|
|||
|
||||
clocks = <&clock CLK_USB2>;
|
||||
clock-names = "usbhost";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
phys = <&usb2_phy_gen 1>;
|
||||
};
|
||||
phys = <&usb2_phy_gen 1>;
|
||||
phy-names = "host";
|
||||
};
|
||||
|
||||
usb2_phy_gen: phy@12130000 {
|
||||
|
|
|
@ -189,26 +189,16 @@
|
|||
compatible = "samsung,exynos4210-ehci";
|
||||
reg = <0x12110000 0x100>;
|
||||
interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
|
||||
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
phys = <&usb2_phy 1>;
|
||||
};
|
||||
phys = <&usb2_phy 1>;
|
||||
phy-names = "host";
|
||||
};
|
||||
|
||||
usbhost1: usb@12120000 {
|
||||
compatible = "samsung,exynos4210-ohci";
|
||||
reg = <0x12120000 0x100>;
|
||||
interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
|
||||
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
phys = <&usb2_phy 1>;
|
||||
};
|
||||
phys = <&usb2_phy 1>;
|
||||
phy-names = "host";
|
||||
};
|
||||
|
||||
usb2_phy: phy@12130000 {
|
||||
|
|
|
@ -79,12 +79,3 @@ void arch_sync_dma_for_device(struct device *dev, phys_addr_t handle,
|
|||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void arch_setup_pdev_archdata(struct platform_device *pdev)
|
||||
{
|
||||
if (pdev->dev.coherent_dma_mask == DMA_MASK_NONE &&
|
||||
pdev->dev.dma_mask == NULL) {
|
||||
pdev->dev.coherent_dma_mask = DMA_BIT_MASK(32);
|
||||
pdev->dev.dma_mask = &pdev->dev.coherent_dma_mask;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -778,12 +778,6 @@ void ppc_printk_progress(char *s, unsigned short hex)
|
|||
pr_info("%s\n", s);
|
||||
}
|
||||
|
||||
void arch_setup_pdev_archdata(struct platform_device *pdev)
|
||||
{
|
||||
pdev->archdata.dma_mask = DMA_BIT_MASK(32);
|
||||
pdev->dev.dma_mask = &pdev->archdata.dma_mask;
|
||||
}
|
||||
|
||||
static __init void print_system_info(void)
|
||||
{
|
||||
pr_info("-----------------------------------------------------\n");
|
||||
|
|
|
@ -527,7 +527,6 @@ static int __init ap325rxa_devices_setup(void)
|
|||
|
||||
/* Initialize CEU platform device separately to map memory first */
|
||||
device_initialize(&ap325rxa_ceu_device.dev);
|
||||
arch_setup_pdev_archdata(&ap325rxa_ceu_device);
|
||||
dma_declare_coherent_memory(&ap325rxa_ceu_device.dev,
|
||||
ceu_dma_membase, ceu_dma_membase,
|
||||
ceu_dma_membase + CEU_BUFFER_MEMORY_SIZE - 1);
|
||||
|
|
|
@ -1440,7 +1440,6 @@ static int __init arch_setup(void)
|
|||
|
||||
/* Initialize CEU platform devices separately to map memory first */
|
||||
device_initialize(&ecovec_ceu_devices[0]->dev);
|
||||
arch_setup_pdev_archdata(ecovec_ceu_devices[0]);
|
||||
dma_declare_coherent_memory(&ecovec_ceu_devices[0]->dev,
|
||||
ceu0_dma_membase, ceu0_dma_membase,
|
||||
ceu0_dma_membase +
|
||||
|
@ -1448,7 +1447,6 @@ static int __init arch_setup(void)
|
|||
platform_device_add(ecovec_ceu_devices[0]);
|
||||
|
||||
device_initialize(&ecovec_ceu_devices[1]->dev);
|
||||
arch_setup_pdev_archdata(ecovec_ceu_devices[1]);
|
||||
dma_declare_coherent_memory(&ecovec_ceu_devices[1]->dev,
|
||||
ceu1_dma_membase, ceu1_dma_membase,
|
||||
ceu1_dma_membase +
|
||||
|
|
|
@ -601,7 +601,6 @@ static int __init kfr2r09_devices_setup(void)
|
|||
|
||||
/* Initialize CEU platform device separately to map memory first */
|
||||
device_initialize(&kfr2r09_ceu_device.dev);
|
||||
arch_setup_pdev_archdata(&kfr2r09_ceu_device);
|
||||
dma_declare_coherent_memory(&kfr2r09_ceu_device.dev,
|
||||
ceu_dma_membase, ceu_dma_membase,
|
||||
ceu_dma_membase + CEU_BUFFER_MEMORY_SIZE - 1);
|
||||
|
|
|
@ -602,7 +602,6 @@ static int __init migor_devices_setup(void)
|
|||
|
||||
/* Initialize CEU platform device separately to map memory first */
|
||||
device_initialize(&migor_ceu_device.dev);
|
||||
arch_setup_pdev_archdata(&migor_ceu_device);
|
||||
dma_declare_coherent_memory(&migor_ceu_device.dev,
|
||||
ceu_dma_membase, ceu_dma_membase,
|
||||
ceu_dma_membase + CEU_BUFFER_MEMORY_SIZE - 1);
|
||||
|
|
|
@ -937,7 +937,6 @@ static int __init devices_setup(void)
|
|||
|
||||
/* Initialize CEU platform devices separately to map memory first */
|
||||
device_initialize(&ms7724se_ceu_devices[0]->dev);
|
||||
arch_setup_pdev_archdata(ms7724se_ceu_devices[0]);
|
||||
dma_declare_coherent_memory(&ms7724se_ceu_devices[0]->dev,
|
||||
ceu0_dma_membase, ceu0_dma_membase,
|
||||
ceu0_dma_membase +
|
||||
|
@ -945,7 +944,6 @@ static int __init devices_setup(void)
|
|||
platform_device_add(ms7724se_ceu_devices[0]);
|
||||
|
||||
device_initialize(&ms7724se_ceu_devices[1]->dev);
|
||||
arch_setup_pdev_archdata(ms7724se_ceu_devices[1]);
|
||||
dma_declare_coherent_memory(&ms7724se_ceu_devices[1]->dev,
|
||||
ceu1_dma_membase, ceu1_dma_membase,
|
||||
ceu1_dma_membase +
|
||||
|
|
|
@ -106,8 +106,6 @@ source "drivers/hid/Kconfig"
|
|||
|
||||
source "drivers/usb/Kconfig"
|
||||
|
||||
source "drivers/uwb/Kconfig"
|
||||
|
||||
source "drivers/mmc/Kconfig"
|
||||
|
||||
source "drivers/memstick/Kconfig"
|
||||
|
|
|
@ -100,7 +100,6 @@ obj-$(CONFIG_ZORRO) += zorro/
|
|||
obj-$(CONFIG_ATA_OVER_ETH) += block/aoe/
|
||||
obj-$(CONFIG_PARIDE) += block/paride/
|
||||
obj-$(CONFIG_TC) += tc/
|
||||
obj-$(CONFIG_UWB) += uwb/
|
||||
obj-$(CONFIG_USB_PHY) += usb/
|
||||
obj-$(CONFIG_USB) += usb/
|
||||
obj-$(CONFIG_USB_SUPPORT) += usb/
|
||||
|
|
|
@ -12,9 +12,6 @@
|
|||
static DEFINE_MUTEX(devcon_lock);
|
||||
static LIST_HEAD(devcon_list);
|
||||
|
||||
typedef void *(*devcon_match_fn_t)(struct device_connection *con, int ep,
|
||||
void *data);
|
||||
|
||||
static void *
|
||||
fwnode_graph_devcon_match(struct fwnode_handle *fwnode, const char *con_id,
|
||||
void *data, devcon_match_fn_t match)
|
||||
|
@ -60,6 +57,34 @@ fwnode_devcon_match(struct fwnode_handle *fwnode, const char *con_id,
|
|||
return NULL;
|
||||
}
|
||||
|
||||
/**
|
||||
* fwnode_connection_find_match - Find connection from a device node
|
||||
* @fwnode: Device node with the connection
|
||||
* @con_id: Identifier for the connection
|
||||
* @data: Data for the match function
|
||||
* @match: Function to check and convert the connection description
|
||||
*
|
||||
* Find a connection with unique identifier @con_id between @fwnode and another
|
||||
* device node. @match will be used to convert the connection description to
|
||||
* data the caller is expecting to be returned.
|
||||
*/
|
||||
void *fwnode_connection_find_match(struct fwnode_handle *fwnode,
|
||||
const char *con_id, void *data,
|
||||
devcon_match_fn_t match)
|
||||
{
|
||||
void *ret;
|
||||
|
||||
if (!fwnode || !match)
|
||||
return NULL;
|
||||
|
||||
ret = fwnode_graph_devcon_match(fwnode, con_id, data, match);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
return fwnode_devcon_match(fwnode, con_id, data, match);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(fwnode_connection_find_match);
|
||||
|
||||
/**
|
||||
* device_connection_find_match - Find physical connection to a device
|
||||
* @dev: Device with the connection
|
||||
|
@ -83,15 +108,9 @@ void *device_connection_find_match(struct device *dev, const char *con_id,
|
|||
if (!match)
|
||||
return NULL;
|
||||
|
||||
if (fwnode) {
|
||||
ret = fwnode_graph_devcon_match(fwnode, con_id, data, match);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
ret = fwnode_devcon_match(fwnode, con_id, data, match);
|
||||
if (ret)
|
||||
return ret;
|
||||
}
|
||||
ret = fwnode_connection_find_match(fwnode, con_id, data, match);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
mutex_lock(&devcon_lock);
|
||||
|
||||
|
|
|
@ -39,25 +39,6 @@ struct device platform_bus = {
|
|||
};
|
||||
EXPORT_SYMBOL_GPL(platform_bus);
|
||||
|
||||
/**
|
||||
* arch_setup_pdev_archdata - Allow manipulation of archdata before its used
|
||||
* @pdev: platform device
|
||||
*
|
||||
* This is called before platform_device_add() such that any pdev_archdata may
|
||||
* be setup before the platform_notifier is called. So if a user needs to
|
||||
* manipulate any relevant information in the pdev_archdata they can do:
|
||||
*
|
||||
* platform_device_alloc()
|
||||
* ... manipulate ...
|
||||
* platform_device_add()
|
||||
*
|
||||
* And if they don't care they can just call platform_device_register() and
|
||||
* everything will just work out.
|
||||
*/
|
||||
void __weak arch_setup_pdev_archdata(struct platform_device *pdev)
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* platform_get_resource - get a resource for a device
|
||||
* @dev: platform device
|
||||
|
@ -313,6 +294,20 @@ struct platform_object {
|
|||
char name[];
|
||||
};
|
||||
|
||||
/*
|
||||
* Set up default DMA mask for platform devices if the they weren't
|
||||
* previously set by the architecture / DT.
|
||||
*/
|
||||
static void setup_pdev_dma_masks(struct platform_device *pdev)
|
||||
{
|
||||
if (!pdev->dev.coherent_dma_mask)
|
||||
pdev->dev.coherent_dma_mask = DMA_BIT_MASK(32);
|
||||
if (!pdev->dma_mask)
|
||||
pdev->dma_mask = DMA_BIT_MASK(32);
|
||||
if (!pdev->dev.dma_mask)
|
||||
pdev->dev.dma_mask = &pdev->dma_mask;
|
||||
};
|
||||
|
||||
/**
|
||||
* platform_device_put - destroy a platform device
|
||||
* @pdev: platform device to free
|
||||
|
@ -359,7 +354,7 @@ struct platform_device *platform_device_alloc(const char *name, int id)
|
|||
pa->pdev.id = id;
|
||||
device_initialize(&pa->pdev.dev);
|
||||
pa->pdev.dev.release = platform_device_release;
|
||||
arch_setup_pdev_archdata(&pa->pdev);
|
||||
setup_pdev_dma_masks(&pa->pdev);
|
||||
}
|
||||
|
||||
return pa ? &pa->pdev : NULL;
|
||||
|
@ -561,7 +556,7 @@ EXPORT_SYMBOL_GPL(platform_device_del);
|
|||
int platform_device_register(struct platform_device *pdev)
|
||||
{
|
||||
device_initialize(&pdev->dev);
|
||||
arch_setup_pdev_archdata(pdev);
|
||||
setup_pdev_dma_masks(pdev);
|
||||
return platform_device_add(pdev);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(platform_device_register);
|
||||
|
|
|
@ -1105,7 +1105,6 @@ config MFD_SI476X_CORE
|
|||
config MFD_SM501
|
||||
tristate "Silicon Motion SM501"
|
||||
depends on HAS_DMA
|
||||
select DMA_DECLARE_COHERENT
|
||||
---help---
|
||||
This is the core driver for the Silicon Motion SM501 multimedia
|
||||
companion chip. This device is a multifunction device which may
|
||||
|
@ -1714,7 +1713,6 @@ config MFD_TC6393XB
|
|||
select GPIOLIB
|
||||
select MFD_CORE
|
||||
select MFD_TMIO
|
||||
select DMA_DECLARE_COHERENT
|
||||
help
|
||||
Support for Toshiba Mobile IO Controller TC6393XB
|
||||
|
||||
|
|
|
@ -120,4 +120,7 @@ source "drivers/staging/kpc2000/Kconfig"
|
|||
|
||||
source "drivers/staging/isdn/Kconfig"
|
||||
|
||||
source "drivers/staging/wusbcore/Kconfig"
|
||||
source "drivers/staging/uwb/Kconfig"
|
||||
|
||||
endif # STAGING
|
||||
|
|
|
@ -50,3 +50,5 @@ obj-$(CONFIG_EROFS_FS) += erofs/
|
|||
obj-$(CONFIG_FIELDBUS_DEV) += fieldbus/
|
||||
obj-$(CONFIG_KPC2000) += kpc2000/
|
||||
obj-$(CONFIG_ISDN_CAPI) += isdn/
|
||||
obj-$(CONFIG_UWB) += uwb/
|
||||
obj-$(CONFIG_USB_WUSB) += wusbcore/
|
||||
|
|
|
@ -3512,7 +3512,7 @@ static const struct hc_driver octeon_hc_driver = {
|
|||
.product_desc = "Octeon Host Controller",
|
||||
.hcd_priv_size = sizeof(struct octeon_hcd),
|
||||
.irq = octeon_usb_irq,
|
||||
.flags = HCD_MEMORY | HCD_USB2,
|
||||
.flags = HCD_MEMORY | HCD_DMA | HCD_USB2,
|
||||
.start = octeon_usb_start,
|
||||
.stop = octeon_usb_stop,
|
||||
.urb_enqueue = octeon_usb_urb_enqueue,
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
TODO: Remove in late 2019 unless there are users
|
||||
|
||||
There seems to not be any real wireless USB devices anywhere in the wild
|
||||
anymore. It turned out to be a failed technology :(
|
||||
|
||||
This will be removed from the tree if no one objects.
|
||||
|
||||
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
|
@ -6,7 +6,7 @@
|
|||
*/
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/slab.h>
|
||||
#include <linux/uwb.h>
|
||||
#include "uwb.h"
|
||||
|
||||
#include "uwb-internal.h"
|
||||
|
|
@ -8,8 +8,8 @@
|
|||
#include <linux/kernel.h>
|
||||
#include <linux/random.h>
|
||||
#include <linux/slab.h>
|
||||
#include <linux/uwb.h>
|
||||
|
||||
#include "uwb.h"
|
||||
#include "uwb-internal.h"
|
||||
|
||||
|
|
@ -38,9 +38,9 @@
|
|||
#include <linux/module.h>
|
||||
#include <linux/slab.h>
|
||||
#include <linux/usb.h>
|
||||
#include <linux/usb/wusb.h>
|
||||
#include <linux/usb/wusb-wa.h>
|
||||
#include <linux/uwb.h>
|
||||
#include "../wusbcore/include/wusb.h"
|
||||
#include "../wusbcore/include/wusb-wa.h"
|
||||
#include "uwb.h"
|
||||
|
||||
#include "uwb-internal.h"
|
||||
|
|
@ -17,9 +17,9 @@
|
|||
#include <linux/delay.h>
|
||||
#include <linux/pci.h>
|
||||
#include <linux/device.h>
|
||||
#include <linux/uwb.h>
|
||||
#include <linux/random.h>
|
||||
#include <linux/export.h>
|
||||
#include "../../uwb.h"
|
||||
|
||||
/*
|
||||
* i1480_rceb_check - Check RCEB for expected field values
|
|
@ -50,9 +50,9 @@
|
|||
#ifndef __i1480_DFU_H__
|
||||
#define __i1480_DFU_H__
|
||||
|
||||
#include <linux/uwb/spec.h>
|
||||
#include <linux/types.h>
|
||||
#include <linux/completion.h>
|
||||
#include "../../include/spec.h"
|
||||
|
||||
#define i1480_FW_UPLOAD_MODE_MASK (cpu_to_le32(0x00000018))
|
||||
|
|
@ -15,7 +15,7 @@
|
|||
#include <linux/delay.h>
|
||||
#include <linux/firmware.h>
|
||||
#include <linux/slab.h>
|
||||
#include <linux/uwb.h>
|
||||
#include "../../uwb.h"
|
||||
#include "i1480-dfu.h"
|
||||
|
||||
/*
|
|
@ -15,7 +15,7 @@
|
|||
#include <linux/delay.h>
|
||||
#include <linux/device.h>
|
||||
#include <linux/firmware.h>
|
||||
#include <linux/usb/wusb.h>
|
||||
#include "../../../wusbcore/include/wusb.h"
|
||||
#include "i1480-dfu.h"
|
||||
|
||||
|
|
@ -25,9 +25,9 @@
|
|||
#include <linux/interrupt.h>
|
||||
#include <linux/slab.h>
|
||||
#include <linux/delay.h>
|
||||
#include <linux/uwb.h>
|
||||
#include <linux/usb/wusb.h>
|
||||
#include <linux/usb/wusb-wa.h>
|
||||
#include "../../uwb.h"
|
||||
#include "../../../wusbcore/include/wusb.h"
|
||||
#include "../../../wusbcore/include/wusb-wa.h"
|
||||
#include "i1480-dfu.h"
|
||||
|
||||
struct i1480_usb {
|
|
@ -12,7 +12,7 @@
|
|||
#include <linux/init.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/usb.h>
|
||||
#include <linux/uwb.h>
|
||||
#include "../uwb.h"
|
||||
#include "dfu/i1480-dfu.h"
|
||||
|
||||
|
|
@ -6,9 +6,9 @@
|
|||
*/
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/debugfs.h>
|
||||
#include <linux/uwb.h>
|
||||
#include <linux/export.h>
|
||||
|
||||
#include "uwb.h"
|
||||
#include "uwb-internal.h"
|
||||
|
||||
/**
|
|
@ -5,9 +5,9 @@
|
|||
* Copyright (C) 2008 Cambridge Silicon Radio Ltd.
|
||||
*/
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/uwb.h>
|
||||
#include <linux/export.h>
|
||||
|
||||
#include "uwb.h"
|
||||
#include "uwb-internal.h"
|
||||
|
||||
|
|
@ -5,11 +5,11 @@
|
|||
* Copyright (C) 2008 Cambridge Silicon Radio Ltd.
|
||||
*/
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/uwb.h>
|
||||
#include <linux/slab.h>
|
||||
#include <linux/random.h>
|
||||
#include <linux/export.h>
|
||||
|
||||
#include "uwb.h"
|
||||
#include "uwb-internal.h"
|
||||
|
||||
static void uwb_rsv_timer(struct timer_list *t);
|
|
@ -8,8 +8,8 @@
|
|||
#include <linux/sysfs.h>
|
||||
#include <linux/workqueue.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/uwb/umc.h>
|
||||
#include <linux/pci.h>
|
||||
#include "include/umc.h"
|
||||
|
||||
static int umc_bus_pre_reset_helper(struct device *dev, void *data)
|
||||
{
|
|
@ -7,7 +7,7 @@
|
|||
#include <linux/kernel.h>
|
||||
#include <linux/export.h>
|
||||
#include <linux/slab.h>
|
||||
#include <linux/uwb/umc.h>
|
||||
#include "include/umc.h"
|
||||
|
||||
static void umc_device_release(struct device *dev)
|
||||
{
|
|
@ -6,7 +6,7 @@
|
|||
*/
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/export.h>
|
||||
#include <linux/uwb/umc.h>
|
||||
#include "include/umc.h"
|
||||
|
||||
int __umc_driver_register(struct umc_driver *umc_drv, struct module *module,
|
||||
const char *mod_name)
|
|
@ -19,8 +19,7 @@
|
|||
#include <linux/uaccess.h>
|
||||
#include <linux/seq_file.h>
|
||||
|
||||
#include <linux/uwb/debug-cmd.h>
|
||||
|
||||
#include "include/debug-cmd.h"
|
||||
#include "uwb-internal.h"
|
||||
|
||||
/*
|
|
@ -17,8 +17,8 @@
|
|||
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/device.h>
|
||||
#include <linux/uwb.h>
|
||||
#include <linux/mutex.h>
|
||||
#include "uwb.h"
|
||||
|
||||
struct uwb_beca_e;
|
||||
|
|
@ -18,8 +18,8 @@
|
|||
#include <linux/timer.h>
|
||||
#include <linux/wait.h>
|
||||
#include <linux/workqueue.h>
|
||||
#include <linux/uwb/spec.h>
|
||||
#include <asm/page.h>
|
||||
#include "include/spec.h"
|
||||
|
||||
struct uwb_dev;
|
||||
struct uwb_beca_e;
|
|
@ -33,9 +33,9 @@
|
|||
#include <linux/interrupt.h>
|
||||
#include <linux/slab.h>
|
||||
#include <linux/workqueue.h>
|
||||
#include <linux/uwb.h>
|
||||
#include <linux/uwb/whci.h>
|
||||
#include <linux/uwb/umc.h>
|
||||
#include "uwb.h"
|
||||
#include "include/whci.h"
|
||||
#include "include/umc.h"
|
||||
|
||||
#include "uwb-internal.h"
|
||||
|
|
@ -10,8 +10,8 @@
|
|||
#include <linux/pci.h>
|
||||
#include <linux/dma-mapping.h>
|
||||
#include <linux/slab.h>
|
||||
#include <linux/uwb/whci.h>
|
||||
#include <linux/uwb/umc.h>
|
||||
#include "include/whci.h"
|
||||
#include "include/umc.h"
|
||||
|
||||
struct whci_card {
|
||||
struct pci_dev *pci;
|
|
@ -4,7 +4,7 @@
|
|||
#
|
||||
config USB_WUSB
|
||||
tristate "Enable Wireless USB extensions"
|
||||
depends on UWB
|
||||
depends on UWB && USB
|
||||
select CRYPTO
|
||||
select CRYPTO_AES
|
||||
select CRYPTO_CCM
|
||||
|
@ -36,3 +36,4 @@ config USB_WUSB_CBAF_DEBUG
|
|||
to the system log. Select this if you are having a problem with
|
||||
CBA support and want to see more of what is going on.
|
||||
|
||||
source "drivers/staging/wusbcore/host/Kconfig"
|
|
@ -24,3 +24,5 @@ wusb-wa-y := \
|
|||
wa-nep.o \
|
||||
wa-rpipe.o \
|
||||
wa-xfer.o
|
||||
|
||||
obj-y += host/
|
|
@ -0,0 +1,8 @@
|
|||
TODO: Remove in late 2019 unless there are users
|
||||
|
||||
There seems to not be any real wireless USB devices anywhere in the wild
|
||||
anymore. It turned out to be a failed technology :(
|
||||
|
||||
This will be removed from the tree if no one objects.
|
||||
|
||||
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
|
@ -80,9 +80,9 @@
|
|||
#include <linux/random.h>
|
||||
#include <linux/slab.h>
|
||||
#include <linux/mutex.h>
|
||||
#include <linux/uwb.h>
|
||||
#include <linux/usb/wusb.h>
|
||||
#include <linux/usb/association.h>
|
||||
#include "../uwb/uwb.h"
|
||||
#include "include/wusb.h"
|
||||
#include "include/association.h"
|
||||
|
||||
#define CBA_NAME_LEN 0x40 /* [WUSB-AM] table 4-7 */
|
||||
|
|
@ -38,10 +38,10 @@
|
|||
#include <linux/crypto.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/err.h>
|
||||
#include <linux/uwb.h>
|
||||
#include <linux/slab.h>
|
||||
#include <linux/usb/wusb.h>
|
||||
#include <linux/scatterlist.h>
|
||||
#include "../uwb/uwb.h"
|
||||
#include "include/wusb.h"
|
||||
|
||||
static int debug_crypto_verify;
|
||||
|
|
@ -49,7 +49,7 @@
|
|||
* for processing a DN_Alive pong from a device.
|
||||
*
|
||||
* wusb_handle_dn_disconnect()Called by notif.c:wusb_handle_dn() to
|
||||
* process a disconenct request from a
|
||||
* process a disconnect request from a
|
||||
* device.
|
||||
*
|
||||
* __wusb_dev_disable() Called by rh.c:wusbhc_rh_clear_port_feat() when
|
|
@ -0,0 +1,28 @@
|
|||
# SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
config USB_WHCI_HCD
|
||||
tristate "Wireless USB Host Controller Interface (WHCI) driver"
|
||||
depends on USB_PCI && USB && UWB
|
||||
select USB_WUSB
|
||||
select UWB_WHCI
|
||||
help
|
||||
A driver for PCI-based Wireless USB Host Controllers that are
|
||||
compliant with the WHCI specification.
|
||||
|
||||
To compile this driver a module, choose M here: the module
|
||||
will be called "whci-hcd".
|
||||
|
||||
config USB_HWA_HCD
|
||||
tristate "Host Wire Adapter (HWA) driver"
|
||||
depends on USB && UWB
|
||||
select USB_WUSB
|
||||
select UWB_HWA
|
||||
help
|
||||
This driver enables you to connect Wireless USB devices to
|
||||
your system using a Host Wire Adaptor USB dongle. This is an
|
||||
UWB Radio Controller and WUSB Host Controller connected to
|
||||
your machine via USB (specified in WUSB1.0).
|
||||
|
||||
To compile this driver a module, choose M here: the module
|
||||
will be called "hwa-hc".
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
# SPDX-License-Identifier: GPL-2.0
|
||||
obj-$(CONFIG_USB_WHCI_HCD) += whci/
|
||||
obj-$(CONFIG_USB_HWA_HCD) += hwa-hc.o
|
|
@ -45,8 +45,8 @@
|
|||
#include <linux/workqueue.h>
|
||||
#include <linux/wait.h>
|
||||
#include <linux/completion.h>
|
||||
#include "../wusbcore/wa-hc.h"
|
||||
#include "../wusbcore/wusbhc.h"
|
||||
#include "../wa-hc.h"
|
||||
#include "../wusbhc.h"
|
||||
|
||||
struct hwahc {
|
||||
struct wusbhc wusbhc; /* has to be 1st */
|
|
@ -7,10 +7,10 @@
|
|||
#include <linux/kernel.h>
|
||||
#include <linux/gfp.h>
|
||||
#include <linux/dma-mapping.h>
|
||||
#include <linux/uwb/umc.h>
|
||||
#include <linux/usb.h>
|
||||
|
||||
#include "../../wusbcore/wusbhc.h"
|
||||
#include "../../../uwb/include/umc.h"
|
||||
#include "../../wusbhc.h"
|
||||
|
||||
#include "whcd.h"
|
||||
|
|
@ -10,7 +10,7 @@
|
|||
#include <linux/seq_file.h>
|
||||
#include <linux/export.h>
|
||||
|
||||
#include "../../wusbcore/wusbhc.h"
|
||||
#include "../../wusbhc.h"
|
||||
|
||||
#include "whcd.h"
|
||||
|
|
@ -7,9 +7,9 @@
|
|||
#include <linux/kernel.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/uwb/umc.h>
|
||||
|
||||
#include "../../wusbcore/wusbhc.h"
|
||||
#include "../../../uwb/include/umc.h"
|
||||
#include "../../wusbhc.h"
|
||||
|
||||
#include "whcd.h"
|
||||
|
|
@ -6,9 +6,9 @@
|
|||
*/
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/dma-mapping.h>
|
||||
#include <linux/uwb/umc.h>
|
||||
|
||||
#include "../../wusbcore/wusbhc.h"
|
||||
#include "../../../uwb/include/umc.h"
|
||||
#include "../../wusbhc.h"
|
||||
|
||||
#include "whcd.h"
|
||||
|
|
@ -7,9 +7,9 @@
|
|||
#include <linux/kernel.h>
|
||||
#include <linux/gfp.h>
|
||||
#include <linux/dma-mapping.h>
|
||||
#include <linux/uwb/umc.h>
|
||||
|
||||
#include "../../wusbcore/wusbhc.h"
|
||||
#include "../../../uwb/include/umc.h"
|
||||
#include "../../wusbhc.h"
|
||||
|
||||
#include "whcd.h"
|
||||
|
|
@ -5,9 +5,9 @@
|
|||
* Copyright (C) 2007 Cambridge Silicon Radio Ltd.
|
||||
*/
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/uwb/umc.h>
|
||||
|
||||
#include "../../wusbcore/wusbhc.h"
|
||||
#include "../../../uwb/include/umc.h"
|
||||
#include "../../wusbhc.h"
|
||||
|
||||
#include "whcd.h"
|
||||
|
|
@ -7,10 +7,10 @@
|
|||
#include <linux/kernel.h>
|
||||
#include <linux/gfp.h>
|
||||
#include <linux/dma-mapping.h>
|
||||
#include <linux/uwb/umc.h>
|
||||
#include <linux/usb.h>
|
||||
|
||||
#include "../../wusbcore/wusbhc.h"
|
||||
#include "../../../uwb/include/umc.h"
|
||||
#include "../../wusbhc.h"
|
||||
|
||||
#include "whcd.h"
|
||||
|
|
@ -7,10 +7,10 @@
|
|||
#include <linux/kernel.h>
|
||||
#include <linux/dma-mapping.h>
|
||||
#include <linux/slab.h>
|
||||
#include <linux/uwb/umc.h>
|
||||
#include <linux/usb.h>
|
||||
|
||||
#include "../../wusbcore/wusbhc.h"
|
||||
#include "../../../uwb/include/umc.h"
|
||||
#include "../../wusbhc.h"
|
||||
|
||||
#include "whcd.h"
|
||||
|
|
@ -7,10 +7,10 @@
|
|||
#ifndef __WHCD_H
|
||||
#define __WHCD_H
|
||||
|
||||
#include <linux/uwb/whci.h>
|
||||
#include <linux/uwb/umc.h>
|
||||
#include <linux/workqueue.h>
|
||||
|
||||
#include "../../../uwb/include/whci.h"
|
||||
#include "../../../uwb/include/umc.h"
|
||||
#include "whci-hc.h"
|
||||
|
||||
/* Generic command timeout. */
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue