Changeset 44348


Ignore:
Timestamp:
2015-02-09T13:13:25+01:00 (3 years ago)
Author:
blogic
Message:

lantiq: add 3.18 support

Signed-off-by: John Crispin <blogic@…>

Location:
trunk/target/linux/lantiq
Files:
2 added
3 deleted
6 edited
39 copied

Legend:

Unmodified
Added
Removed
  • trunk/target/linux/lantiq/Makefile

    r43047 r44348  
    1313MAINTAINER:=John Crispin <blogic@openwrt.org> 
    1414 
    15 KERNEL_PATCHVER:=3.14 
     15KERNEL_PATCHVER:=3.18 
    1616 
    1717CPU_TYPE:=mips32r2 
  • trunk/target/linux/lantiq/config-3.18

    r44346 r44348  
    2525CONFIG_CRYPTO_HASH2=y 
    2626CONFIG_CSRC_R4K=y 
    27 # CONFIG_DEBUG_PINCTRL is not set 
    2827CONFIG_DECOMPRESS_LZMA=y 
    2928CONFIG_DMA_NONCOHERENT=y 
     
    9695# CONFIG_MIPS_MT_SMP is not set 
    9796# CONFIG_MIPS_MT_SMTC is not set 
     97# CONFIG_MIPS_O32_FP64_SUPPORT is not set 
    9898# CONFIG_MIPS_VPE_LOADER is not set 
    9999CONFIG_MODULES_USE_ELF_REL=y 
     
    104104CONFIG_MTD_LANTIQ=y 
    105105# CONFIG_MTD_NAND_XWAY is not set 
    106 CONFIG_MTD_OF_PARTS=y 
    107 CONFIG_MTD_PHYSMAP_OF=y 
    108106CONFIG_MTD_SPLIT_FIRMWARE=y 
    109107CONFIG_MTD_UIMAGE_SPLIT=y 
     
    131129CONFIG_PERF_USE_VMALLOC=y 
    132130CONFIG_PHYLIB=y 
    133 CONFIG_PINCONF=y 
    134131CONFIG_PINCTRL=y 
    135132CONFIG_PINCTRL_LANTIQ=y 
    136133# CONFIG_PINCTRL_SINGLE is not set 
    137134CONFIG_PINCTRL_XWAY=y 
    138 CONFIG_PINMUX=y 
    139135# CONFIG_PREEMPT_RCU is not set 
    140136CONFIG_PROC_DEVICETREE=y 
  • trunk/target/linux/lantiq/dts/ar9.dtsi

    r36443 r44348  
    88                        compatible = "mips,mips34K"; 
    99                }; 
     10        }; 
     11 
     12        memory@0 { 
     13                device_type = "memory"; 
    1014        }; 
    1115 
  • trunk/target/linux/lantiq/dts/danube.dtsi

    r36443 r44348  
    1212                        compatible = "mips,mips24Kc"; 
    1313                }; 
     14        }; 
     15 
     16        memory@0 { 
     17                device_type = "memory"; 
    1418        }; 
    1519 
  • trunk/target/linux/lantiq/dts/vr9.dtsi

    r36882 r44348  
    88                        compatible = "mips,mips34Kc"; 
    99                }; 
     10        }; 
     11 
     12        memory@0 { 
     13                device_type = "memory"; 
    1014        }; 
    1115 
  • trunk/target/linux/lantiq/patches-3.18/0001-MIPS-lantiq-add-pcie-driver.patch

    r44346 r44348  
    4242--- a/arch/mips/lantiq/Kconfig 
    4343+++ b/arch/mips/lantiq/Kconfig 
    44 @@ -17,6 +17,7 @@ config SOC_XWAY 
     44@@ -17,6 +17,7 @@ 
    4545        bool "XWAY" 
    4646        select SOC_TYPE_XWAY 
     
    5050 config SOC_FALCON 
    5151        bool "FALCON" 
    52 @@ -36,6 +37,15 @@ config PCI_LANTIQ 
     52@@ -37,6 +38,15 @@ 
    5353        bool "PCI Support" 
    5454        depends on SOC_XWAY && PCI 
     
    6868--- a/arch/mips/lantiq/xway/sysctrl.c 
    6969+++ b/arch/mips/lantiq/xway/sysctrl.c 
    70 @@ -377,6 +377,8 @@ void __init ltq_soc_init(void) 
     70@@ -377,6 +377,8 @@ 
    7171                                PMU_PPE_EMA | PMU_PPE_TC | PMU_PPE_SLL01 | 
    7272                                PMU_PPE_QSB | PMU_PPE_TOP); 
     
    7979--- a/arch/mips/pci/Makefile 
    8080+++ b/arch/mips/pci/Makefile 
    81 @@ -42,6 +42,8 @@ obj-$(CONFIG_SNI_RM)          += fixup-sni.o ops 
     81@@ -43,6 +43,8 @@ 
    8282 obj-$(CONFIG_LANTIQ)           += fixup-lantiq.o 
    8383 obj-$(CONFIG_PCI_LANTIQ)       += pci-lantiq.o ops-lantiq.o 
     
    189189        if (ltq_pci_plat_dev_init) 
    190190                return ltq_pci_plat_dev_init(dev); 
    191 @@ -25,5 +26,7 @@ int pcibios_plat_dev_init(struct pci_dev 
     191@@ -25,5 +26,7 @@ 
    192192  
    193193 int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) 
     
    38903890--- /dev/null 
    38913891+++ b/arch/mips/pci/ifxmips_pcie_vr9.h 
    3892 @@ -0,0 +1,271 @@ 
     3892@@ -0,0 +1,269 @@ 
    38933893+/**************************************************************************** 
    38943894+                              Copyright (c) 2010 
     
    39153915+#include <lantiq_soc.h> 
    39163916+ 
    3917 +#define IFX_PCIE_GPIO_RESET  238 
     3917+#define IFX_PCIE_GPIO_RESET  494 
    39183918+ 
    39193919+#define IFX_REG_R32    ltq_r32 
     
    40754075+static inline void pcie_device_rst_assert(int pcie_port) 
    40764076+{ 
    4077 +       printk("%s:%s[%d]\n", __FILE__, __func__, __LINE__); 
    40784077+       gpio_set_value(IFX_PCIE_GPIO_RESET, 0); 
    40794078+//    ifx_gpio_output_clear(IFX_PCIE_GPIO_RESET, ifx_pcie_gpio_module_id); 
     
    40834082+{ 
    40844083+    mdelay(100); 
    4085 +    printk("%s:%s[%d]\n", __FILE__, __func__, __LINE__); 
    40864084+       gpio_direction_output(IFX_PCIE_GPIO_RESET, 1); 
    40874085+//    gpio_set_value(IFX_PCIE_GPIO_RESET, 1); 
     
    41644162--- a/arch/mips/pci/pci.c 
    41654163+++ b/arch/mips/pci/pci.c 
    4166 @@ -251,6 +251,31 @@ static int __init pcibios_init(void) 
     4164@@ -251,6 +251,31 @@ 
    41674165  
    41684166 subsys_initcall(pcibios_init); 
     
    55065504--- a/drivers/pci/pcie/aer/Kconfig 
    55075505+++ b/drivers/pci/pcie/aer/Kconfig 
    5508 @@ -5,7 +5,7 @@ 
    5509  config PCIEAER 
    5510         boolean "Root Port Advanced Error Reporting support" 
    5511         depends on PCIEPORTBUS 
    5512 -       default y 
     5506@@ -19,6 +19,7 @@ 
     5507 config PCIE_ECRC 
     5508        bool "PCI Express ECRC settings control" 
     5509        depends on PCIEAER 
    55135510+       default n 
    55145511        help 
    5515           This enables PCI Express Root Port Advanced Error Reporting 
    5516           (AER) driver support. Error reporting messages sent to Root 
     5512          Used to override firmware/bios settings for PCI Express ECRC 
     5513          (transaction layer end-to-end CRC checking). 
    55175514--- a/include/linux/pci.h 
    55185515+++ b/include/linux/pci.h 
    5519 @@ -1123,6 +1123,8 @@ void pci_walk_bus(struct pci_bus *top, i 
     5516@@ -1160,6 +1160,8 @@ 
    55205517                  void *userdata); 
    55215518 int pci_cfg_space_size(struct pci_dev *dev); 
     
    55285525--- a/include/linux/pci_ids.h 
    55295526+++ b/include/linux/pci_ids.h 
    5530 @@ -1045,6 +1045,12 @@ 
     5527@@ -1050,6 +1050,12 @@ 
    55315528 #define PCI_DEVICE_ID_SGI_LITHIUM      0x1002 
    55325529 #define PCI_DEVICE_ID_SGI_IOC4         0x100a 
  • trunk/target/linux/lantiq/patches-3.18/0002-MIPS-lantiq-dtb-image-hack.patch

    r44346 r44348  
    1010 2 files changed, 3 insertions(+), 3 deletions(-) 
    1111 
    12 --- a/arch/mips/lantiq/Makefile 
    13 +++ b/arch/mips/lantiq/Makefile 
    14 @@ -6,8 +6,6 @@ 
    15   
    16  obj-y := irq.o clk.o prom.o 
    17   
    18 -obj-y += dts/ 
    19 - 
    20  obj-$(CONFIG_EARLY_PRINTK) += early_printk.o 
    21   
    22  obj-$(CONFIG_SOC_TYPE_XWAY) += xway/ 
    2312--- a/arch/mips/lantiq/prom.c 
    2413+++ b/arch/mips/lantiq/prom.c 
     
    3625         * parsed resulting in our memory appearing 
    3726         */ 
    38 -       __dt_setup_arch(&__dtb_start); 
     27-       __dt_setup_arch(__dtb_start); 
    3928+       __dt_setup_arch(&__image_dtb); 
    4029 } 
  • trunk/target/linux/lantiq/patches-3.18/0004-MIPS-lantiq-add-atm-hack.patch

    r44346 r44348  
    442442--- a/arch/mips/mm/cache.c 
    443443+++ b/arch/mips/mm/cache.c 
    444 @@ -58,6 +58,8 @@ void (*_dma_cache_wback)(unsigned long s 
     444@@ -59,6 +59,8 @@ void (*_dma_cache_wback)(unsigned long s 
    445445 void (*_dma_cache_inv)(unsigned long start, unsigned long size); 
    446446  
     
    449449+EXPORT_SYMBOL(_dma_cache_inv); 
    450450  
    451  #endif /* CONFIG_DMA_NONCOHERENT */ 
     451 #endif /* CONFIG_DMA_NONCOHERENT || CONFIG_DMA_MAYBE_COHERENT */ 
    452452  
    453453--- a/include/uapi/linux/atm.h 
  • trunk/target/linux/lantiq/patches-3.18/0020-MTD-lantiq-handle-NO_XIP-on-cfi0001-flash.patch

    r44346 r44348  
    1111--- a/drivers/mtd/maps/lantiq-flash.c 
    1212+++ b/drivers/mtd/maps/lantiq-flash.c 
    13 @@ -140,7 +140,11 @@ ltq_mtd_probe(struct platform_device *pd 
     13@@ -139,7 +139,11 @@ ltq_mtd_probe(struct platform_device *pd 
    1414        if (!ltq_mtd->map) 
    1515                return -ENOMEM; 
  • trunk/target/linux/lantiq/patches-3.18/0022-MTD-m25p80-allow-loading-mtd-name-from-OF.patch

    r44346 r44348  
    1515--- a/drivers/mtd/devices/m25p80.c 
    1616+++ b/drivers/mtd/devices/m25p80.c 
    17 @@ -1105,6 +1105,10 @@ static int m25p_probe(struct spi_device 
    18         struct mtd_part_parser_data     ppdata; 
    19         struct device_node *np = spi->dev.of_node; 
     17@@ -198,6 +198,10 @@ static int m25p_probe(struct spi_device 
     18        enum read_mode mode = SPI_NOR_NORMAL; 
     19        char *flash_name = NULL; 
    2020        int ret; 
    2121+       const char __maybe_unused       *of_mtd_name = NULL; 
     
    2424+               "linux,mtd-name", &of_mtd_name); 
    2525  
    26         /* Platform data helps sort out which chip type we have, as 
    27          * well as how this board partitions it.  If we don't have 
    28 @@ -1177,6 +1181,8 @@ static int m25p_probe(struct spi_device 
     26        data = dev_get_platdata(&spi->dev); 
     27  
     28@@ -229,6 +233,8 @@ static int m25p_probe(struct spi_device 
    2929  
    3030        if (data && data->name) 
     
    3232+       else if (of_mtd_name) 
    3333+               flash->mtd.name = of_mtd_name; 
    34         else 
    35                 flash->mtd.name = dev_name(&spi->dev); 
    3634  
     35        /* For some (historical?) reason many platforms provide two different 
     36         * names in flash_platform_data: "name" and "type". Quite often name is 
  • trunk/target/linux/lantiq/patches-3.18/0023-NET-PHY-adds-driver-for-lantiq-PHY11G.patch

    r44346 r44348  
    1414--- a/drivers/net/phy/Kconfig 
    1515+++ b/drivers/net/phy/Kconfig 
    16 @@ -152,6 +152,11 @@ config RTL8306_PHY 
     16@@ -164,6 +164,11 @@ config RTL8306_PHY 
    1717        tristate "Driver for Realtek RTL8306S switches" 
    1818        select SWCONFIG 
     
    2828--- a/drivers/net/phy/Makefile 
    2929+++ b/drivers/net/phy/Makefile 
    30 @@ -39,6 +39,7 @@ obj-$(CONFIG_NATIONAL_PHY)    += national.o 
     30@@ -40,6 +40,7 @@ obj-$(CONFIG_NATIONAL_PHY)    += national.o 
    3131 obj-$(CONFIG_DP83640_PHY)      += dp83640.o 
    3232 obj-$(CONFIG_STE10XP)          += ste10Xp.o 
  • trunk/target/linux/lantiq/patches-3.18/0025-NET-MIPS-lantiq-adds-xrx200-net.patch

    r44346 r44348  
    1717--- a/drivers/net/ethernet/Kconfig 
    1818+++ b/drivers/net/ethernet/Kconfig 
    19 @@ -84,7 +84,13 @@ config LANTIQ_ETOP 
     19@@ -101,7 +101,13 @@ config LANTIQ_ETOP 
    2020        tristate "Lantiq SoC ETOP driver" 
    2121        depends on SOC_TYPE_XWAY 
     
    3434--- a/drivers/net/ethernet/Makefile 
    3535+++ b/drivers/net/ethernet/Makefile 
    36 @@ -38,6 +38,7 @@ obj-$(CONFIG_IP1000) += icplus/ 
     36@@ -43,6 +43,7 @@ obj-$(CONFIG_IP1000) += icplus/ 
    3737 obj-$(CONFIG_JME) += jme.o 
    3838 obj-$(CONFIG_KORINA) += korina.o 
     
    11461146+       struct ltq_dma_desc *desc = &ch->dma.desc_base[ch->dma.desc]; 
    11471147+       struct sk_buff *skb = ch->skb[ch->dma.desc]; 
    1148 +       int len = (desc->ctl & LTQ_DMA_SIZE_MASK) - ETH_FCS_LEN; 
     1148+       int len = (desc->ctl & LTQ_DMA_SIZE_MASK); 
    11491149+       unsigned long flags; 
    11501150+ 
     
    18951895+               } 
    18961896+       } 
    1897 +       xrx200_switch_membase = devm_request_and_ioremap(&pdev->dev, res[0]); 
    1898 +       xrx200_mdio_membase = devm_request_and_ioremap(&pdev->dev, res[1]); 
    1899 +       xrx200_mii_membase = devm_request_and_ioremap(&pdev->dev, res[2]); 
    1900 +       xrx200_pmac_membase = devm_request_and_ioremap(&pdev->dev, res[3]); 
     1897+       xrx200_switch_membase = devm_ioremap_resource(&pdev->dev, res[0]); 
     1898+       xrx200_mdio_membase = devm_ioremap_resource(&pdev->dev, res[1]); 
     1899+       xrx200_mii_membase = devm_ioremap_resource(&pdev->dev, res[2]); 
     1900+       xrx200_pmac_membase = devm_ioremap_resource(&pdev->dev, res[3]); 
    19011901+       if (!xrx200_switch_membase || !xrx200_mdio_membase || 
    19021902+                       !xrx200_mii_membase || !xrx200_pmac_membase) { 
  • trunk/target/linux/lantiq/patches-3.18/0026-NET-multi-phy-support.patch

    r44346 r44348  
    1212--- a/drivers/net/phy/phy.c 
    1313+++ b/drivers/net/phy/phy.c 
    14 @@ -764,7 +764,8 @@ void phy_state_machine(struct work_struc 
     14@@ -819,7 +819,8 @@ void phy_state_machine(struct work_struc 
    1515                /* If the link is down, give up on negotiation for now */ 
    1616                if (!phydev->link) { 
     
    2222                        break; 
    2323                } 
    24 @@ -841,7 +842,8 @@ void phy_state_machine(struct work_struc 
     24@@ -892,7 +893,8 @@ void phy_state_machine(struct work_struc 
    2525                        netif_carrier_on(phydev->attached_dev); 
    2626                } else { 
     
    3232  
    3333                phydev->adjust_link(phydev->attached_dev); 
    34 @@ -853,7 +855,8 @@ void phy_state_machine(struct work_struc 
     34@@ -904,7 +906,8 @@ void phy_state_machine(struct work_struc 
    3535        case PHY_HALTED: 
    3636                if (phydev->link) { 
     
    4444--- a/include/linux/phy.h 
    4545+++ b/include/linux/phy.h 
    46 @@ -308,6 +308,7 @@ struct phy_device { 
    47         struct phy_c45_device_ids c45_ids; 
     46@@ -364,6 +364,7 @@ struct phy_device { 
    4847        bool is_c45; 
    4948        bool is_internal; 
     49        bool has_fixups; 
    5050+       bool no_auto_carrier_off; 
    5151  
  • trunk/target/linux/lantiq/patches-3.18/0027-NET-add-of_get_mac_address_mtd.patch

    r44346 r44348  
    2424  
    2525 /** 
    26   * It maps 'enum phy_interface_t' found in include/linux/phy.h 
    27 @@ -94,3 +95,39 @@ const void *of_get_mac_address(struct de 
     26  * of_get_phy_mode - Get phy mode for given device_node 
     27@@ -75,3 +76,39 @@ const void *of_get_mac_address(struct de 
    2828        return NULL; 
    2929 } 
  • trunk/target/linux/lantiq/patches-3.18/0028-NET-lantiq-various-etop-fixes.patch

    r44346 r44348  
    734734                spin_unlock_irqrestore(&priv->lock, flags); 
    735735        } 
    736 @@ -631,34 +829,33 @@ ltq_etop_init(struct net_device *dev) 
    737         struct ltq_etop_priv *priv = netdev_priv(dev); 
    738         struct sockaddr mac; 
    739         int err; 
    740 -       bool random_mac = false; 
    741   
    742         ether_setup(dev); 
    743         dev->watchdog_timeo = 10 * HZ; 
    744         err = ltq_etop_hw_init(dev); 
     736@@ -638,6 +836,9 @@ ltq_etop_init(struct net_device *dev) 
    745737        if (err) 
    746738                goto err_hw; 
     739        ltq_etop_change_mtu(dev, 1500); 
    747740+       err = ltq_etop_dma_init(dev); 
    748741+       if (err) 
    749742+               goto err_hw; 
    750 + 
    751         ltq_etop_change_mtu(dev, 1500); 
    752   
    753 -       memcpy(&mac, &priv->pldata->mac, sizeof(struct sockaddr)); 
    754 +       if (priv->mac) 
    755 +               memcpy(&mac.sa_data, priv->mac, ETH_ALEN); 
     743  
     744        memcpy(&mac, &priv->pldata->mac, sizeof(struct sockaddr)); 
    756745        if (!is_valid_ether_addr(mac.sa_data)) { 
    757                 pr_warn("etop: invalid MAC, using random\n"); 
    758 -               eth_random_addr(mac.sa_data); 
    759 -               random_mac = true; 
    760 +               random_ether_addr(mac.sa_data); 
    761         } 
    762   
    763         err = ltq_etop_set_mac_address(dev, &mac); 
    764         if (err) 
    765                 goto err_netdev; 
    766 - 
    767 -       /* Set addr_assign_type here, ltq_etop_set_mac_address would reset it. */ 
    768 -       if (random_mac) 
    769 -               dev->addr_assign_type = NET_ADDR_RANDOM; 
    770 - 
     746@@ -655,9 +856,10 @@ ltq_etop_init(struct net_device *dev) 
     747                dev->addr_assign_type = NET_ADDR_RANDOM; 
     748  
    771749        ltq_etop_set_multicast_list(dev); 
    772750-       err = ltq_etop_mdio_init(dev); 
     
    780758  
    781759 err_netdev: 
    782 @@ -678,6 +875,9 @@ ltq_etop_tx_timeout(struct net_device *d 
     760@@ -677,6 +879,9 @@ ltq_etop_tx_timeout(struct net_device *d 
    783761        err = ltq_etop_hw_init(dev); 
    784762        if (err) 
     
    790768        netif_wake_queue(dev); 
    791769        return; 
    792 @@ -701,14 +901,18 @@ static const struct net_device_ops ltq_e 
     770@@ -700,14 +905,18 @@ static const struct net_device_ops ltq_e 
    793771        .ndo_tx_timeout = ltq_etop_tx_timeout, 
    794772 }; 
     
    813791        res = platform_get_resource(pdev, IORESOURCE_MEM, 0); 
    814792        if (!res) { 
    815 @@ -734,30 +938,58 @@ ltq_etop_probe(struct platform_device *p 
     793@@ -733,30 +942,58 @@ ltq_etop_probe(struct platform_device *p 
    816794                goto err_out; 
    817795        } 
     
    887865        err = register_netdev(dev); 
    888866        if (err) 
    889 @@ -786,32 +1018,23 @@ ltq_etop_remove(struct platform_device * 
     867@@ -785,32 +1022,23 @@ ltq_etop_remove(struct platform_device * 
    890868        return 0; 
    891869 } 
  • trunk/target/linux/lantiq/patches-3.18/0030-GPIO-add-named-gpio-exports.patch

    r44346 r44348  
    1414--- a/drivers/gpio/gpiolib-of.c 
    1515+++ b/drivers/gpio/gpiolib-of.c 
    16 @@ -21,6 +21,8 @@ 
     16@@ -22,6 +22,8 @@ 
    1717 #include <linux/of_gpio.h> 
    1818 #include <linux/pinctrl/pinctrl.h> 
     
    2121+#include <linux/platform_device.h> 
    2222  
    23  struct gpio_desc; 
     23 #include "gpiolib.h" 
    2424  
    25 @@ -302,3 +304,69 @@ void of_gpiochip_remove(struct gpio_chip 
    26         if (chip->of_node) 
    27                 of_node_put(chip->of_node); 
     25@@ -315,3 +317,69 @@ void of_gpiochip_remove(struct gpio_chip 
     26        gpiochip_remove_pin_ranges(chip); 
     27        of_node_put(chip->of_node); 
    2828 } 
    2929+ 
     
    9393+} 
    9494+device_initcall(of_gpio_export_init); 
    95 --- a/drivers/gpio/gpiolib.c 
    96 +++ b/drivers/gpio/gpiolib.c 
    97 @@ -798,7 +798,7 @@ static struct class gpio_class = { 
    98   * 
    99   * Returns zero on success, else an error. 
    100   */ 
    101 -int gpiod_export(struct gpio_desc *desc, bool direction_may_change) 
    102 +int _gpiod_export(struct gpio_desc *desc, bool direction_may_change, const char *name) 
    103  { 
    104         unsigned long           flags; 
    105         int                     status; 
    106 @@ -839,6 +839,9 @@ int gpiod_export(struct gpio_desc *desc, 
    107         if (desc->chip->names && desc->chip->names[offset]) 
    108                 ioname = desc->chip->names[offset]; 
    109   
    110 +       if (name) 
    111 +               ioname = name; 
    112 + 
    113         dev = device_create_with_groups(&gpio_class, desc->chip->dev, 
    114                                         MKDEV(0, 0), desc, gpio_groups, 
    115                                         ioname ? ioname : "gpio%u", 
    116 @@ -874,6 +877,12 @@ fail_unlock: 
    117         gpiod_dbg(desc, "%s: status %d\n", __func__, status); 
    118         return status; 
    119  } 
    120 +EXPORT_SYMBOL_GPL(_gpiod_export); 
    121 + 
    122 +int gpiod_export(struct gpio_desc *desc, bool direction_may_change) 
    123 +{ 
    124 +       return _gpiod_export(desc, direction_may_change, NULL); 
    125 +} 
    126  EXPORT_SYMBOL_GPL(gpiod_export); 
    127   
    128  static int match_export(struct device *dev, const void *data) 
    12995--- a/include/asm-generic/gpio.h 
    13096+++ b/include/asm-generic/gpio.h 
    131 @@ -126,6 +126,11 @@ static inline int gpio_export(unsigned g 
     97@@ -123,6 +123,12 @@ static inline int gpio_export(unsigned g 
    13298        return gpiod_export(gpio_to_desc(gpio), direction_may_change); 
    13399 } 
    134100  
     101+int __gpiod_export(struct gpio_desc *desc, bool direction_may_change, const char *name); 
    135102+static inline int gpio_export_with_name(unsigned gpio, bool direction_may_change, const char *name) 
    136103+{ 
    137 +       return _gpiod_export(gpio_to_desc(gpio), direction_may_change, name); 
     104+       return __gpiod_export(gpio_to_desc(gpio), direction_may_change, name); 
    138105+} 
    139106+ 
     
    143110--- a/include/linux/gpio/consumer.h 
    144111+++ b/include/linux/gpio/consumer.h 
    145 @@ -219,6 +219,7 @@ static inline struct gpio_chip *gpiod_to 
     112@@ -323,6 +323,7 @@ static inline int desc_to_gpio(const str 
    146113  
    147114 #if IS_ENABLED(CONFIG_GPIOLIB) && IS_ENABLED(CONFIG_GPIO_SYSFS) 
     
    151118 int gpiod_export_link(struct device *dev, const char *name, 
    152119                      struct gpio_desc *desc); 
    153 @@ -227,6 +228,13 @@ void gpiod_unexport(struct gpio_desc *de 
     120@@ -331,6 +332,13 @@ void gpiod_unexport(struct gpio_desc *de 
    154121  
    155122 #else  /* CONFIG_GPIOLIB && CONFIG_GPIO_SYSFS */ 
     
    165132                               bool direction_may_change) 
    166133 { 
     134--- a/drivers/gpio/gpiolib-sysfs.c 
     135+++ b/drivers/gpio/gpiolib-sysfs.c 
     136@@ -517,7 +517,7 @@ static struct class gpio_class = { 
     137  * 
     138  * Returns zero on success, else an error. 
     139  */ 
     140-int gpiod_export(struct gpio_desc *desc, bool direction_may_change) 
     141+int __gpiod_export(struct gpio_desc *desc, bool direction_may_change, const char *name) 
     142 { 
     143        unsigned long           flags; 
     144        int                     status; 
     145@@ -557,6 +557,8 @@ int gpiod_export(struct gpio_desc *desc, 
     146        offset = gpio_chip_hwgpio(desc); 
     147        if (desc->chip->names && desc->chip->names[offset]) 
     148                ioname = desc->chip->names[offset]; 
     149+       if (name) 
     150+               ioname = name; 
     151  
     152        dev = device_create_with_groups(&gpio_class, desc->chip->dev, 
     153                                        MKDEV(0, 0), desc, gpio_groups, 
     154@@ -593,6 +595,12 @@ fail_unlock: 
     155        gpiod_dbg(desc, "%s: status %d\n", __func__, status); 
     156        return status; 
     157 } 
     158+EXPORT_SYMBOL_GPL(__gpiod_export); 
     159+ 
     160+int gpiod_export(struct gpio_desc *desc, bool direction_may_change) 
     161+{ 
     162+       return __gpiod_export(desc, direction_may_change, NULL); 
     163+} 
     164 EXPORT_SYMBOL_GPL(gpiod_export); 
     165  
     166 static int match_export(struct device *dev, const void *data) 
  • trunk/target/linux/lantiq/patches-3.18/0031-I2C-MIPS-lantiq-add-FALC-ON-i2c-bus-master.patch

    r44346 r44348  
    1919--- a/drivers/i2c/busses/Kconfig 
    2020+++ b/drivers/i2c/busses/Kconfig 
    21 @@ -515,6 +515,16 @@ config I2C_KEMPLD 
     21@@ -553,6 +553,16 @@ config I2C_KEMPLD 
    2222          This driver can also be built as a module. If so, the module 
    2323          will be called i2c-kempld. 
     
    3838--- a/drivers/i2c/busses/Makefile 
    3939+++ b/drivers/i2c/busses/Makefile 
    40 @@ -49,6 +49,7 @@ obj-$(CONFIG_I2C_IBM_IIC)     += i2c-ibm_iic 
     40@@ -53,6 +53,7 @@ obj-$(CONFIG_I2C_IBM_IIC)     += i2c-ibm_iic 
    4141 obj-$(CONFIG_I2C_IMX)          += i2c-imx.o 
    4242 obj-$(CONFIG_I2C_IOP3XX)       += i2c-iop3xx.o 
     
    422422+       mutex_lock(&priv->mutex); 
    423423+ 
    424 +       INIT_COMPLETION(priv->cmd_complete); 
     424+       init_completion(&priv->cmd_complete); 
    425425+       priv->current_msg = msgs; 
    426426+       priv->msgs_num = num; 
  • trunk/target/linux/lantiq/patches-3.18/0032-USB-fix-roothub-for-IFXHCD.patch

    r44346 r44348  
    2121--- a/drivers/usb/core/hub.c 
    2222+++ b/drivers/usb/core/hub.c 
    23 @@ -4156,7 +4156,7 @@ hub_port_init (struct usb_hub *hub, stru 
     23@@ -4319,7 +4319,7 @@ hub_port_init (struct usb_hub *hub, stru 
    2424                udev->ttport = hdev->ttport; 
    2525        } else if (udev->speed != USB_SPEED_HIGH 
  • trunk/target/linux/lantiq/patches-3.18/0033-SPI-MIPS-lantiq-adds-spi-xway.patch

    r44346 r44348  
    1919--- a/drivers/spi/Kconfig 
    2020+++ b/drivers/spi/Kconfig 
    21 @@ -536,6 +536,14 @@ config SPI_NUC900 
     21@@ -597,6 +597,14 @@ config SPI_NUC900 
    2222        help 
    2323          SPI driver for Nuvoton NUC900 series ARM SoCs 
     
    3636--- a/drivers/spi/Makefile 
    3737+++ b/drivers/spi/Makefile 
    38 @@ -80,3 +80,4 @@ obj-$(CONFIG_SPI_TOPCLIFF_PCH)                += spi-t 
    39  obj-$(CONFIG_SPI_TXX9)                 += spi-txx9.o 
     38@@ -86,3 +86,4 @@ obj-$(CONFIG_SPI_TXX9)                        += spi-txx9.o 
    4039 obj-$(CONFIG_SPI_XCOMM)                += spi-xcomm.o 
    4140 obj-$(CONFIG_SPI_XILINX)               += spi-xilinx.o 
     41 obj-$(CONFIG_SPI_XTENSA_XTFPGA)                += spi-xtensa-xtfpga.o 
    4242+obj-$(CONFIG_SPI_XWAY)                 += spi-xway.o 
    4343--- /dev/null 
    4444+++ b/drivers/spi/spi-xway.c 
    45 @@ -0,0 +1,977 @@ 
     45@@ -0,0 +1,975 @@ 
    4646+/* 
    4747+ * Lantiq SoC SPI controller 
     
    771771+       hw->rx_cnt = 0; 
    772772+       hw->status = 0; 
    773 +       INIT_COMPLETION(hw->done); 
     773+       init_completion(&hw->done); 
    774774+ 
    775775+       ltq_spi_xmit_set(hw, t); 
     
    974974+{ 
    975975+       struct ltq_spi *hw = platform_get_drvdata(pdev); 
    976 +       int ret, i; 
    977 + 
    978 +       ret = spi_bitbang_stop(&hw->bitbang); 
    979 +       if (ret) 
    980 +               return ret; 
     976+       int i; 
     977+ 
     978+       spi_bitbang_stop(&hw->bitbang); 
    981979+ 
    982980+       platform_set_drvdata(pdev, NULL); 
  • trunk/target/linux/lantiq/patches-3.18/0035-owrt-lantiq-wifi-and-ethernet-eeprom-handling.patch

    r44346 r44348  
    591591--- a/drivers/net/ethernet/lantiq_etop.c 
    592592+++ b/drivers/net/ethernet/lantiq_etop.c 
    593 @@ -843,6 +843,9 @@ ltq_etop_init(struct net_device *dev) 
     593@@ -161,7 +161,7 @@ struct ltq_etop_priv { 
     594        int tx_irq; 
     595        int rx_irq; 
    594596  
    595         if (priv->mac) 
    596                 memcpy(&mac.sa_data, priv->mac, ETH_ALEN); 
     597-       const void *mac; 
     598+       void *mac; 
     599        int mii_mode; 
     600  
     601        spinlock_t lock; 
     602@@ -840,7 +840,11 @@ ltq_etop_init(struct net_device *dev) 
     603        if (err) 
     604                goto err_hw; 
     605  
     606-       memcpy(&mac, &priv->pldata->mac, sizeof(struct sockaddr)); 
     607+       if (priv->mac) 
     608+               memcpy(&mac, priv->mac, sizeof(struct sockaddr)); 
    597609+       else 
    598 +               memcpy(&mac.sa_data, ltq_get_eth_mac(), ETH_ALEN); 
     610+               memcpy(&mac, ltq_get_eth_mac(), sizeof(struct sockaddr)); 
    599611+ 
    600612        if (!is_valid_ether_addr(mac.sa_data)) { 
    601613                pr_warn("etop: invalid MAC, using random\n"); 
    602                 random_ether_addr(mac.sa_data); 
     614                eth_random_addr(mac.sa_data); 
  • trunk/target/linux/lantiq/patches-3.18/0036-owrt-generic-dtb-image-hack.patch

    r44346 r44348  
    1111--- a/arch/mips/kernel/head.S 
    1212+++ b/arch/mips/kernel/head.S 
    13 @@ -107,6 +107,9 @@ EXPORT(__image_cmdline) 
     13@@ -86,6 +86,9 @@ EXPORT(__image_cmdline) 
    1414        .fill   0x400 
    1515 #endif /* CONFIG_IMAGE_CMDLINE_HACK */ 
     
    2121  
    2222 NESTED(kernel_entry, 16, sp)                   # kernel entry point 
     23--- a/arch/mips/lantiq/Kconfig 
     24+++ b/arch/mips/lantiq/Kconfig 
     25@@ -32,7 +32,6 @@ choice 
     26 config DT_EASY50712 
     27        bool "Easy50712" 
     28        depends on SOC_XWAY 
     29-       select BUILTIN_DTB 
     30 endchoice 
     31  
     32 config PCI_LANTIQ 
  • trunk/target/linux/lantiq/patches-3.18/0101-mtd-split.patch

    r44346 r44348  
    165165--- a/drivers/mtd/mtdpart.c 
    166166+++ b/drivers/mtd/mtdpart.c 
    167 @@ -617,7 +617,7 @@ out_register: 
     167@@ -630,7 +630,7 @@ out_register: 
    168168 } 
    169169  
     
    174174                    long long offset, long long length, bool dup_check) 
    175175 { 
    176 @@ -738,7 +738,7 @@ run_parsers_by_type(struct mtd_part *sla 
     176@@ -751,7 +751,7 @@ run_parsers_by_type(struct mtd_part *sla 
    177177        return nr_parts; 
    178178 } 
     
    183183 { 
    184184        unsigned long mask = mtd->erasesize - 1; 
    185 @@ -808,7 +808,6 @@ static void split_uimage(struct mtd_info 
     185@@ -821,7 +821,6 @@ static void split_uimage(struct mtd_info 
    186186                return; 
    187187  
  • trunk/target/linux/lantiq/patches-3.18/0160-owrt-lantiq-multiple-flash.patch

    r44346 r44348  
    11--- a/drivers/mtd/maps/lantiq-flash.c 
    22+++ b/drivers/mtd/maps/lantiq-flash.c 
    3 @@ -20,6 +20,7 @@ 
     3@@ -19,6 +19,7 @@ 
    44 #include <linux/mtd/cfi.h> 
    55 #include <linux/platform_device.h> 
     
    99  
    1010 #include <lantiq_soc.h> 
    11 @@ -39,10 +40,12 @@ enum { 
     11@@ -38,10 +39,12 @@ 
    1212        LTQ_NOR_NORMAL 
    1313 }; 
     
    2525  
    2626 static const char ltq_map_name[] = "ltq_nor"; 
    27 @@ -110,12 +113,39 @@ ltq_copy_to(struct map_info *map, unsign 
     27@@ -109,12 +112,44 @@ 
    2828 } 
    2929  
     
    6363+       int i; 
    6464+       int devices_found = 0; 
    65   
    66         static const char *rom_probe_types[] = { 
    67                 "cfi_probe", "jedec_probe", NULL 
    68 @@ -134,79 +164,88 @@ ltq_mtd_probe(struct platform_device *pd 
     65+ 
     66+       static const char *rom_probe_types[] = { 
     67+               "cfi_probe", "jedec_probe", NULL 
     68+       }; 
     69+       const char **type; 
     70  
     71        if (of_machine_is_compatible("lantiq,falcon") && 
     72                        (ltq_boot_select() != BS_FLASH)) { 
     73@@ -128,76 +163,88 @@ 
    6974  
    7075        platform_set_drvdata(pdev, ltq_mtd); 
     
    153158- 
    154159-       ltq_mtd->map->map_priv_1 = LTQ_NOR_PROBING; 
    155 - 
    156 -       for (type = rom_probe_types; !ltq_mtd->mtd && *type; type++) 
    157 -               ltq_mtd->mtd = do_map_probe(*type, ltq_mtd->map); 
    158 - 
     160-       ltq_mtd->mtd = do_map_probe("cfi_probe", ltq_mtd->map); 
    159161-       ltq_mtd->map->map_priv_1 = LTQ_NOR_NORMAL; 
    160162- 
  • trunk/target/linux/lantiq/xrx200/config-default

    r43987 r44348  
    11CONFIG_ADM6996_PHY=y 
    22CONFIG_AR8216_PHY=y 
     3# CONFIG_ARCH_HAS_SG_CHAIN is not set 
     4CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y 
     5CONFIG_ARCH_MIGHT_HAVE_PC_SERIO=y 
     6# CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set 
    37CONFIG_CLONE_BACKWARDS=y 
     8CONFIG_CPU_NEEDS_NO_SMARTMIPS_OR_MICROMIPS=y 
     9CONFIG_CPU_SUPPORTS_MSA=y 
    410CONFIG_CRC16=y 
    511CONFIG_CRYPTO_DEFLATE=y 
     
    713CONFIG_FIRMWARE_IN_KERNEL=y 
    814CONFIG_GPIO_DEVRES=y 
     15CONFIG_HAS_IOPORT_MAP=y 
    916# CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set 
     17CONFIG_HAVE_ARCH_SECCOMP_FILTER=y 
     18CONFIG_HAVE_ARCH_TRACEHOOK=y 
    1019# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set 
     20CONFIG_HAVE_BPF_JIT=y 
     21CONFIG_HAVE_CC_STACKPROTECTOR=y 
     22CONFIG_HAVE_CONTEXT_TRACKING=y 
     23CONFIG_HAVE_DEBUG_STACKOVERFLOW=y 
     24CONFIG_HAVE_DMA_CONTIGUOUS=y 
     25CONFIG_HAVE_SYSCALL_TRACEPOINTS=y 
    1126CONFIG_HZ_PERIODIC=y 
    1227CONFIG_INPUT=y 
     
    1631CONFIG_IRQ_WORK=y 
    1732# CONFIG_ISDN is not set 
     33CONFIG_KERNFS=y 
    1834CONFIG_LANTIQ_PHY=y 
    1935CONFIG_LANTIQ_XRX200=y 
    2036CONFIG_LEDS_TRIGGER_HEARTBEAT=y 
     37CONFIG_LIBFDT=y 
    2138CONFIG_LZO_COMPRESS=y 
    2239CONFIG_LZO_DECOMPRESS=y 
    23 CONFIG_M25PXX_USE_FAST_READ=y 
    24 CONFIG_MTD_M25P80=y 
    2540CONFIG_MTD_NAND=y 
    2641CONFIG_MTD_NAND_ECC=y 
     
    2843CONFIG_MTD_NAND_XWAY=y 
    2944# CONFIG_MTD_PHYSMAP_OF is not set 
    30 # CONFIG_MTD_SM_COMMON is not set 
     45CONFIG_MTD_SPLIT_SUPPORT=y 
    3146CONFIG_MTD_UBI=y 
    3247CONFIG_MTD_UBI_BEB_LIMIT=20 
     
    3651CONFIG_MTD_UBI_WL_THRESHOLD=4096 
    3752CONFIG_NLS=y 
     53# CONFIG_NO_IOPORT_MAP is not set 
     54CONFIG_OF_ADDRESS_PCI=y 
    3855CONFIG_PCIE_LANTIQ=y 
    3956# CONFIG_PCI_LANTIQ is not set 
    40 # CONFIG_PROC_DEVICETREE is not set 
    4157# CONFIG_RCU_STALL_COMMON is not set 
    4258CONFIG_RTL8306_PHY=y 
     
    4965CONFIG_SPI_MASTER=y 
    5066CONFIG_SPI_XWAY=y 
     67CONFIG_SYS_SUPPORTS_MIPS16=y 
    5168CONFIG_UBIFS_FS=y 
    5269CONFIG_UBIFS_FS_ADVANCED_COMPR=y 
  • trunk/target/linux/lantiq/xway/config-default

    r41565 r44348  
    11CONFIG_ADM6996_PHY=y 
    22CONFIG_AR8216_PHY=y 
     3# CONFIG_ARCH_HAS_SG_CHAIN is not set 
     4CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y 
     5CONFIG_ARCH_MIGHT_HAVE_PC_SERIO=y 
     6# CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set 
    37CONFIG_CLONE_BACKWARDS=y 
     8CONFIG_CPU_NEEDS_NO_SMARTMIPS_OR_MICROMIPS=y 
     9CONFIG_CPU_SUPPORTS_MSA=y 
    410CONFIG_CRC16=y 
    511CONFIG_CRYPTO_DEFLATE=y 
     
    713CONFIG_FIRMWARE_IN_KERNEL=y 
    814CONFIG_GPIO_DEVRES=y 
     15CONFIG_HAS_IOPORT_MAP=y 
    916# CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set 
     17CONFIG_HAVE_ARCH_SECCOMP_FILTER=y 
     18CONFIG_HAVE_ARCH_TRACEHOOK=y 
    1019# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set 
     20CONFIG_HAVE_BPF_JIT=y 
     21CONFIG_HAVE_CC_STACKPROTECTOR=y 
     22CONFIG_HAVE_CONTEXT_TRACKING=y 
     23CONFIG_HAVE_DEBUG_STACKOVERFLOW=y 
     24CONFIG_HAVE_DMA_CONTIGUOUS=y 
     25CONFIG_HAVE_SYSCALL_TRACEPOINTS=y 
    1126CONFIG_HZ_PERIODIC=y 
    1227CONFIG_INPUT=y 
     
    1631CONFIG_IRQ_WORK=y 
    1732# CONFIG_ISDN is not set 
     33CONFIG_KERNFS=y 
    1834CONFIG_LEDS_TRIGGER_HEARTBEAT=y 
     35CONFIG_LIBFDT=y 
    1936CONFIG_LZO_COMPRESS=y 
    2037CONFIG_LZO_DECOMPRESS=y 
    21 CONFIG_M25PXX_USE_FAST_READ=y 
    22 CONFIG_MTD_M25P80=y 
    2338CONFIG_MTD_NAND=y 
    2439CONFIG_MTD_NAND_ECC=y 
     
    2641CONFIG_MTD_NAND_XWAY=y 
    2742# CONFIG_MTD_PHYSMAP_OF is not set 
    28 # CONFIG_MTD_SM_COMMON is not set 
     43CONFIG_MTD_SPLIT_SUPPORT=y 
    2944CONFIG_MTD_SPLIT_UIMAGE_FW=y 
    3045CONFIG_MTD_UBI=y 
     
    3550CONFIG_MTD_UBI_WL_THRESHOLD=4096 
    3651CONFIG_NLS=y 
    37 # CONFIG_PROC_DEVICETREE is not set 
     52# CONFIG_NO_IOPORT_MAP is not set 
     53CONFIG_OF_ADDRESS_PCI=y 
    3854# CONFIG_RCU_STALL_COMMON is not set 
    3955CONFIG_RTL8306_PHY=y 
     
    4662CONFIG_SPI_MASTER=y 
    4763CONFIG_SPI_XWAY=y 
     64CONFIG_SYS_SUPPORTS_MIPS16=y 
    4865CONFIG_UBIFS_FS=y 
    4966CONFIG_UBIFS_FS_ADVANCED_COMPR=y 
Note: See TracChangeset for help on using the changeset viewer.