fix support for 2.6.38 kernel
This patch fixes the following issues I encountered while compiling kernel 2.6.38.8 for my Omnima Embedded Controller/Edimax BR6104KP: - kernel comes up with machine selection during build, even though everything was properly set in menuconfig - USB api changes Successfully built and tested with r29755. Signed-off-by: Hartmut Knaack <knaack.h [at] gmx.de> SVN-Revision: 31194
This commit is contained in:
parent
f087e07b5c
commit
b180e0fb3b
3 changed files with 55 additions and 0 deletions
|
@ -0,0 +1,53 @@
|
||||||
|
--- a/drivers/usb/host/adm5120-hcd.c
|
||||||
|
+++ b/drivers/usb/host/adm5120-hcd.c
|
||||||
|
@@ -32,6 +32,7 @@
|
||||||
|
#include <linux/list.h>
|
||||||
|
#include <linux/usb.h>
|
||||||
|
#include <linux/usb/otg.h>
|
||||||
|
+#include <linux/usb/hcd.h>
|
||||||
|
#include <linux/dma-mapping.h>
|
||||||
|
#include <linux/dmapool.h>
|
||||||
|
#include <linux/reboot.h>
|
||||||
|
@@ -43,8 +44,6 @@
|
||||||
|
#include <asm/unaligned.h>
|
||||||
|
#include <asm/byteorder.h>
|
||||||
|
|
||||||
|
-#include "../core/hcd.h"
|
||||||
|
-#include "../core/hub.h"
|
||||||
|
|
||||||
|
#define DRIVER_VERSION "0.27.0"
|
||||||
|
#define DRIVER_AUTHOR "Gabor Juhos <juhosg@openwrt.org>"
|
||||||
|
@@ -571,7 +570,7 @@ static int admhc_run(struct admhcd *ahcd
|
||||||
|
periodic_reinit(ahcd);
|
||||||
|
|
||||||
|
/* use rhsc irqs after khubd is fully initialized */
|
||||||
|
- hcd->poll_rh = 1;
|
||||||
|
+ set_bit(HCD_FLAG_POLL_RH, &hcd->flags);
|
||||||
|
hcd->uses_new_polling = 1;
|
||||||
|
|
||||||
|
#if 0
|
||||||
|
@@ -688,7 +687,7 @@ static irqreturn_t admhc_irq(struct usb_
|
||||||
|
*/
|
||||||
|
admhc_vdbg(ahcd, "Resume Detect\n");
|
||||||
|
admhc_intr_ack(ahcd, ADMHC_INTR_RESI);
|
||||||
|
- hcd->poll_rh = 1;
|
||||||
|
+ set_bit(HCD_FLAG_POLL_RH, &hcd->flags);
|
||||||
|
if (ahcd->autostop) {
|
||||||
|
spin_lock(&ahcd->lock);
|
||||||
|
admhc_rh_resume(ahcd);
|
||||||
|
--- a/drivers/usb/host/adm5120-hub.c
|
||||||
|
+++ b/drivers/usb/host/adm5120-hub.c
|
||||||
|
@@ -106,8 +106,11 @@ admhc_hub_status_data(struct usb_hcd *hc
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
- hcd->poll_rh = admhc_root_hub_state_changes(ahcd, changed,
|
||||||
|
- any_connected);
|
||||||
|
+ if (admhc_root_hub_state_changes(ahcd, changed,
|
||||||
|
+ any_connected))
|
||||||
|
+ set_bit(HCD_FLAG_POLL_RH, &hcd->flags);
|
||||||
|
+ else
|
||||||
|
+ clear_bit(HCD_FLAG_POLL_RH, &hcd->flags);
|
||||||
|
|
||||||
|
done:
|
||||||
|
spin_unlock_irqrestore(&ahcd->lock, flags);
|
|
@ -48,6 +48,7 @@ CONFIG_ARCH_SUSPEND_POSSIBLE=y
|
||||||
CONFIG_ARM_AMBA=y
|
CONFIG_ARM_AMBA=y
|
||||||
# CONFIG_ARM_SP805_WATCHDOG is not set
|
# CONFIG_ARM_SP805_WATCHDOG is not set
|
||||||
CONFIG_ATA=m
|
CONFIG_ATA=m
|
||||||
|
# CONFIG_ATH79 is not set
|
||||||
# CONFIG_BCM47XX is not set
|
# CONFIG_BCM47XX is not set
|
||||||
# CONFIG_BCM63XX is not set
|
# CONFIG_BCM63XX is not set
|
||||||
CONFIG_BITREVERSE=y
|
CONFIG_BITREVERSE=y
|
||||||
|
|
|
@ -48,6 +48,7 @@ CONFIG_ARCH_SUSPEND_POSSIBLE=y
|
||||||
CONFIG_ARM_AMBA=y
|
CONFIG_ARM_AMBA=y
|
||||||
# CONFIG_ARM_SP805_WATCHDOG is not set
|
# CONFIG_ARM_SP805_WATCHDOG is not set
|
||||||
CONFIG_ATA=m
|
CONFIG_ATA=m
|
||||||
|
# CONFIG_ATH79 is not set
|
||||||
# CONFIG_BCM47XX is not set
|
# CONFIG_BCM47XX is not set
|
||||||
# CONFIG_BCM63XX is not set
|
# CONFIG_BCM63XX is not set
|
||||||
CONFIG_BITREVERSE=y
|
CONFIG_BITREVERSE=y
|
||||||
|
|
Loading…
Reference in a new issue