Add the ARM patches needed for 3.9 :-/
This commit is contained in:
parent
05b62eef85
commit
597b5bc924
|
@ -40,7 +40,7 @@ temp-armv7: config-armv7 temp-armv7-generic
|
|||
perl merge.pl $^ > $@
|
||||
|
||||
temp-armv7-tegra: config-armv7-tegra temp-armv7-generic
|
||||
perl merge.pl $^ > $@
|
||||
perl merge.pl $^ > $@
|
||||
|
||||
temp-arm-generic: config-arm-generic temp-generic
|
||||
perl merge.pl $^ > $@
|
||||
|
|
|
@ -0,0 +1,10 @@
|
|||
--- linux-3.7.0-0.rc2.git1.2.fc19.x86_64/arch/arm/kernel/armksyms.c.orig 2012-10-01 00:47:46.000000000 +0100
|
||||
+++ linux-3.7.0-0.rc2.git1.2.fc19.x86_64/arch/arm/kernel/armksyms.c 2012-10-24 09:06:46.570452677 +0100
|
||||
@@ -50,6 +50,7 @@
|
||||
|
||||
/* platform dependent support */
|
||||
EXPORT_SYMBOL(arm_delay_ops);
|
||||
+EXPORT_SYMBOL(read_current_timer);
|
||||
|
||||
/* networking */
|
||||
EXPORT_SYMBOL(csum_partial);
|
|
@ -0,0 +1,43 @@
|
|||
From 7362f04c2888b14c20f8aaa02e1a897025261768 Mon Sep 17 00:00:00 2001
|
||||
From: Viresh Kumar <viresh.kumar@linaro.org>
|
||||
Date: Fri, 15 Mar 2013 08:48:20 +0000
|
||||
Subject: DMA: OF: Check properties value before running be32_to_cpup() on it
|
||||
|
||||
In of_dma_controller_register() routine we are calling of_get_property() as an
|
||||
parameter to be32_to_cpup(). In case the property doesn't exist we will get a
|
||||
crash.
|
||||
|
||||
This patch changes this code to check if we got a valid property first and then
|
||||
runs be32_to_cpup() on it.
|
||||
|
||||
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
|
||||
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
|
||||
---
|
||||
diff --git a/drivers/dma/of-dma.c b/drivers/dma/of-dma.c
|
||||
index 6036cd0..00db454 100644
|
||||
--- a/drivers/dma/of-dma.c
|
||||
+++ b/drivers/dma/of-dma.c
|
||||
@@ -93,6 +93,7 @@ int of_dma_controller_register(struct device_node *np,
|
||||
{
|
||||
struct of_dma *ofdma;
|
||||
int nbcells;
|
||||
+ const __be32 *prop;
|
||||
|
||||
if (!np || !of_dma_xlate) {
|
||||
pr_err("%s: not enough information provided\n", __func__);
|
||||
@@ -103,8 +104,11 @@ int of_dma_controller_register(struct device_node *np,
|
||||
if (!ofdma)
|
||||
return -ENOMEM;
|
||||
|
||||
- nbcells = be32_to_cpup(of_get_property(np, "#dma-cells", NULL));
|
||||
- if (!nbcells) {
|
||||
+ prop = of_get_property(np, "#dma-cells", NULL);
|
||||
+ if (prop)
|
||||
+ nbcells = be32_to_cpup(prop);
|
||||
+
|
||||
+ if (!prop || !nbcells) {
|
||||
pr_err("%s: #dma-cells property is missing or invalid\n",
|
||||
__func__);
|
||||
kfree(ofdma);
|
||||
--
|
||||
cgit v0.9.1
|
|
@ -0,0 +1,190 @@
|
|||
From 54a419668b0f27b7982807fb2376d237e0a0ce05 Mon Sep 17 00:00:00 2001
|
||||
From: Alan Stern <stern@rowland.harvard.edu>
|
||||
Date: Tue, 12 Mar 2013 10:44:39 +0000
|
||||
Subject: USB: EHCI: split ehci-omap out to a separate driver
|
||||
|
||||
This patch (as1645) converts ehci-omap over to the new "ehci-hcd is a
|
||||
library" approach, so that it can coexist peacefully with other EHCI
|
||||
platform drivers and can make use of the private area allocated at
|
||||
the end of struct ehci_hcd.
|
||||
|
||||
Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
|
||||
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
---
|
||||
diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig
|
||||
index c59a112..62f4e9a 100644
|
||||
--- a/drivers/usb/host/Kconfig
|
||||
+++ b/drivers/usb/host/Kconfig
|
||||
@@ -155,7 +155,7 @@ config USB_EHCI_MXC
|
||||
Variation of ARC USB block used in some Freescale chips.
|
||||
|
||||
config USB_EHCI_HCD_OMAP
|
||||
- bool "EHCI support for OMAP3 and later chips"
|
||||
+ tristate "EHCI support for OMAP3 and later chips"
|
||||
depends on USB_EHCI_HCD && ARCH_OMAP
|
||||
default y
|
||||
---help---
|
||||
diff --git a/drivers/usb/host/Makefile b/drivers/usb/host/Makefile
|
||||
index 001fbff..56de410 100644
|
||||
--- a/drivers/usb/host/Makefile
|
||||
+++ b/drivers/usb/host/Makefile
|
||||
@@ -27,6 +27,7 @@ obj-$(CONFIG_USB_EHCI_HCD) += ehci-hcd.o
|
||||
obj-$(CONFIG_USB_EHCI_PCI) += ehci-pci.o
|
||||
obj-$(CONFIG_USB_EHCI_HCD_PLATFORM) += ehci-platform.o
|
||||
obj-$(CONFIG_USB_EHCI_MXC) += ehci-mxc.o
|
||||
+obj-$(CONFIG_USB_EHCI_HCD_OMAP) += ehci-omap.o
|
||||
|
||||
obj-$(CONFIG_USB_OXU210HP_HCD) += oxu210hp-hcd.o
|
||||
obj-$(CONFIG_USB_ISP116X_HCD) += isp116x-hcd.o
|
||||
diff --git a/drivers/usb/host/ehci-hcd.c b/drivers/usb/host/ehci-hcd.c
|
||||
index b416a3f..303b022 100644
|
||||
--- a/drivers/usb/host/ehci-hcd.c
|
||||
+++ b/drivers/usb/host/ehci-hcd.c
|
||||
@@ -1252,11 +1252,6 @@ MODULE_LICENSE ("GPL");
|
||||
#define PLATFORM_DRIVER ehci_hcd_sh_driver
|
||||
#endif
|
||||
|
||||
-#ifdef CONFIG_USB_EHCI_HCD_OMAP
|
||||
-#include "ehci-omap.c"
|
||||
-#define PLATFORM_DRIVER ehci_hcd_omap_driver
|
||||
-#endif
|
||||
-
|
||||
#ifdef CONFIG_PPC_PS3
|
||||
#include "ehci-ps3.c"
|
||||
#define PS3_SYSTEM_BUS_DRIVER ps3_ehci_driver
|
||||
@@ -1346,6 +1341,7 @@ MODULE_LICENSE ("GPL");
|
||||
!IS_ENABLED(CONFIG_USB_EHCI_HCD_PLATFORM) && \
|
||||
!IS_ENABLED(CONFIG_USB_CHIPIDEA_HOST) && \
|
||||
!IS_ENABLED(CONFIG_USB_EHCI_MXC) && \
|
||||
+ !IS_ENABLED(CONFIG_USB_EHCI_HCD_OMAP) && \
|
||||
!defined(PLATFORM_DRIVER) && \
|
||||
!defined(PS3_SYSTEM_BUS_DRIVER) && \
|
||||
!defined(OF_PLATFORM_DRIVER) && \
|
||||
diff --git a/drivers/usb/host/ehci-omap.c b/drivers/usb/host/ehci-omap.c
|
||||
index 0555ee4..fa66757 100644
|
||||
--- a/drivers/usb/host/ehci-omap.c
|
||||
+++ b/drivers/usb/host/ehci-omap.c
|
||||
@@ -36,6 +36,9 @@
|
||||
* - convert to use hwmod and runtime PM
|
||||
*/
|
||||
|
||||
+#include <linux/kernel.h>
|
||||
+#include <linux/module.h>
|
||||
+#include <linux/io.h>
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/slab.h>
|
||||
#include <linux/usb/ulpi.h>
|
||||
@@ -43,6 +46,10 @@
|
||||
#include <linux/pm_runtime.h>
|
||||
#include <linux/gpio.h>
|
||||
#include <linux/clk.h>
|
||||
+#include <linux/usb.h>
|
||||
+#include <linux/usb/hcd.h>
|
||||
+
|
||||
+#include "ehci.h"
|
||||
|
||||
#include <linux/platform_data/usb-omap.h>
|
||||
|
||||
@@ -57,9 +64,11 @@
|
||||
#define EHCI_INSNREG05_ULPI_EXTREGADD_SHIFT 8
|
||||
#define EHCI_INSNREG05_ULPI_WRDATA_SHIFT 0
|
||||
|
||||
-/*-------------------------------------------------------------------------*/
|
||||
+#define DRIVER_DESC "OMAP-EHCI Host Controller driver"
|
||||
|
||||
-static const struct hc_driver ehci_omap_hc_driver;
|
||||
+static const char hcd_name[] = "ehci-omap";
|
||||
+
|
||||
+/*-------------------------------------------------------------------------*/
|
||||
|
||||
|
||||
static inline void ehci_write(void __iomem *base, u32 reg, u32 val)
|
||||
@@ -166,6 +175,12 @@ static void disable_put_regulator(
|
||||
/* configure so an HC device and id are always provided */
|
||||
/* always called with process context; sleeping is OK */
|
||||
|
||||
+static struct hc_driver __read_mostly ehci_omap_hc_driver;
|
||||
+
|
||||
+static const struct ehci_driver_overrides ehci_omap_overrides __initdata = {
|
||||
+ .reset = omap_ehci_init,
|
||||
+};
|
||||
+
|
||||
/**
|
||||
* ehci_hcd_omap_probe - initialize TI-based HCDs
|
||||
*
|
||||
@@ -315,56 +330,33 @@ static struct platform_driver ehci_hcd_omap_driver = {
|
||||
/*.suspend = ehci_hcd_omap_suspend, */
|
||||
/*.resume = ehci_hcd_omap_resume, */
|
||||
.driver = {
|
||||
- .name = "ehci-omap",
|
||||
+ .name = hcd_name,
|
||||
}
|
||||
};
|
||||
|
||||
/*-------------------------------------------------------------------------*/
|
||||
|
||||
-static const struct hc_driver ehci_omap_hc_driver = {
|
||||
- .description = hcd_name,
|
||||
- .product_desc = "OMAP-EHCI Host Controller",
|
||||
- .hcd_priv_size = sizeof(struct ehci_hcd),
|
||||
-
|
||||
- /*
|
||||
- * generic hardware linkage
|
||||
- */
|
||||
- .irq = ehci_irq,
|
||||
- .flags = HCD_MEMORY | HCD_USB2,
|
||||
-
|
||||
- /*
|
||||
- * basic lifecycle operations
|
||||
- */
|
||||
- .reset = omap_ehci_init,
|
||||
- .start = ehci_run,
|
||||
- .stop = ehci_stop,
|
||||
- .shutdown = ehci_shutdown,
|
||||
-
|
||||
- /*
|
||||
- * managing i/o requests and associated device resources
|
||||
- */
|
||||
- .urb_enqueue = ehci_urb_enqueue,
|
||||
- .urb_dequeue = ehci_urb_dequeue,
|
||||
- .endpoint_disable = ehci_endpoint_disable,
|
||||
- .endpoint_reset = ehci_endpoint_reset,
|
||||
+static int __init ehci_omap_init(void)
|
||||
+{
|
||||
+ if (usb_disabled())
|
||||
+ return -ENODEV;
|
||||
|
||||
- /*
|
||||
- * scheduling support
|
||||
- */
|
||||
- .get_frame_number = ehci_get_frame,
|
||||
+ pr_info("%s: " DRIVER_DESC "\n", hcd_name);
|
||||
|
||||
- /*
|
||||
- * root hub support
|
||||
- */
|
||||
- .hub_status_data = ehci_hub_status_data,
|
||||
- .hub_control = ehci_hub_control,
|
||||
- .bus_suspend = ehci_bus_suspend,
|
||||
- .bus_resume = ehci_bus_resume,
|
||||
+ ehci_init_driver(&ehci_omap_hc_driver, &ehci_omap_overrides);
|
||||
+ return platform_driver_register(&ehci_hcd_omap_driver);
|
||||
+}
|
||||
+module_init(ehci_omap_init);
|
||||
|
||||
- .clear_tt_buffer_complete = ehci_clear_tt_buffer_complete,
|
||||
-};
|
||||
+static void __exit ehci_omap_cleanup(void)
|
||||
+{
|
||||
+ platform_driver_unregister(&ehci_hcd_omap_driver);
|
||||
+}
|
||||
+module_exit(ehci_omap_cleanup);
|
||||
|
||||
MODULE_ALIAS("platform:ehci-omap");
|
||||
MODULE_AUTHOR("Texas Instruments, Inc.");
|
||||
MODULE_AUTHOR("Felipe Balbi <felipe.balbi@nokia.com>");
|
||||
|
||||
+MODULE_DESCRIPTION(DRIVER_DESC);
|
||||
+MODULE_LICENSE("GPL");
|
||||
--
|
||||
cgit v0.9.1
|
|
@ -0,0 +1,28 @@
|
|||
diff --git a/drivers/clk/tegra/clk-periph.c b/drivers/clk/tegra/clk-periph.c
|
||||
index 788486e..2f4d0e3 100644
|
||||
--- a/drivers/clk/tegra/clk-periph.c
|
||||
+++ b/drivers/clk/tegra/clk-periph.c
|
||||
@@ -18,6 +18,7 @@
|
||||
#include <linux/clk-provider.h>
|
||||
#include <linux/slab.h>
|
||||
#include <linux/err.h>
|
||||
+#include <linux/export.h>
|
||||
|
||||
#include "clk.h"
|
||||
|
||||
@@ -128,6 +129,7 @@ void tegra_periph_reset_deassert(struct clk *c)
|
||||
|
||||
tegra_periph_reset(gate, 0);
|
||||
}
|
||||
+EXPORT_SYMBOL_GPL(tegra_periph_reset_deassert);
|
||||
|
||||
void tegra_periph_reset_assert(struct clk *c)
|
||||
{
|
||||
@@ -147,6 +149,7 @@ void tegra_periph_reset_assert(struct clk *c)
|
||||
|
||||
tegra_periph_reset(gate, 1);
|
||||
}
|
||||
+EXPORT_SYMBOL_GPL(tegra_periph_reset_assert);
|
||||
|
||||
const struct clk_ops tegra_clk_periph_ops = {
|
||||
.get_parent = clk_periph_get_parent,
|
17
kernel.spec
17
kernel.spec
|
@ -252,7 +252,7 @@ Summary: The Linux kernel
|
|||
%define with_pae 0
|
||||
%endif
|
||||
|
||||
# kernel up (versatile express), and tegra are only built on armv7 hfp/sfp
|
||||
# kernel up (mutliplatform inc VExpress, highbank, omap), and tegra are only built on armv7 hfp/sfp
|
||||
%ifnarch armv7hl armv7l
|
||||
%define with_tegra 0
|
||||
%endif
|
||||
|
@ -715,9 +715,16 @@ Patch20000: 0001-efifb-Skip-DMI-checks-if-the-bootloader-knows-what-i.patch
|
|||
Patch20001: 0002-x86-EFI-Calculate-the-EFI-framebuffer-size-instead-o.patch
|
||||
|
||||
# ARM
|
||||
Patch21000: arm-export-read_current_timer.patch
|
||||
# https://lists.ozlabs.org/pipermail/devicetree-discuss/2013-March/029029.html
|
||||
Patch21001: arm-of-dma.patch
|
||||
|
||||
# ARM omap
|
||||
Patch21003: arm-omap-ehci-fix.patch
|
||||
|
||||
# ARM tegra
|
||||
Patch21005: arm-tegra-usb-no-reset-linux33.patch
|
||||
Patch21006: arm-tegra-fixclk.patch
|
||||
|
||||
#rhbz 754518
|
||||
Patch21235: scsi-sd_revalidate_disk-prevent-NULL-ptr-deref.patch
|
||||
|
@ -1305,8 +1312,11 @@ ApplyPatch debug-bad-pte-modules.patch
|
|||
#
|
||||
# ARM
|
||||
#
|
||||
|
||||
ApplyPatch arm-export-read_current_timer.patch
|
||||
ApplyPatch arm-of-dma.patch
|
||||
ApplyPatch arm-omap-ehci-fix.patch
|
||||
ApplyPatch arm-tegra-usb-no-reset-linux33.patch
|
||||
ApplyPatch arm-tegra-fixclk.patch
|
||||
|
||||
#
|
||||
# bugfixes to drivers and filesystems
|
||||
|
@ -2284,6 +2294,9 @@ fi
|
|||
# ||----w |
|
||||
# || ||
|
||||
%changelog
|
||||
* Wed May 8 2013 Peter Robinson <pbrobinson@fedoraproject.org>
|
||||
- Add the ARM patches needed for 3.9 :-/
|
||||
|
||||
* Wed May 08 2013 Josh Boyer <jwboyer@redhat.com>
|
||||
- Don't remove headers explicitly exported via UAPI (rhbz 959467)
|
||||
|
||||
|
|
Loading…
Reference in New Issue