ramips: fix patches after 3.14.32 bump
authorLuka Perkov <luka@openwrt.org>
Sun, 8 Feb 2015 15:42:42 +0000 (15:42 +0000)
committerLuka Perkov <luka@openwrt.org>
Sun, 8 Feb 2015 15:42:42 +0000 (15:42 +0000)
Signed-off-by: Luka Perkov <luka@openwrt.org>
SVN-Revision: 44324

target/linux/ramips/patches-3.14/0017-MIPS-use-set_mode-to-enable-disable-the-cevt-r4k-irq.patch
target/linux/ramips/patches-3.14/0021-MIPS-ralink-add-cpu-frequency-scaling.patch
target/linux/ramips/patches-3.14/0030-pinctrl-ralink-add-pinctrl-driver.patch
target/linux/ramips/patches-3.14/0040-USB-add-mt7621-xhci-support.patch
target/linux/ramips/patches-3.14/0044-mtd-add-chunked-read-io-to-m25p80.patch
target/linux/ramips/patches-3.14/0051-rt5350-spi-second-device.patch
target/linux/ramips/patches-3.14/0057-uvc-add-iPassion-iP2970-support.patch
target/linux/ramips/patches-3.14/0058-GPIO-add-named-gpio-exports.patch
target/linux/ramips/patches-3.14/999-gpi_irq.patch

index 1423a3a..a3b4e4a 100644 (file)
@@ -24,7 +24,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
  DEFINE_PER_CPU(struct clock_event_device, mips_clockevent_device);
  int cp0_timer_irq_installed;
  
-@@ -90,9 +84,38 @@ struct irqaction c0_compare_irqaction = 
+@@ -90,9 +84,38 @@ struct irqaction c0_compare_irqaction =
        .name = "timer",
  };
  
