summaryrefslogtreecommitdiffstats
path: root/freed-ora/current
diff options
context:
space:
mode:
authorAlexandre Oliva <lxoliva@fsfla.org>2014-09-03 15:52:27 +0000
committerAlexandre Oliva <lxoliva@fsfla.org>2014-09-03 15:52:27 +0000
commitcb3c4033faee521c605c3adf3d3fc0056879a0ec (patch)
treec4fdb4933ec9a625280b4cc4067bbe161b8f31db /freed-ora/current
parentd9b2c9ce7c0dc7a886dd0da9b63ff6227d68a51f (diff)
downloadlinux-libre-raptor-cb3c4033faee521c605c3adf3d3fc0056879a0ec.tar.gz
linux-libre-raptor-cb3c4033faee521c605c3adf3d3fc0056879a0ec.zip
3.16.1-301.fc21.gnu
Diffstat (limited to 'freed-ora/current')
-rw-r--r--freed-ora/current/f21/Revert-userns-Allow-unprivileged-users-to-create-use.patch44
-rw-r--r--freed-ora/current/f21/arm-qemu-fixdisplay.patch472
-rw-r--r--freed-ora/current/f21/config-arm-generic22
-rw-r--r--freed-ora/current/f21/config-armv738
-rw-r--r--freed-ora/current/f21/config-armv7-generic22
-rw-r--r--freed-ora/current/f21/config-generic2
-rw-r--r--freed-ora/current/f21/drm-radeon-Disable-writeback-by-default-on-ppc.patch88
-rw-r--r--freed-ora/current/f21/kernel.spec37
-rw-r--r--freed-ora/current/f21/nfs3_list_one_acl-check-get_acl-result-with-IS_ERR_O.patch41
-rw-r--r--freed-ora/current/f21/serial-460800.patch73
10 files changed, 569 insertions, 270 deletions
diff --git a/freed-ora/current/f21/Revert-userns-Allow-unprivileged-users-to-create-use.patch b/freed-ora/current/f21/Revert-userns-Allow-unprivileged-users-to-create-use.patch
deleted file mode 100644
index cea6bff01..000000000
--- a/freed-ora/current/f21/Revert-userns-Allow-unprivileged-users-to-create-use.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-Bugzilla: 917708
-Upstream-status: Fedora mustard
-
-From e3da68be55914bfeedb8866f191cc0958579611d Mon Sep 17 00:00:00 2001
-From: Josh Boyer <jwboyer@fedoraproject.org>
-Date: Wed, 13 Nov 2013 10:21:18 -0500
-Subject: [PATCH] Revert "userns: Allow unprivileged users to create user
- namespaces."
-
-This reverts commit 5eaf563e53294d6696e651466697eb9d491f3946.
-
-Conflicts:
- kernel/fork.c
----
- kernel/fork.c | 13 +++++++++++++
- 1 file changed, 13 insertions(+)
-
-diff --git a/kernel/fork.c b/kernel/fork.c
-index f6d11fc..e04c9a7 100644
---- a/kernel/fork.c
-+++ b/kernel/fork.c
-@@ -1573,6 +1573,19 @@ long do_fork(unsigned long clone_flags,
- long nr;
-
- /*
-+ * Do some preliminary argument and permissions checking before we
-+ * actually start allocating stuff
-+ */
-+ if (clone_flags & CLONE_NEWUSER) {
-+ /* hopefully this check will go away when userns support is
-+ * complete
-+ */
-+ if (!capable(CAP_SYS_ADMIN) || !capable(CAP_SETUID) ||
-+ !capable(CAP_SETGID))
-+ return -EPERM;
-+ }
-+
-+ /*
- * Determine whether and which event to report to ptracer. When
- * called from kernel_thread or CLONE_UNTRACED is explicitly
- * requested, no event is reported; otherwise, report if the event
---
-1.8.3.1
-
diff --git a/freed-ora/current/f21/arm-qemu-fixdisplay.patch b/freed-ora/current/f21/arm-qemu-fixdisplay.patch
new file mode 100644
index 000000000..090193c2d
--- /dev/null
+++ b/freed-ora/current/f21/arm-qemu-fixdisplay.patch
@@ -0,0 +1,472 @@
+commit d10715be03bd8bad59ddc50236cb140c3bd73c7b
+Author: Pawel Moll <pawel.moll@arm.com>
+Date: Tue Jun 24 12:55:11 2014 +0100
+
+ video: ARM CLCD: Add DT support
+
+ This patch adds basic DT bindings for the PL11x CLCD cells
+ and make their fbdev driver use them.
+
+ Signed-off-by: Pawel Moll <pawel.moll@arm.com>
+ Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
+
+diff --git a/Documentation/devicetree/bindings/video/arm,pl11x.txt b/Documentation/devicetree/bindings/video/arm,pl11x.txt
+new file mode 100644
+index 0000000..3e3039a
+--- /dev/null
++++ b/Documentation/devicetree/bindings/video/arm,pl11x.txt
+@@ -0,0 +1,109 @@
++* ARM PrimeCell Color LCD Controller PL110/PL111
++
++See also Documentation/devicetree/bindings/arm/primecell.txt
++
++Required properties:
++
++- compatible: must be one of:
++ "arm,pl110", "arm,primecell"
++ "arm,pl111", "arm,primecell"
++
++- reg: base address and size of the control registers block
++
++- interrupt-names: either the single entry "combined" representing a
++ combined interrupt output (CLCDINTR), or the four entries
++ "mbe", "vcomp", "lnbu", "fuf" representing the individual
++ CLCDMBEINTR, CLCDVCOMPINTR, CLCDLNBUINTR, CLCDFUFINTR interrupts
++
++- interrupts: contains an interrupt specifier for each entry in
++ interrupt-names
++
++- clock-names: should contain "clcdclk" and "apb_pclk"
++
++- clocks: contains phandle and clock specifier pairs for the entries
++ in the clock-names property. See
++ Documentation/devicetree/binding/clock/clock-bindings.txt
++
++Optional properties:
++
++- memory-region: phandle to a node describing memory (see
++ Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt)
++ to be used for the framebuffer; if not present, the framebuffer
++ may be located anywhere in the memory
++
++- max-memory-bandwidth: maximum bandwidth in bytes per second that the
++ cell's memory interface can handle; if not present, the memory
++ interface is fast enough to handle all possible video modes
++
++Required sub-nodes:
++
++- port: describes LCD panel signals, following the common binding
++ for video transmitter interfaces; see
++ Documentation/devicetree/bindings/media/video-interfaces.txt;
++ when it is a TFT panel, the port's endpoint must define the
++ following property:
++
++ - arm,pl11x,tft-r0g0b0-pads: an array of three 32-bit values,
++ defining the way CLD pads are wired up; first value
++ contains index of the "CLD" external pin (pad) used
++ as R0 (first bit of the red component), second value
++ index of the pad used as G0, third value index of the
++ pad used as B0, see also "LCD panel signal multiplexing
++ details" paragraphs in the PL110/PL111 Technical
++ Reference Manuals; this implicitly defines available
++ color modes, for example:
++ - PL111 TFT 4:4:4 panel:
++ arm,pl11x,tft-r0g0b0-pads = <4 15 20>;
++ - PL110 TFT (1:)5:5:5 panel:
++ arm,pl11x,tft-r0g0b0-pads = <1 7 13>;
++ - PL111 TFT (1:)5:5:5 panel:
++ arm,pl11x,tft-r0g0b0-pads = <3 11 19>;
++ - PL111 TFT 5:6:5 panel:
++ arm,pl11x,tft-r0g0b0-pads = <3 10 19>;
++ - PL110 and PL111 TFT 8:8:8 panel:
++ arm,pl11x,tft-r0g0b0-pads = <0 8 16>;
++ - PL110 and PL111 TFT 8:8:8 panel, R & B components swapped:
++ arm,pl11x,tft-r0g0b0-pads = <16 8 0>;
++
++
++Example:
++
++ clcd@10020000 {
++ compatible = "arm,pl111", "arm,primecell";
++ reg = <0x10020000 0x1000>;
++ interrupt-names = "combined";
++ interrupts = <0 44 4>;
++ clocks = <&oscclk1>, <&oscclk2>;
++ clock-names = "clcdclk", "apb_pclk";
++ max-memory-bandwidth = <94371840>; /* Bps, 1024x768@60 16bpp */
++
++ port {
++ clcd_pads: endpoint {
++ remote-endpoint = <&clcd_panel>;
++ arm,pl11x,tft-r0g0b0-pads = <0 8 16>;
++ };
++ };
++
++ };
++
++ panel {
++ compatible = "panel-dpi";
++
++ port {
++ clcd_panel: endpoint {
++ remote-endpoint = <&clcd_pads>;
++ };
++ };
++
++ panel-timing {
++ clock-frequency = <25175000>;
++ hactive = <640>;
++ hback-porch = <40>;
++ hfront-porch = <24>;
++ hsync-len = <96>;
++ vactive = <480>;
++ vback-porch = <32>;
++ vfront-porch = <11>;
++ vsync-len = <2>;
++ };
++ };
+diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig
+index 4a7098f..6f451ad 100644
+--- a/drivers/video/fbdev/Kconfig
++++ b/drivers/video/fbdev/Kconfig
+@@ -280,6 +280,7 @@ config FB_ARMCLCD
+ select FB_CFB_FILLRECT
+ select FB_CFB_COPYAREA
+ select FB_CFB_IMAGEBLIT
++ select VIDEOMODE_HELPERS if OF
+ help
+ This framebuffer device driver is for the ARM PrimeCell PL110
+ Colour LCD controller. ARM PrimeCells provide the building
+diff --git a/drivers/video/fbdev/amba-clcd.c b/drivers/video/fbdev/amba-clcd.c
+index 14d6b37..23b3519 100644
+--- a/drivers/video/fbdev/amba-clcd.c
++++ b/drivers/video/fbdev/amba-clcd.c
+@@ -26,6 +26,13 @@
+ #include <linux/amba/clcd.h>
+ #include <linux/clk.h>
+ #include <linux/hardirq.h>
++#include <linux/dma-mapping.h>
++#include <linux/of.h>
++#include <linux/of_address.h>
++#include <linux/of_graph.h>
++#include <video/display_timing.h>
++#include <video/of_display_timing.h>
++#include <video/videomode.h>
+
+ #include <asm/sizes.h>
+
+@@ -543,6 +550,259 @@ static int clcdfb_register(struct clcd_fb *fb)
+ return ret;
+ }
+
++#ifdef CONFIG_OF
++static int clcdfb_of_get_dpi_panel_mode(struct device_node *node,
++ struct fb_videomode *mode)
++{
++ int err;
++ struct display_timing timing;
++ struct videomode video;
++
++ err = of_get_display_timing(node, "panel-timing", &timing);
++ if (err)
++ return err;
++
++ videomode_from_timing(&timing, &video);
++
++ err = fb_videomode_from_videomode(&video, mode);
++ if (err)
++ return err;
++
++ return 0;
++}
++
++static int clcdfb_snprintf_mode(char *buf, int size, struct fb_videomode *mode)
++{
++ return snprintf(buf, size, "%ux%u@%u", mode->xres, mode->yres,
++ mode->refresh);
++}
++
++static int clcdfb_of_get_mode(struct device *dev, struct device_node *endpoint,
++ struct fb_videomode *mode)
++{
++ int err;
++ struct device_node *panel;
++ char *name;
++ int len;
++
++ panel = of_graph_get_remote_port_parent(endpoint);
++ if (!panel)
++ return -ENODEV;
++
++ /* Only directly connected DPI panels supported for now */
++ if (of_device_is_compatible(panel, "panel-dpi"))
++ err = clcdfb_of_get_dpi_panel_mode(panel, mode);
++ else
++ err = -ENOENT;
++ if (err)
++ return err;
++
++ len = clcdfb_snprintf_mode(NULL, 0, mode);
++ name = devm_kzalloc(dev, len + 1, GFP_KERNEL);
++ clcdfb_snprintf_mode(name, len + 1, mode);
++ mode->name = name;
++
++ return 0;
++}
++
++static int clcdfb_of_init_tft_panel(struct clcd_fb *fb, u32 r0, u32 g0, u32 b0)
++{
++ static struct {
++ unsigned int part;
++ u32 r0, g0, b0;
++ u32 caps;
++ } panels[] = {
++ { 0x110, 1, 7, 13, CLCD_CAP_5551 },
++ { 0x110, 0, 8, 16, CLCD_CAP_888 },
++ { 0x111, 4, 14, 20, CLCD_CAP_444 },
++ { 0x111, 3, 11, 19, CLCD_CAP_444 | CLCD_CAP_5551 },
++ { 0x111, 3, 10, 19, CLCD_CAP_444 | CLCD_CAP_5551 |
++ CLCD_CAP_565 },
++ { 0x111, 0, 8, 16, CLCD_CAP_444 | CLCD_CAP_5551 |
++ CLCD_CAP_565 | CLCD_CAP_888 },
++ };
++ int i;
++
++ /* Bypass pixel clock divider, data output on the falling edge */
++ fb->panel->tim2 = TIM2_BCD | TIM2_IPC;
++
++ /* TFT display, vert. comp. interrupt at the start of the back porch */
++ fb->panel->cntl |= CNTL_LCDTFT | CNTL_LCDVCOMP(1);
++
++ fb->panel->caps = 0;
++
++ /* Match the setup with known variants */
++ for (i = 0; i < ARRAY_SIZE(panels) && !fb->panel->caps; i++) {
++ if (amba_part(fb->dev) != panels[i].part)
++ continue;
++ if (g0 != panels[i].g0)
++ continue;
++ if (r0 == panels[i].r0 && b0 == panels[i].b0)
++ fb->panel->caps = panels[i].caps & CLCD_CAP_RGB;
++ if (r0 == panels[i].b0 && b0 == panels[i].r0)
++ fb->panel->caps = panels[i].caps & CLCD_CAP_BGR;
++ }
++
++ return fb->panel->caps ? 0 : -EINVAL;
++}
++
++static int clcdfb_of_init_display(struct clcd_fb *fb)
++{
++ struct device_node *endpoint;
++ int err;
++ u32 max_bandwidth;
++ u32 tft_r0b0g0[3];
++
++ fb->panel = devm_kzalloc(&fb->dev->dev, sizeof(*fb->panel), GFP_KERNEL);
++ if (!fb->panel)
++ return -ENOMEM;
++
++ endpoint = of_graph_get_next_endpoint(fb->dev->dev.of_node, NULL);
++ if (!endpoint)
++ return -ENODEV;
++
++ err = clcdfb_of_get_mode(&fb->dev->dev, endpoint, &fb->panel->mode);
++ if (err)
++ return err;
++
++ err = of_property_read_u32(fb->dev->dev.of_node, "max-memory-bandwidth",
++ &max_bandwidth);
++ if (!err)
++ fb->panel->bpp = 8 * max_bandwidth / (fb->panel->mode.xres *
++ fb->panel->mode.yres * fb->panel->mode.refresh);
++ else
++ fb->panel->bpp = 32;
++
++#ifdef CONFIG_CPU_BIG_ENDIAN
++ fb->panel->cntl |= CNTL_BEBO;
++#endif
++ fb->panel->width = -1;
++ fb->panel->height = -1;
++
++ if (of_property_read_u32_array(endpoint,
++ "arm,pl11x,tft-r0g0b0-pads",
++ tft_r0b0g0, ARRAY_SIZE(tft_r0b0g0)) == 0)
++ return clcdfb_of_init_tft_panel(fb, tft_r0b0g0[0],
++ tft_r0b0g0[1], tft_r0b0g0[2]);
++
++ return -ENOENT;
++}
++
++static int clcdfb_of_vram_setup(struct clcd_fb *fb)
++{
++ int err;
++ struct device_node *memory;
++ u64 size;
++
++ err = clcdfb_of_init_display(fb);
++ if (err)
++ return err;
++
++ memory = of_parse_phandle(fb->dev->dev.of_node, "memory-region", 0);
++ if (!memory)
++ return -ENODEV;
++
++ fb->fb.screen_base = of_iomap(memory, 0);
++ if (!fb->fb.screen_base)
++ return -ENOMEM;
++
++ fb->fb.fix.smem_start = of_translate_address(memory,
++ of_get_address(memory, 0, &size, NULL));
++ fb->fb.fix.smem_len = size;
++
++ return 0;
++}
++
++static int clcdfb_of_vram_mmap(struct clcd_fb *fb, struct vm_area_struct *vma)
++{
++ unsigned long off, user_size, kernel_size;
++
++
++ off = vma->vm_pgoff << PAGE_SHIFT;
++ user_size = vma->vm_end - vma->vm_start;
++ kernel_size = fb->fb.fix.smem_len;
++
++ if (off >= kernel_size || user_size > (kernel_size - off))
++ return -ENXIO;
++
++ return remap_pfn_range(vma, vma->vm_start,
++ __phys_to_pfn(fb->fb.fix.smem_start) + vma->vm_pgoff,
++ user_size,
++ pgprot_writecombine(vma->vm_page_prot));
++}
++
++static void clcdfb_of_vram_remove(struct clcd_fb *fb)
++{
++ iounmap(fb->fb.screen_base);
++}
++
++static int clcdfb_of_dma_setup(struct clcd_fb *fb)
++{
++ unsigned long framesize;
++ dma_addr_t dma;
++ int err;
++
++ err = clcdfb_of_init_display(fb);
++ if (err)
++ return err;
++
++ framesize = fb->panel->mode.xres * fb->panel->mode.yres *
++ fb->panel->bpp / 8;
++ fb->fb.screen_base = dma_alloc_coherent(&fb->dev->dev, framesize,
++ &dma, GFP_KERNEL);
++ if (!fb->fb.screen_base)
++ return -ENOMEM;
++
++ fb->fb.fix.smem_start = dma;
++ fb->fb.fix.smem_len = framesize;
++
++ return 0;
++}
++
++static int clcdfb_of_dma_mmap(struct clcd_fb *fb, struct vm_area_struct *vma)
++{
++ return dma_mmap_writecombine(&fb->dev->dev, vma, fb->fb.screen_base,
++ fb->fb.fix.smem_start, fb->fb.fix.smem_len);
++}
++
++static void clcdfb_of_dma_remove(struct clcd_fb *fb)
++{
++ dma_free_coherent(&fb->dev->dev, fb->fb.fix.smem_len,
++ fb->fb.screen_base, fb->fb.fix.smem_start);
++}
++
++static struct clcd_board *clcdfb_of_get_board(struct amba_device *dev)
++{
++ struct clcd_board *board = devm_kzalloc(&dev->dev, sizeof(*board),
++ GFP_KERNEL);
++ struct device_node *node = dev->dev.of_node;
++
++ if (!board)
++ return NULL;
++
++ board->name = of_node_full_name(node);
++ board->caps = CLCD_CAP_ALL;
++ board->check = clcdfb_check;
++ board->decode = clcdfb_decode;
++ if (of_find_property(node, "memory-region", NULL)) {
++ board->setup = clcdfb_of_vram_setup;
++ board->mmap = clcdfb_of_vram_mmap;
++ board->remove = clcdfb_of_vram_remove;
++ } else {
++ board->setup = clcdfb_of_dma_setup;
++ board->mmap = clcdfb_of_dma_mmap;
++ board->remove = clcdfb_of_dma_remove;
++ }
++
++ return board;
++}
++#else
++static struct clcd_board *clcdfb_of_get_board(struct amba_dev *dev)
++{
++ return NULL;
++}
++#endif
++
+ static int clcdfb_probe(struct amba_device *dev, const struct amba_id *id)
+ {
+ struct clcd_board *board = dev_get_platdata(&dev->dev);
+@@ -550,6 +810,9 @@ static int clcdfb_probe(struct amba_device *dev, const struct amba_id *id)
+ int ret;
+
+ if (!board)
++ board = clcdfb_of_get_board(dev);
++
++ if (!board)
+ return -EINVAL;
+
+ ret = dma_set_mask_and_coherent(&dev->dev, DMA_BIT_MASK(32));
+commit 1d5167b72ca05b2096760e1200fcd53b5f9a7562
+Author: Pawel Moll <pawel.moll@arm.com>
+Date: Fri Aug 1 15:43:34 2014 +0100
+
+ video: ARM CLCD: Fix DT-related build problems
+
+ This patch fixes the following error when !CONFIG_OF:
+
+ drivers/video/fbdev/amba-clcd.c:800:54: warning: ‘struct amba_dev’ declared inside parameter list [enabled by default]
+ static struct clcd_board *clcdfb_of_get_board(struct amba_dev *dev)
+ ^
+ and adds a missing Kconfig select causing this
+ when CONFIG_OF && !CONFIG_FB_MODE_HELPERS:
+
+ drivers/video/fbdev/amba-clcd.c:567: undefined reference to `fb_videomode_from_videomode'
+
+ Reported-by: Fengguang Wu <fengguang.wu@intel.com>
+ Signed-off-by: Pawel Moll <pawel.moll@arm.com>
+ Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
+
+diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig
+index 6f451ad..ef94623 100644
+--- a/drivers/video/fbdev/Kconfig
++++ b/drivers/video/fbdev/Kconfig
+@@ -280,6 +280,7 @@ config FB_ARMCLCD
+ select FB_CFB_FILLRECT
+ select FB_CFB_COPYAREA
+ select FB_CFB_IMAGEBLIT
++ select FB_MODE_HELPERS if OF
+ select VIDEOMODE_HELPERS if OF
+ help
+ This framebuffer device driver is for the ARM PrimeCell PL110
+diff --git a/drivers/video/fbdev/amba-clcd.c b/drivers/video/fbdev/amba-clcd.c
+index 23b3519..beadd3e 100644
+--- a/drivers/video/fbdev/amba-clcd.c
++++ b/drivers/video/fbdev/amba-clcd.c
+@@ -797,7 +797,7 @@ static struct clcd_board *clcdfb_of_get_board(struct amba_device *dev)
+ return board;
+ }
+ #else
+-static struct clcd_board *clcdfb_of_get_board(struct amba_dev *dev)
++static struct clcd_board *clcdfb_of_get_board(struct amba_device *dev)
+ {
+ return NULL;
+ }
diff --git a/freed-ora/current/f21/config-arm-generic b/freed-ora/current/f21/config-arm-generic
index 0c5242c69..a75d77263 100644
--- a/freed-ora/current/f21/config-arm-generic
+++ b/freed-ora/current/f21/config-arm-generic
@@ -142,6 +142,9 @@ CONFIG_I2C_MUX_PINCTRL=m
CONFIG_I2C_MUX_PCA9541=m
CONFIG_I2C_MUX_PCA954x=m
+# spi
+CONFIG_SPI_PL022=m
+
# Sensors
CONFIG_SENSORS_IIO_HWMON=m
CONFIG_IIO_SYSFS_TRIGGER=m
@@ -173,29 +176,18 @@ CONFIG_CMA_AREAS=7
# CONFIG_CRYPTO_TEST is not set
# CONFIG_TRANSPARENT_HUGEPAGE is not set
# CONFIG_XEN is not set
-# CONFIG_DRM_RCAR_DU is not set
-# CONFIG_I2C_RCAR is not set
-# CONFIG_DRM_SHMOBILE is not set
-# CONFIG_I2C_SH_MOBILE is not set
+
# CONFIG_MMC_DW_SOCFPGA is not set
# CONFIG_I2C_NOMADIK is not set
-# CONFIG_IRQ_DOMAIN_DEBUG is not set
# CONFIG_LEDS_RENESAS_TPU is not set
-# CONFIG_LOCK_STAT is not set
-
# CONFIG_DRM_ARMADA is not set
-# CONFIG_DRM_TEGRA is not set
-# CONFIG_SHMOBILE_IOMMU is not set
-
# CONFIG_COMMON_CLK_SI570 is not set
# CONFIG_COMMON_CLK_QCOM is not set
+# CONFIG_IRQ_DOMAIN_DEBUG is not set
# CONFIG_ARM_PTDUMP is not set
-# CONFIG_PATA_PLATFORM is not set
-# CONFIG_USB_ULPI is not set
-
-### turn off things which make no sense on embedded SoC
+### turn off things which make no sense on ARM
# core
@@ -208,6 +200,8 @@ CONFIG_CMA_AREAS=7
# CONFIG_ISDN is not set
# CONFIG_GAMEPORT is not set
# CONFIG_AGP is not set
+# CONFIG_PATA_PLATFORM is not set
+# CONFIG_USB_ULPI is not set
# netdrv
diff --git a/freed-ora/current/f21/config-armv7 b/freed-ora/current/f21/config-armv7
index 03f43354f..967cdad5e 100644
--- a/freed-ora/current/f21/config-armv7
+++ b/freed-ora/current/f21/config-armv7
@@ -67,6 +67,7 @@ CONFIG_SND_KIRKWOOD_SOC=m
CONFIG_SND_KIRKWOOD_SOC_ARMADA370_DB=m
CONFIG_USB_EHCI_HCD_ORION=m
CONFIG_MMC_SDHCI_PXAV3=m
+CONFIG_MVPP2=m
# CONFIG_CACHE_FEROCEON_L2 is not set
# CONFIG_CACHE_FEROCEON_L2_WRITETHROUGH is not set
@@ -109,7 +110,6 @@ CONFIG_OMAP_PACKAGE_CUS=y
CONFIG_OMAP_MCBSP=y
CONFIG_OMAP2PLUS_MBOX=m
-CONFIG_OMAP_MBOX_FWK=m
CONFIG_OMAP_MBOX_KFIFO_SIZE=256
CONFIG_OMAP_DM_TIMER=y
CONFIG_OMAP_PM_NOOP=y
@@ -302,15 +302,6 @@ CONFIG_RADIO_WL128X=m
CONFIG_OMAP_REMOTEPROC=m
# CONFIG_TIDSPBRIDGE is not set
-# CONFIG_TIDSPBRIDGE_MEMPOOL_SIZE=0x600000
-# CONFIG_TIDSPBRIDGE_DEBUG is not set
-# CONFIG_TIDSPBRIDGE_RECOVERY=y
-# CONFIG_TIDSPBRIDGE_CACHE_LINE_CHECK is not set
-# CONFIG_TIDSPBRIDGE_WDT3=y
-# CONFIG_TIDSPBRIDGE_WDT_TIMEOUT=5
-# CONFIG_TIDSPBRIDGE_NTFY_PWRERR is not set
-# CONFIG_TIDSPBRIDGE_BACKTRACE is not set
-
# CONFIG_OMAP2_DSS_DEBUGFS is not set
# CONFIG_OMAP_IOMMU_DEBUG is not set
# CONFIG_OMAP_MUX_DEBUG is not set
@@ -359,6 +350,17 @@ CONFIG_SERIAL_MSM=y
CONFIG_SERIAL_MSM_CONSOLE=y
CONFIG_PINCTRL_APQ8064=m
CONFIG_PINCTRL_IPQ8064=m
+CONFIG_PINCTRL_MSM8960=m
+CONFIG_PINCTRL_MSM8960=m
+CONFIG_COMMON_CLK_QCOM=m
+CONFIG_APQ_GCC_8084=m
+CONFIG_APQ_MMCC_8084=m
+CONFIG_IPQ_GCC_806X=m
+CONFIG_MSM_GCC_8660=m
+CONFIG_MSM_GCC_8960=m
+CONFIG_MSM_MMCC_8960=m
+CONFIG_MSM_GCC_8974=m
+CONFIG_MSM_MMCC_8974=m
CONFIG_HW_RANDOM_MSM=m
CONFIG_I2C_QUP=m
CONFIG_SPI_QUP=m
@@ -378,17 +380,21 @@ CONFIG_USB_EHCI_MSM=m
CONFIG_MXC_IRQ_PRIOR=y
# CONFIG_MXC_DEBUG_BOARD is not set
CONFIG_SOC_IMX50=y
+CONFIG_SOC_IMX51=y
CONFIG_SOC_IMX53=y
CONFIG_SOC_IMX6Q=y
CONFIG_SOC_IMX6SL=y
CONFIG_SOC_IMX6SX=y
# CONFIG_SOC_VF610 is not set
CONFIG_MACH_IMX51_DT=y
-# CONFIG_MACH_MX51_BABBAGE is not set
CONFIG_ARM_IMX6Q_CPUFREQ=m
+CONFIG_PCI_IMX6=y
CONFIG_IMX_THERMAL=m
+CONFIG_IMX_SDMA=m
+CONFIG_IMX_DMA=m
+CONFIG_MXS_DMA=y
+CONFIG_AHCI_IMX=m
CONFIG_PATA_IMX=m
-CONFIG_PCI_IMX6=y
CONFIG_USB_EHCI_MXC=m
CONFIG_USB_CHIPIDEA=m
CONFIG_USB_CHIPIDEA_UDC=y
@@ -406,10 +412,12 @@ CONFIG_PINCTRL_IMX6SL=y
CONFIG_I2C_IMX=m
CONFIG_STMPE_I2C=y
CONFIG_SPI_IMX=m
+CONFIG_SPI_FSL_QUADSPI=m
CONFIG_STMPE_SPI=y
CONFIG_MFD_MC13783=m
CONFIG_MFD_MC13XXX_SPI=m
CONFIG_MFD_STMPE=y
+CONFIG_MTD_NAND_GPMI_NAND=m
CONFIG_W1_MASTER_MXC=m
CONFIG_IMX_WEIM=y
CONFIG_IMX2_WDT=m
@@ -435,6 +443,7 @@ CONFIG_SND_SOC_IMX_MC13783=m
CONFIG_SND_SOC_IMX_SPDIF=m
CONFIG_SND_SOC_EUKREA_TLV320=m
CONFIG_SND_SOC_TVL320AIC32X4=m
+CONFIG_SND_SOC_WM8731=m
CONFIG_USB_IMX21_HCD=m
CONFIG_USB_MXS_PHY=m
@@ -445,10 +454,6 @@ CONFIG_RTC_DRV_IMXDI=m
CONFIG_RTC_DRV_MXC=m
# CONFIG_MX3_IPU is not set
# CONFIG_MX3_IPU_IRQS is not set
-CONFIG_IMX_SDMA=m
-CONFIG_IMX_DMA=m
-CONFIG_AHCI_IMX=m
-# CONFIG_MXS_DMA is not set
CONFIG_PWM_IMX=m
CONFIG_DRM_IMX=m
@@ -631,6 +636,7 @@ CONFIG_DRM_PANEL=y
CONFIG_DRM_PANEL_SIMPLE=m
CONFIG_DRM_PANEL_LD9040=m
CONFIG_DRM_PANEL_S6E8AA0=m
+CONFIG_NOUVEAU_PLATFORM_DRIVER=m
# OLPC XO
CONFIG_SERIO_OLPC_APSP=m
diff --git a/freed-ora/current/f21/config-armv7-generic b/freed-ora/current/f21/config-armv7-generic
index 058b9514b..82faa0303 100644
--- a/freed-ora/current/f21/config-armv7-generic
+++ b/freed-ora/current/f21/config-armv7-generic
@@ -205,6 +205,7 @@ CONFIG_ARM_EXYNOS5250_CPUFREQ=y
CONFIG_ARM_EXYNOS5440_CPUFREQ=y
CONFIG_ARM_EXYNOS_CPU_FREQ_BOOST_SW=y
CONFIG_ARM_EXYNOS_CPUIDLE=y
+# CONFIG_EXYNOS5420_MCPM not set
CONFIG_I2C_EXYNOS5=m
CONFIG_I2C_S3C2410=m
@@ -248,6 +249,7 @@ CONFIG_DRM_EXYNOS_IOMMU=y
CONFIG_DRM_EXYNOS_IPP=y
CONFIG_DRM_EXYNOS_ROTATOR=y
CONFIG_DRM_EXYNOS_VIDI=y
+CONFIG_PHY_EXYNOS_DP_VIDEO=m
# CONFIG_FB_S3C is not set
# CONFIG_VIDEO_SAMSUNG_EXYNOS4_IS is not set
CONFIG_VIDEO_SAMSUNG_S5P_G2D=m
@@ -261,6 +263,7 @@ CONFIG_SND_SOC_SAMSUNG_SMDK_SPDIF=m
CONFIG_SND_SOC_SAMSUNG_SMDK_WM8994=m
CONFIG_SND_SOC_SMDK_WM8994_PCM=m
CONFIG_SND_SOC_SNOW=m
+CONFIG_SND_SOC_ODROIDX2=m
# CONFIG_GPIO_WM8994 is not set
# CONFIG_REGULATOR_WM8994 is not set
# CONFIG_EXYNOS_IOMMU_DEBUG is not set
@@ -299,15 +302,14 @@ CONFIG_GENERIC_CPUFREQ_CPU0=m
# usb
CONFIG_USB_OHCI_HCD_PLATFORM=m
CONFIG_USB_EHCI_HCD_PLATFORM=m
-CONFIG_USB_OTG=y
# CONFIG_USB_OTG_WHITELIST is not set
# CONFIG_USB_OTG_BLACKLIST_HUB is not set
CONFIG_USB_ULPI=y
CONFIG_AX88796=m
CONFIG_AX88796_93CX6=y
-CONFIG_USB_ISP1760_HCD=m
# usb gadget
+CONFIG_USB_OTG=y
CONFIG_USB_GADGET=m
CONFIG_USB_GADGET_MUSB_HDRC=m
CONFIG_USB_GADGET_VBUS_DRAW=100
@@ -316,19 +318,6 @@ CONFIG_USB_MUSB_HDRC=m
CONFIG_USB_MUSB_DUAL_ROLE=y
CONFIG_USB_MUSB_DSPS=m
CONFIG_USB_GPIO_VBUS=m
-CONFIG_USB_G_ACM_MS=m
-CONFIG_USB_G_DBGP=m
-CONFIG_USB_G_DBGP_SERIAL=y
-CONFIG_USB_G_MULTI=m
-CONFIG_USB_G_MULTI_CDC=y
-# CONFIG_USB_G_MULTI_RNDIS is not set
-CONFIG_USB_G_NCM=m
-CONFIG_USB_G_SERIAL=m
-CONFIG_USB_ETH_EEM=y
-# CONFIG_USB_ETH_RNDIS is not set
-CONFIG_USB_CDC_COMPOSITE=m
-CONFIG_USB_GADGET_TARGET=m
-CONFIG_USB_MASS_STORAGE=m
CONFIG_USB_CONFIGFS=m
CONFIG_USB_CONFIGFS_ACM=y
CONFIG_USB_CONFIGFS_ECM=y
@@ -425,7 +414,6 @@ CONFIG_SPI_BUTTERFLY=m
CONFIG_SPI_DESIGNWARE=m
CONFIG_SPI_LM70_LLP=m
CONFIG_SPI_OC_TINY=m
-CONFIG_SPI_PL022=m
CONFIG_SPI_SC18IS602=m
CONFIG_SPI_TLE62X0=m
CONFIG_SPI_XCOMM=m
@@ -439,7 +427,6 @@ CONFIG_NFC_NCI_SPI=y
CONFIG_I2C_DESIGNWARE_CORE=m
CONFIG_I2C_DESIGNWARE_PLATFORM=m
CONFIG_I2C_MV64XXX=m
-# CONFIG_I2C_CROS_EC_TUNNEL is not set
# HW crypto and rng
CONFIG_CRYPTO_SHA1_ARM=m
@@ -732,6 +719,7 @@ CONFIG_MFD_CROS_EC=m
CONFIG_MFD_CROS_EC_I2C=m
CONFIG_MFD_CROS_EC_SPI=m
CONFIG_KEYBOARD_CROS_EC=m
+CONFIG_I2C_CROS_EC_TUNNEL=m
# Should be in generic
CONFIG_BPF_JIT=y
diff --git a/freed-ora/current/f21/config-generic b/freed-ora/current/f21/config-generic
index bd0ea5710..0befc51ba 100644
--- a/freed-ora/current/f21/config-generic
+++ b/freed-ora/current/f21/config-generic
@@ -3906,7 +3906,6 @@ CONFIG_USB_CXACRU=m
# CONFIG_USB_C67X00_HCD is not set
# CONFIG_USB_CYTHERM is not set
CONFIG_USB_EMI26=m
-CONFIG_USB_ETH=m
CONFIG_USB_FTDI_ELAN=m
CONFIG_USB_FILE_STORAGE=m
# CONFIG_USB_FILE_STORAGE_TEST is not set
@@ -3944,7 +3943,6 @@ CONFIG_USB_TRANCEVIBRATOR=m
CONFIG_USB_U132_HCD=m
CONFIG_USB_UEAGLEATM=m
CONFIG_USB_XUSBATM=m
-CONFIG_USB_ZERO=m
# CONFIG_USB_DWC2 is not set
diff --git a/freed-ora/current/f21/drm-radeon-Disable-writeback-by-default-on-ppc.patch b/freed-ora/current/f21/drm-radeon-Disable-writeback-by-default-on-ppc.patch
deleted file mode 100644
index 3aa1b147a..000000000
--- a/freed-ora/current/f21/drm-radeon-Disable-writeback-by-default-on-ppc.patch
+++ /dev/null
@@ -1,88 +0,0 @@
-Bugzilla: N/A
-Upstream-status: Replaced by http://lists.freedesktop.org/archives/dri-devel/2013-December/050290.html in 3.14
-
-From b67e0a6a7409f9c1a12e573fb7d8d80ee455b103 Mon Sep 17 00:00:00 2001
-From: Adam Jackson <ajax@redhat.com>
-Date: Mon, 17 Jun 2013 09:59:34 -0400
-Subject: [PATCH] drm/radeon: Disable writeback by default on ppc
-
-At least on an IBM Power 720, this check passes, but several piglit
-tests will reliably trigger GPU resets due to the ring buffer pointers
-not being updated. There's probably a better way to limit this to just
-affected machines though.
-
-Signed-off-by: Adam Jackson <ajax@redhat.com>
----
- drivers/gpu/drm/radeon/r600_cp.c | 7 +++++++
- drivers/gpu/drm/radeon/radeon_cp.c | 7 +++++++
- drivers/gpu/drm/radeon/radeon_device.c | 4 ++--
- drivers/gpu/drm/radeon/radeon_drv.c | 2 +-
- 4 files changed, 17 insertions(+), 3 deletions(-)
-
-diff --git a/drivers/gpu/drm/radeon/r600_cp.c b/drivers/gpu/drm/radeon/r600_cp.c
-index 1c51c08..ef28532 100644
---- a/drivers/gpu/drm/radeon/r600_cp.c
-+++ b/drivers/gpu/drm/radeon/r600_cp.c
-@@ -552,6 +552,13 @@ static void r600_test_writeback(drm_radeon_private_t *dev_priv)
- dev_priv->writeback_works = 0;
- DRM_INFO("writeback test failed\n");
- }
-+#if defined(__ppc__) || defined(__ppc64__)
-+ /* the test might succeed on ppc, but it's usually not reliable */
-+ if (radeon_no_wb == -1) {
-+ radeon_no_wb = 1;
-+ DRM_INFO("not trusting writeback test due to arch quirk\n");
-+ }
-+#endif
- if (radeon_no_wb == 1) {
- dev_priv->writeback_works = 0;
- DRM_INFO("writeback forced off\n");
-diff --git a/drivers/gpu/drm/radeon/radeon_cp.c b/drivers/gpu/drm/radeon/radeon_cp.c
-index efc4f64..a967b33 100644
---- a/drivers/gpu/drm/radeon/radeon_cp.c
-+++ b/drivers/gpu/drm/radeon/radeon_cp.c
-@@ -892,6 +892,13 @@ static void radeon_test_writeback(drm_radeon_private_t * dev_priv)
- dev_priv->writeback_works = 0;
- DRM_INFO("writeback test failed\n");
- }
-+#if defined(__ppc__) || defined(__ppc64__)
-+ /* the test might succeed on ppc, but it's usually not reliable */
-+ if (radeon_no_wb == -1) {
-+ radeon_no_wb = 1;
-+ DRM_INFO("not trusting writeback test due to arch quirk\n");
-+ }
-+#endif
- if (radeon_no_wb == 1) {
- dev_priv->writeback_works = 0;
- DRM_INFO("writeback forced off\n");
-diff --git a/drivers/gpu/drm/radeon/radeon_device.c b/drivers/gpu/drm/radeon/radeon_device.c
-index 1899738..524046e 100644
---- a/drivers/gpu/drm/radeon/radeon_device.c
-+++ b/drivers/gpu/drm/radeon/radeon_device.c
-@@ -322,8 +322,8 @@ int radeon_wb_init(struct radeon_device *rdev)
- /* disable event_write fences */
- rdev->wb.use_event = false;
- /* disabled via module param */
-- if (radeon_no_wb == 1) {
-- rdev->wb.enabled = false;
-+ if (radeon_no_wb != -1) {
-+ rdev->wb.enabled = !!radeon_no_wb;
- } else {
- if (rdev->flags & RADEON_IS_AGP) {
- /* often unreliable on AGP */
-diff --git a/drivers/gpu/drm/radeon/radeon_drv.c b/drivers/gpu/drm/radeon/radeon_drv.c
-index 094e7e5..04809d4 100644
---- a/drivers/gpu/drm/radeon/radeon_drv.c
-+++ b/drivers/gpu/drm/radeon/radeon_drv.c
-@@ -146,7 +146,7 @@ static inline void radeon_register_atpx_handler(void) {}
- static inline void radeon_unregister_atpx_handler(void) {}
- #endif
-
--int radeon_no_wb;
-+int radeon_no_wb = -1;
- int radeon_modeset = -1;
- int radeon_dynclks = -1;
- int radeon_r4xx_atom = 0;
---
-1.8.2.1
-
diff --git a/freed-ora/current/f21/kernel.spec b/freed-ora/current/f21/kernel.spec
index a38349c68..e68192765 100644
--- a/freed-ora/current/f21/kernel.spec
+++ b/freed-ora/current/f21/kernel.spec
@@ -42,7 +42,7 @@ Summary: The Linux kernel
# For non-released -rc kernels, this will be appended after the rcX and
# gitX tags, so a 3 here would become part of release "0.rcX.gitX.3"
#
-%global baserelease 300
+%global baserelease 301
%global fedora_build %{baserelease}
# base_sublevel is the kernel version we're starting with and patching
@@ -602,8 +602,6 @@ Patch09: upstream-reverts.patch
Patch450: input-kill-stupid-messages.patch
Patch452: no-pcspkr-modalias.patch
-Patch460: serial-460800.patch
-
Patch470: die-floppy-die.patch
Patch500: Revert-Revert-ACPI-video-change-acpi-video-brightnes.patch
@@ -613,9 +611,6 @@ Patch530: silence-fbcon-logo.patch
Patch600: 0001-lib-cpumask-Make-CPUMASK_OFFSTACK-usable-without-deb.patch
-#rhbz 917708
-Patch700: Revert-userns-Allow-unprivileged-users-to-create-use.patch
-
Patch800: crash-driver.patch
# crypto/
@@ -657,6 +652,7 @@ Patch21021: arm-beagle.patch
Patch21022: arm-imx6-utilite.patch
# http://www.spinics.net/lists/linux-tegra/msg17948.html
Patch21023: arm-tegra-drmdetection.patch
+Patch21024: arm-qemu-fixdisplay.patch
#rhbz 754518
Patch21235: scsi-sd_revalidate_disk-prevent-NULL-ptr-deref.patch
@@ -669,8 +665,6 @@ Patch21247: ath9k_rx_dma_stop_check.patch
Patch22000: weird-root-dentry-name-debug.patch
-Patch25047: drm-radeon-Disable-writeback-by-default-on-ppc.patch
-
#rhbz 1025603
Patch25063: disable-libdw-unwind-on-non-x86.patch
@@ -703,6 +697,9 @@ Patch25120: 0001-xhci-Blacklist-using-streams-on-the-Etron-EJ168-cont.patch
#rhbz 1128472
Patch25121: 0001-uas-Limit-qdepth-to-32-when-connected-over-usb-2.patch
+#rhbz 1131551
+Patch25122: nfs3_list_one_acl-check-get_acl-result-with-IS_ERR_O.patch
+
# git clone ssh://git.fedorahosted.org/git/kernel-arm64.git, git diff master...devel
Patch30000: kernel-arm64.patch
@@ -1390,6 +1387,7 @@ ApplyPatch arm-tegra-usb-no-reset-linux33.patch
ApplyPatch arm-beagle.patch
ApplyPatch arm-imx6-utilite.patch
ApplyPatch arm-tegra-drmdetection.patch
+ApplyPatch arm-qemu-fixdisplay.patch
#
# bugfixes to drivers and filesystems
@@ -1436,9 +1434,6 @@ ApplyPatch die-floppy-die.patch
ApplyPatch no-pcspkr-modalias.patch
-# Allow to use 480600 baud on 16C950 UARTs
-ApplyPatch serial-460800.patch
-
# Silence some useless messages that still get printed with 'quiet'
ApplyPatch silence-noise.patch
@@ -1447,9 +1442,6 @@ ApplyPatch silence-fbcon-logo.patch
# Changes to upstream defaults.
-#rhbz 917708
-ApplyPatch Revert-userns-Allow-unprivileged-users-to-create-use.patch
-
# /dev/crash driver.
ApplyPatch crash-driver.patch
@@ -1494,8 +1486,6 @@ ApplyPatch criu-no-expert.patch
#rhbz 892811
ApplyPatch ath9k_rx_dma_stop_check.patch
-ApplyPatch drm-radeon-Disable-writeback-by-default-on-ppc.patch
-
#rhbz 1025603
ApplyPatch disable-libdw-unwind-on-non-x86.patch
@@ -1528,6 +1518,9 @@ ApplyPatch 0001-xhci-Blacklist-using-streams-on-the-Etron-EJ168-cont.patch
#rhbz 1128472
ApplyPatch 0001-uas-Limit-qdepth-to-32-when-connected-over-usb-2.patch
+#rhbz 1131551
+ApplyPatch nfs3_list_one_acl-check-get_acl-result-with-IS_ERR_O.patch
+
%if 0%{?aarch64patches}
ApplyPatch kernel-arm64.patch
%ifnarch aarch64 # this is stupid, but i want to notice before secondary koji does.
@@ -2423,6 +2416,18 @@ fi
# ||----w |
# || ||
%changelog
+* Fri Aug 22 2014 Josh Boyer <jwboyer@fedoraproject.org> - 3.16.1-301
+- Drop userns revert patch (rhbz 917708)
+
+* Tue Aug 19 2014 Josh Boyer <jwboyer@fedoraproject.org>
+- Fix NFSv3 oops (rhbz 1131551)
+
+* Fri Aug 15 2014 Peter Robinson <pbrobinson@fedoraproject.org>
+- ARM updates for 3.16
+- Cleanup some old removed options
+- Disable legacy USB OTG (using new configfs equivilents)
+- Upstream patch to fix display on qemu (VExpress A9)
+
* Thu Aug 14 2014 Alexandre Oliva <lxoliva@fsfla.org> -libre
- GNU Linux-libre 3.16.1-gnu.
diff --git a/freed-ora/current/f21/nfs3_list_one_acl-check-get_acl-result-with-IS_ERR_O.patch b/freed-ora/current/f21/nfs3_list_one_acl-check-get_acl-result-with-IS_ERR_O.patch
new file mode 100644
index 000000000..5f48a1262
--- /dev/null
+++ b/freed-ora/current/f21/nfs3_list_one_acl-check-get_acl-result-with-IS_ERR_O.patch
@@ -0,0 +1,41 @@
+Bugzilla: 1131551
+Upstream-status: 3.17-rc1 and Cc'd to stable
+
+From 7a9e75a185e6b3a3860e6a26fb6e88691fc2c9d9 Mon Sep 17 00:00:00 2001
+From: Andrey Utkin <andrey.krieger.utkin@gmail.com>
+Date: Sat, 26 Jul 2014 14:58:01 +0300
+Subject: [PATCH] nfs3_list_one_acl(): check get_acl() result with
+ IS_ERR_OR_NULL
+
+There was a check for result being not NULL. But get_acl() may return
+NULL, or ERR_PTR, or actual pointer.
+The purpose of the function where current change is done is to "list
+ACLs only when they are available", so any error condition of get_acl()
+mustn't be elevated, and returning 0 there is still valid.
+
+Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=81111
+Signed-off-by: Andrey Utkin <andrey.krieger.utkin@gmail.com>
+Reviewed-by: Christoph Hellwig <hch@lst.de>
+Fixes: 74adf83f5d77 (nfs: only show Posix ACLs in listxattr if actually...)
+Cc: stable@vger.kernel.org # 3.14+
+Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
+---
+ fs/nfs/nfs3acl.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/fs/nfs/nfs3acl.c b/fs/nfs/nfs3acl.c
+index 8f854dde4150..d0fec260132a 100644
+--- a/fs/nfs/nfs3acl.c
++++ b/fs/nfs/nfs3acl.c
+@@ -256,7 +256,7 @@ nfs3_list_one_acl(struct inode *inode, int type, const char *name, void *data,
+ char *p = data + *result;
+
+ acl = get_acl(inode, type);
+- if (!acl)
++ if (IS_ERR_OR_NULL(acl))
+ return 0;
+
+ posix_acl_release(acl);
+--
+1.9.3
+
diff --git a/freed-ora/current/f21/serial-460800.patch b/freed-ora/current/f21/serial-460800.patch
deleted file mode 100644
index 2abea1e4c..000000000
--- a/freed-ora/current/f21/serial-460800.patch
+++ /dev/null
@@ -1,73 +0,0 @@
-Bugzilla: N/A
-Upstream-status: Fedora mustard but I have no idea why.
-
-diff --git a/drivers/serial/8250.c b/drivers/serial/8250.c
-index 2209620..659c1bb 100644
---- a/drivers/tty/serial/8250/8250_core.c
-+++ b/drivers/tty/serial/8250/8250_core.c
-@@ -7,6 +7,9 @@
- *
- * Copyright (C) 2001 Russell King.
- *
-+ * 2005/09/16: Enabled higher baud rates for 16C95x.
-+ * (Mathias Adam <a2@adamis.de>)
-+ *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
-@@ -2227,6 +2230,14 @@ static unsigned int serial8250_get_divisor(struct uart_port *port, unsigned int
- else if ((port->flags & UPF_MAGIC_MULTIPLIER) &&
- baud == (port->uartclk/8))
- quot = 0x8002;
-+ /*
-+ * For 16C950s UART_TCR is used in combination with divisor==1
-+ * to achieve baud rates up to baud_base*4.
-+ */
-+ else if ((port->type == PORT_16C950) &&
-+ baud > (port->uartclk/16))
-+ quot = 1;
-+
- else
- quot = uart_get_divisor(port, baud);
-
-@@ -2240,7 +2251,7 @@ serial8250_set_termios(struct uart_port *port, struct ktermios *termios,
- container_of(port, struct uart_8250_port, port);
- unsigned char cval, fcr = 0;
- unsigned long flags;
-- unsigned int baud, quot;
-+ unsigned int baud, quot, max_baud;
- int fifo_bug = 0;
-
- switch (termios->c_cflag & CSIZE) {
-@@ -2272,9 +2283,10 @@ serial8250_set_termios(struct uart_port *port, struct ktermios *termios,
- /*
- * Ask the core to calculate the divisor for us.
- */
-+ max_baud = (up->port.type == PORT_16C950 ? port->uartclk/4 : port->uartclk/16);
- baud = uart_get_baud_rate(port, termios, old,
- port->uartclk / 16 / 0xffff,
-- port->uartclk / 16);
-+ max_baud);
- quot = serial8250_get_divisor(port, baud);
-
- /*
-@@ -2311,6 +2323,19 @@ serial8250_set_termios(struct uart_port *port, struct ktermios *termios,
- spin_lock_irqsave(&up->port.lock, flags);
-
- /*
-+ * 16C950 supports additional prescaler ratios between 1:16 and 1:4
-+ * thus increasing max baud rate to uartclk/4.
-+ */
-+ if (up->port.type == PORT_16C950) {
-+ if (baud == port->uartclk/4)
-+ serial_icr_write(up, UART_TCR, 0x4);
-+ else if (baud == port->uartclk/8)
-+ serial_icr_write(up, UART_TCR, 0x8);
-+ else
-+ serial_icr_write(up, UART_TCR, 0);
-+ }
-+
-+ /*
- * Update the per-port timeout.
- */
- uart_update_timeout(port, termios->c_cflag, baud);
OpenPOWER on IntegriCloud