mirror of https://github.com/hak5/openwrt.git
bcm53xx: use two upstream USB bcma patches
Signed-off-by: Rafał Miłecki <zajec5@gmail.com> SVN-Revision: 48517lede-17.01
parent
e9479e62b0
commit
80bd8f3d09
|
@ -1,17 +1,19 @@
|
|||
From c7c7bf7fcbacadac7781783de25fe1e13e2a2c35 Mon Sep 17 00:00:00 2001
|
||||
From 352d9e2ee85b43170388599a17cd7b219f270163 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <zajec5@gmail.com>
|
||||
Date: Tue, 16 Jun 2015 12:33:46 +0200
|
||||
Subject: [PATCH v3 3/6] usb: bcma: make helper creating platform dev more
|
||||
generic
|
||||
Date: Sat, 5 Dec 2015 13:15:06 +0100
|
||||
Subject: [PATCH] USB: bcma: make helper creating platform dev more generic
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Having "bool ohci" argument bounded us to two cases only and didn't
|
||||
allow re-using this code for XHCI.
|
||||
Having "bool ohci" argument in bcma_hcd_create_pdev function limited it
|
||||
to support two cases only (OHCI and EHCI) and put too much logic in it.
|
||||
Lets make caller pass all required data. This adds few extra arguments
|
||||
to the function call but will allow us to reuse this code and handle
|
||||
more cases in the future (e.g. add XHCI support).
|
||||
|
||||
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
|
||||
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
|
||||
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
---
|
||||
drivers/usb/host/bcma-hcd.c | 24 +++++++++++++-----------
|
||||
1 file changed, 13 insertions(+), 11 deletions(-)
|
|
@ -1,19 +1,23 @@
|
|||
From fa5622c2fadae573dd6b0f5bffe436b230b411f6 Mon Sep 17 00:00:00 2001
|
||||
From adbff3a4f93d8501e8ae11906268e21b086d57ed Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <zajec5@gmail.com>
|
||||
Date: Tue, 16 Jun 2015 12:52:07 +0200
|
||||
Subject: [PATCH v3 4/6] usb: bcma: use separated function for USB 2.0
|
||||
initialization
|
||||
Date: Sat, 5 Dec 2015 13:15:07 +0100
|
||||
Subject: [PATCH] USB: bcma: separate code initializing USB 2.0 core
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
This will allow adding USB 3.0 (XHCI) support cleanly.
|
||||
This splits one big probing function into two smaller ones. The main one
|
||||
is now responsible for the generic stuff: allocating memory & enabling
|
||||
power using GPIO. The new one contains code that is specific to the USB
|
||||
2.0 bcma core.
|
||||
This will allow adding support for the USB 3.0 bcma core (handling XHCI)
|
||||
in the future.
|
||||
|
||||
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
|
||||
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
|
||||
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
---
|
||||
drivers/usb/host/bcma-hcd.c | 51 +++++++++++++++++++++++++++++++--------------
|
||||
1 file changed, 35 insertions(+), 16 deletions(-)
|
||||
drivers/usb/host/bcma-hcd.c | 59 ++++++++++++++++++++++++++++++---------------
|
||||
1 file changed, 39 insertions(+), 20 deletions(-)
|
||||
|
||||
--- a/drivers/usb/host/bcma-hcd.c
|
||||
+++ b/drivers/usb/host/bcma-hcd.c
|
||||
|
@ -73,26 +77,26 @@ Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
|
|||
return err;
|
||||
}
|
||||
|
||||
+static int bcma_hcd_probe(struct bcma_device *dev)
|
||||
+static int bcma_hcd_probe(struct bcma_device *core)
|
||||
+{
|
||||
+ int err;
|
||||
+ struct bcma_hcd_device *usb_dev;
|
||||
+
|
||||
+ /* TODO: Probably need checks here; is the core connected? */
|
||||
+
|
||||
+ usb_dev = devm_kzalloc(&dev->dev, sizeof(struct bcma_hcd_device),
|
||||
+ usb_dev = devm_kzalloc(&core->dev, sizeof(struct bcma_hcd_device),
|
||||
+ GFP_KERNEL);
|
||||
+ if (!usb_dev)
|
||||
+ return -ENOMEM;
|
||||
+ usb_dev->core = dev;
|
||||
+ usb_dev->core = core;
|
||||
+
|
||||
+ if (dev->dev.of_node)
|
||||
+ usb_dev->gpio_desc = devm_get_gpiod_from_child(&dev->dev, "vcc",
|
||||
+ &dev->dev.of_node->fwnode);
|
||||
+ if (core->dev.of_node)
|
||||
+ usb_dev->gpio_desc = devm_get_gpiod_from_child(&core->dev, "vcc",
|
||||
+ &core->dev.of_node->fwnode);
|
||||
+ if (!IS_ERR_OR_NULL(usb_dev->gpio_desc))
|
||||
+ gpiod_direction_output(usb_dev->gpio_desc, 1);
|
||||
+
|
||||
+ switch (dev->id.id) {
|
||||
+ switch (core->id.id) {
|
||||
+ case BCMA_CORE_USB20_HOST:
|
||||
+ case BCMA_CORE_NS_USB20:
|
||||
+ err = bcma_hcd_usb20_init(usb_dev);
|
||||
|
@ -103,7 +107,7 @@ Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
|
|||
+ return -ENODEV;
|
||||
+ }
|
||||
+
|
||||
+ bcma_set_drvdata(dev, usb_dev);
|
||||
+ bcma_set_drvdata(core, usb_dev);
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
|
@ -255,7 +255,7 @@ Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
|
|||
+ return 0;
|
||||
+}
|
||||
+
|
||||
static int bcma_hcd_probe(struct bcma_device *dev)
|
||||
static int bcma_hcd_probe(struct bcma_device *core)
|
||||
{
|
||||
int err;
|
||||
@@ -364,6 +580,11 @@ static int bcma_hcd_probe(struct bcma_de
|
||||
|
|
|
@ -13,11 +13,11 @@ Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
|
|||
--- a/drivers/usb/host/bcma-hcd.c
|
||||
+++ b/drivers/usb/host/bcma-hcd.c
|
||||
@@ -568,8 +568,7 @@ static int bcma_hcd_probe(struct bcma_de
|
||||
usb_dev->core = dev;
|
||||
usb_dev->core = core;
|
||||
|
||||
if (dev->dev.of_node)
|
||||
- usb_dev->gpio_desc = devm_get_gpiod_from_child(&dev->dev, "vcc",
|
||||
- &dev->dev.of_node->fwnode);
|
||||
if (core->dev.of_node)
|
||||
- usb_dev->gpio_desc = devm_get_gpiod_from_child(&core->dev, "vcc",
|
||||
- &core->dev.of_node->fwnode);
|
||||
+ usb_dev->gpio_desc = devm_gpiod_get(&dev->dev, "vcc", 0);
|
||||
if (!IS_ERR_OR_NULL(usb_dev->gpio_desc))
|
||||
gpiod_direction_output(usb_dev->gpio_desc, 1);
|
||||
|
|
Loading…
Reference in New Issue