index ea1d03a..0e567cb 100644 (file)
@@ -55,7 +55,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
  static void systick_set_clock_mode(enum clock_event_mode mode,
                                struct clock_event_device *evt)
  {
-@@ -101,9 +122,13 @@ static void systick_set_clock_mode(enum 
+@@ -101,9 +122,13 @@ static void systick_set_clock_mode(enum
                sdev->irq_requested = 1;
                iowrite32(CFG_EXT_STK_EN | CFG_CNT_EN,
                                systick.membase + SYSTICK_CONFIG);
@@ -69,7 +69,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
                if (sdev->irq_requested)
                        free_irq(systick.dev.irq, &systick_irqaction);
                sdev->irq_requested = 0;
-@@ -116,12 +141,23 @@ static void systick_set_clock_mode(enum 
+@@ -116,12 +141,23 @@ static void systick_set_clock_mode(enum
        }
  }
  
index b9fb54f..4d3843f 100644 (file)
@@ -330,7 +330,25 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
 -              .gpio_first = 72,
 -              .gpio_last = 72,
 -      }, {0}
--};
++static struct rt2880_pmx_func i2c_grp[] =  { FUNC("i2c", 0, 1, 2) };
++static struct rt2880_pmx_func spi_grp[] = { FUNC("spi", 0, 3, 4) };
++static struct rt2880_pmx_func uartlite_grp[] = { FUNC("uartlite", 0, 15, 2) };
++static struct rt2880_pmx_func mdio_grp[] = { FUNC("mdio", 0, 22, 2) };
++static struct rt2880_pmx_func rgmii1_grp[] = { FUNC("rgmii1", 0, 24, 12) };
++static struct rt2880_pmx_func refclk_grp[] = { FUNC("spi refclk", 0, 37, 3) };
++static struct rt2880_pmx_func ephy_grp[] = { FUNC("ephy", 0, 40, 5) };
++static struct rt2880_pmx_func rgmii2_grp[] = { FUNC("rgmii2", 0, 60, 12) };
++static struct rt2880_pmx_func wled_grp[] = { FUNC("wled", 0, 72, 1) };
++static struct rt2880_pmx_func pa_grp[] = { FUNC("pa", 0, 18, 4) };
++static struct rt2880_pmx_func uartf_grp[] = {
++      FUNC("uartf", MT7620_GPIO_MODE_UARTF, 7, 8),
++      FUNC("pcm uartf", MT7620_GPIO_MODE_PCM_UARTF, 7, 8),
++      FUNC("pcm i2s", MT7620_GPIO_MODE_PCM_I2S, 7, 8),
++      FUNC("i2s uartf", MT7620_GPIO_MODE_I2S_UARTF, 7, 8),
++      FUNC("pcm gpio", MT7620_GPIO_MODE_PCM_GPIO, 11, 4),
++      FUNC("gpio uartf", MT7620_GPIO_MODE_GPIO_UARTF, 7, 4),
++      FUNC("gpio i2s", MT7620_GPIO_MODE_GPIO_I2S, 7, 4),
+ };
 -
 -static struct ralink_pinmux_grp uart_mux[] = {
 -      {
@@ -372,32 +390,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
 -              .name = "gpio",
 -              .mask = MT7620_GPIO_MODE_GPIO,
 -      }, {0}
--};
--
--struct ralink_pinmux rt_gpio_pinmux = {
--      .mode = mode_mux,
--      .uart = uart_mux,
--      .uart_shift = MT7620_GPIO_MODE_UART0_SHIFT,
--      .uart_mask = MT7620_GPIO_MODE_UART0_MASK,
-+static struct rt2880_pmx_func i2c_grp[] =  { FUNC("i2c", 0, 1, 2) };
-+static struct rt2880_pmx_func spi_grp[] = { FUNC("spi", 0, 3, 4) };
-+static struct rt2880_pmx_func uartlite_grp[] = { FUNC("uartlite", 0, 15, 2) };
-+static struct rt2880_pmx_func mdio_grp[] = { FUNC("mdio", 0, 22, 2) };
-+static struct rt2880_pmx_func rgmii1_grp[] = { FUNC("rgmii1", 0, 24, 12) };
-+static struct rt2880_pmx_func refclk_grp[] = { FUNC("spi refclk", 0, 37, 3) };
-+static struct rt2880_pmx_func ephy_grp[] = { FUNC("ephy", 0, 40, 5) };
-+static struct rt2880_pmx_func rgmii2_grp[] = { FUNC("rgmii2", 0, 60, 12) };
-+static struct rt2880_pmx_func wled_grp[] = { FUNC("wled", 0, 72, 1) };
-+static struct rt2880_pmx_func pa_grp[] = { FUNC("pa", 0, 18, 4) };
-+static struct rt2880_pmx_func uartf_grp[] = {
-+      FUNC("uartf", MT7620_GPIO_MODE_UARTF, 7, 8),
-+      FUNC("pcm uartf", MT7620_GPIO_MODE_PCM_UARTF, 7, 8),
-+      FUNC("pcm i2s", MT7620_GPIO_MODE_PCM_I2S, 7, 8),
-+      FUNC("i2s uartf", MT7620_GPIO_MODE_I2S_UARTF, 7, 8),
-+      FUNC("pcm gpio", MT7620_GPIO_MODE_PCM_GPIO, 11, 4),
-+      FUNC("gpio uartf", MT7620_GPIO_MODE_GPIO_UARTF, 7, 4),
-+      FUNC("gpio i2s", MT7620_GPIO_MODE_GPIO_I2S, 7, 4),
-+};
 +static struct rt2880_pmx_func wdt_grp[] = {
 +      FUNC("wdt rst", 0, 17, 1),
 +      FUNC("wdt refclk", 0, 17, 1),
@@ -409,8 +401,13 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
 +static struct rt2880_pmx_func nd_sd_grp[] = {
 +      FUNC("nand", MT7620_GPIO_MODE_NAND, 45, 15),
 +      FUNC("sd", MT7620_GPIO_MODE_SD, 45, 15)
-+};
-+
+ };
+-struct ralink_pinmux rt_gpio_pinmux = {
+-      .mode = mode_mux,
+-      .uart = uart_mux,
+-      .uart_shift = MT7620_GPIO_MODE_UART0_SHIFT,
+-      .uart_mask = MT7620_GPIO_MODE_UART0_MASK,
 +static struct rt2880_pmx_group mt7620a_pinmux_data[] = {
 +      GRP("i2c", i2c_grp, 1, MT7620_GPIO_MODE_I2C),
 +      GRP("uartf", uartf_grp, MT7620_GPIO_MODE_UART0_MASK,
index 38397ff..e18b91f 100644 (file)
@@ -5143,7 +5143,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
  
        return 1;
  }
-@@ -2970,6 +2973,7 @@ static int prepare_ring(struct xhci_hcd 
+@@ -2970,6 +2973,7 @@ static int prepare_ring(struct xhci_hcd
                next = ring->enqueue;
  
                while (last_trb(xhci, ring, ring->enq_seg, next)) {
@@ -5151,7 +5151,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
                        /* If we're not dealing with 0.95 hardware or isoc rings
                         * on AMD 0.96 host, clear the chain bit.
                         */
-@@ -2979,7 +2983,9 @@ static int prepare_ring(struct xhci_hcd 
+@@ -2979,7 +2983,9 @@ static int prepare_ring(struct xhci_hcd
                                next->link.control &= cpu_to_le32(~TRB_CHAIN);
                        else
                                next->link.control |= cpu_to_le32(TRB_CHAIN);
@@ -5627,7 +5627,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
        ctrl_ctx->add_flags |= cpu_to_le32(added_ctxs);
        new_add_flags = le32_to_cpu(ctrl_ctx->add_flags);
  
-@@ -2766,7 +2910,7 @@ int xhci_check_bandwidth(struct usb_hcd 
+@@ -2766,7 +2910,7 @@ int xhci_check_bandwidth(struct usb_hcd
        if (ctrl_ctx->add_flags == cpu_to_le32(SLOT_FLAG) &&
                        ctrl_ctx->drop_flags == 0)
                return 0;
@@ -5651,7 +5651,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
                        return xhci_calculate_intel_u2_timeout(udev, desc);
        }
  
-@@ -4758,7 +4906,9 @@ int xhci_gen_setup(struct usb_hcd *hcd, 
+@@ -4758,7 +4906,9 @@ int xhci_gen_setup(struct usb_hcd *hcd,
        hcd->self.no_sg_constraint = 1;
  
        /* XHCI controllers don't stop the ep queue on short packets :| */
@@ -5661,7 +5661,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
  
        if (usb_hcd_is_primary_hcd(hcd)) {
                xhci = kzalloc(sizeof(struct xhci_hcd), GFP_KERNEL);
-@@ -4821,6 +4971,10 @@ int xhci_gen_setup(struct usb_hcd *hcd, 
+@@ -4821,6 +4971,10 @@ int xhci_gen_setup(struct usb_hcd *hcd,
                goto error;
        xhci_dbg(xhci, "Reset complete\n");
  
@@ -5777,7 +5777,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
  };
  
  /* convert between an HCD pointer and the corresponding EHCI_HCD */
-@@ -1726,7 +1745,7 @@ void xhci_urb_free_priv(struct xhci_hcd 
+@@ -1726,7 +1745,7 @@ void xhci_urb_free_priv(struct xhci_hcd
  void xhci_free_command(struct xhci_hcd *xhci,
                struct xhci_command *command);
  
index 4031335..6aee4ad 100644 (file)
@@ -109,7 +109,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
  /*
   * Write an address range to the flash chip.  Data must be written in
   * FLASH_PAGESIZE chunks.  The address range may be any size provided
-@@ -596,11 +680,8 @@ static int m25p80_write(struct mtd_info 
+@@ -596,11 +680,8 @@ static int m25p80_write(struct mtd_info
                return 1;
        }
  
@@ -121,7 +121,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
  
        page_offset = to & (flash->page_size - 1);
  
-@@ -608,9 +689,7 @@ static int m25p80_write(struct mtd_info 
+@@ -608,9 +689,7 @@ static int m25p80_write(struct mtd_info
        if (page_offset + len <= flash->page_size) {
                t[1].len = len;
  
@@ -132,7 +132,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
        } else {
                u32 i;
  
-@@ -618,9 +697,7 @@ static int m25p80_write(struct mtd_info 
+@@ -618,9 +697,7 @@ static int m25p80_write(struct mtd_info
                page_size = flash->page_size - page_offset;
  
                t[1].len = page_size;
@@ -143,7 +143,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
  
                /* write everything in flash->page_size chunks */
                for (i = page_size; i < len; i += page_size) {
-@@ -628,19 +705,12 @@ static int m25p80_write(struct mtd_info 
+@@ -628,19 +705,12 @@ static int m25p80_write(struct mtd_info
                        if (page_size > flash->page_size)
                                page_size = flash->page_size;
  
@@ -164,7 +164,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
                }
        }
  
-@@ -1105,6 +1175,7 @@ static int m25p_probe(struct spi_device 
+@@ -1105,6 +1175,7 @@ static int m25p_probe(struct spi_device
        struct mtd_part_parser_data     ppdata;
        struct device_node *np = spi->dev.of_node;
        int ret;
@@ -172,7 +172,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
  
        /* Platform data helps sort out which chip type we have, as
         * well as how this board partitions it.  If we don't have
-@@ -1187,6 +1258,12 @@ static int m25p_probe(struct spi_device 
+@@ -1187,6 +1258,12 @@ static int m25p_probe(struct spi_device
        flash->mtd._erase = m25p80_erase;
        flash->mtd._read = m25p80_read;
  
index 82f08b4..2da8151 100644 (file)
@@ -189,7 +189,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
        unsigned count = 0;
        u8 *rx = xfer->rx_buf;
        const u8 *tx = xfer->tx_buf;
-@@ -213,9 +280,9 @@ rt2880_spi_write_read(struct spi_device 
+@@ -213,9 +280,9 @@ rt2880_spi_write_read(struct spi_device
  
        if (tx) {
                for (count = 0; count < xfer->len; count++) {
@@ -202,7 +202,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
                        if (err) {
                                dev_err(&spi->dev, "TX failed, err=%d\n", err);
                                goto out;
-@@ -225,13 +292,13 @@ rt2880_spi_write_read(struct spi_device 
+@@ -225,13 +292,13 @@ rt2880_spi_write_read(struct spi_device
  
        if (rx) {
                for (count = 0; count < xfer->len; count++) {
index 4576c8a..f423de5 100644 (file)
@@ -13,7 +13,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
 
 --- a/drivers/media/usb/uvc/uvc_driver.c
 +++ b/drivers/media/usb/uvc/uvc_driver.c
-@@ -2476,6 +2476,20 @@ static struct usb_device_id uvc_ids[] = 
+@@ -2476,6 +2476,20 @@ static struct usb_device_id uvc_ids[] =
          .bInterfaceProtocol   = 0,
          .driver_info          = UVC_QUIRK_PROBE_MINMAX
                                | UVC_QUIRK_IGNORE_SELECTOR_UNIT },
index 9c2b39d..c59153c 100644 (file)
@@ -22,7 +22,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
  
  struct gpio_desc;
  
-@@ -296,3 +298,69 @@ void of_gpiochip_remove(struct gpio_chip
+@@ -302,3 +304,69 @@ void of_gpiochip_remove(struct gpio_chip
        if (chip->of_node)
                of_node_put(chip->of_node);
  }
@@ -94,7 +94,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
 +device_initcall(of_gpio_export_init);
 --- a/drivers/gpio/gpiolib.c
 +++ b/drivers/gpio/gpiolib.c
-@@ -803,7 +803,7 @@ static struct class gpio_class = {
+@@ -798,7 +798,7 @@ static struct class gpio_class = {
   *
   * Returns zero on success, else an error.
   */
@@ -103,17 +103,17 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
  {
        unsigned long           flags;
        int                     status;
-@@ -843,7 +843,8 @@ int gpiod_export(struct gpio_desc *desc,
-       offset = gpio_chip_hwgpio(desc);
+@@ -839,6 +839,9 @@ int gpiod_export(struct gpio_desc *desc,
        if (desc->chip->names && desc->chip->names[offset])
                ioname = desc->chip->names[offset];
--
 +      if (name)
 +              ioname = name;
-       dev = device_create(&gpio_class, desc->chip->dev, MKDEV(0, 0),
-                           desc, ioname ? ioname : "gpio%u",
-                           desc_to_gpio(desc));
-@@ -880,6 +881,12 @@ fail_unlock:
++
+       dev = device_create_with_groups(&gpio_class, desc->chip->dev,
+                                       MKDEV(0, 0), desc, gpio_groups,
+                                       ioname ? ioname : "gpio%u",
+@@ -874,6 +877,12 @@ fail_unlock:
        gpiod_dbg(desc, "%s: status %d\n", __func__, status);
        return status;
  }
index c4b3e57..698aff9 100644 (file)
@@ -20,7 +20,7 @@
        spin_unlock_irqrestore(&rg->lock, flags);
  }
  
-@@ -163,14 +164,15 @@ static void ralink_gpio_irq_mask(struct 
+@@ -163,14 +164,15 @@ static void ralink_gpio_irq_mask(struct
  {
        struct ralink_gpio_chip *rg;
        unsigned long flags;