Changeset 30819


Ignore:
Timestamp:
2012-03-05T14:29:54+01:00 (5 years ago)
Author:
florian
Message:

Merge branch 'bcm63xx'

Location:
trunk/target/linux
Files:
14 added
26 edited

Legend:

Unmodified
Added
Removed
  • trunk/target/linux/brcm63xx/base-files/etc/uci-defaults/brcm63xx_fixcrc.sh

    r26959 r30819  
    1414 
    1515case "$board_name" in 
    16         "bcm63xx/CPVA642 "* | "bcm63xx/MAGIC "* | "bcm63xx/V2500V_BB "* | "bcm63xx/V2110 "*) 
     16        "bcm63xx/CPVA642 "* | "bcm63xx/MAGIC "* | "bcm63xx/V2500V_BB "* | \ 
     17        "bcm63xx/V2110 "* | "bcm63xx/CPVA502+ "*) 
    1718                do_fixcrc 
    1819                ;; 
  • trunk/target/linux/brcm63xx/patches-3.0/100-reset_buttons.patch

    r27880 r30819  
    9393+ 
    9494+       /* Buttons */ 
    95 +       struct gpio_button buttons[2]; 
     95+       struct gpio_button buttons[4]; 
    9696 }; 
    9797  
  • trunk/target/linux/brcm63xx/patches-3.0/200-extended-platform-devices.patch

    r27880 r30819  
    1616  
    1717        /* Buttons */ 
    18         struct gpio_button buttons[2]; 
     18        struct gpio_button buttons[4]; 
    1919+ 
    2020+       /* Additional platform devices */ 
  • trunk/target/linux/brcm63xx/patches-3.0/300-alice_gate2_leds.patch

    r27192 r30819  
    3030+               }, 
    3131+               { 
    32 +                       .name           = "adsl:red", 
     32+                       .name           = "adsl:green", 
    3333+                       .gpio           = 9, 
    3434+                       .active_low     = 1, 
    3535+               }, 
    3636+               { 
    37 +                       .name           = "adsl:green", 
     37+                       .name           = "adsl:red", 
    3838+                       .gpio           = 10, 
    3939+                       .active_low     = 1, 
     
    5050+               }, 
    5151+               { 
    52 +                       .name           = "internet:red", 
     52+                       .name           = "internet:green", 
    5353+                       .gpio           = 25, 
    5454+                       .active_low     = 1, 
    5555+               }, 
    5656+               { 
    57 +                       .name           = "internet:green", 
     57+                       .name           = "internet:red", 
    5858+                       .gpio           = 24, 
    5959+                       .active_low     = 1, 
     
    111111  
    112112        /* Buttons */ 
    113         struct gpio_button buttons[2]; 
     113        struct gpio_button buttons[4]; 
  • trunk/target/linux/brcm63xx/patches-3.0/977-ssb_export_fallback_sprom.patch

    r29725 r30819  
    11--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c 
    22+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c 
    3 @@ -2108,7 +2108,7 @@ static void __init nb4_nvram_fixup(void) 
     3@@ -2210,7 +2210,7 @@ static void __init nb4_nvram_fixup(void) 
    44  * bcm4318 WLAN work 
    55  */ 
     
    1010        .board_rev              = 0x17, 
    1111        .country_code           = 0x0, 
    12 @@ -2128,6 +2128,7 @@ static struct ssb_sprom bcm63xx_sprom = 
     12@@ -2230,6 +2230,7 @@ static struct ssb_sprom bcm63xx_sprom = 
    1313        .boardflags_lo          = 0x2848, 
    1414        .boardflags_hi          = 0x0000, 
  • trunk/target/linux/brcm63xx/patches-3.1/100-reset_buttons.patch

    r27941 r30819  
    9393+ 
    9494+       /* Buttons */ 
    95 +       struct gpio_button buttons[2]; 
     95+       struct gpio_button buttons[4]; 
    9696 }; 
    9797  
  • trunk/target/linux/brcm63xx/patches-3.1/200-extended-platform-devices.patch

    r27941 r30819  
    1616  
    1717        /* Buttons */ 
    18         struct gpio_button buttons[2]; 
     18        struct gpio_button buttons[4]; 
    1919+ 
    2020+       /* Additional platform devices */ 
  • trunk/target/linux/brcm63xx/patches-3.1/300-alice_gate2_leds.patch

    r27941 r30819  
    3030+               }, 
    3131+               { 
    32 +                       .name           = "adsl:red", 
     32+                       .name           = "adsl:green", 
    3333+                       .gpio           = 9, 
    3434+                       .active_low     = 1, 
    3535+               }, 
    3636+               { 
    37 +                       .name           = "adsl:green", 
     37+                       .name           = "adsl:red", 
    3838+                       .gpio           = 10, 
    3939+                       .active_low     = 1, 
     
    5050+               }, 
    5151+               { 
    52 +                       .name           = "internet:red", 
     52+                       .name           = "internet:green", 
    5353+                       .gpio           = 25, 
    5454+                       .active_low     = 1, 
    5555+               }, 
    5656+               { 
    57 +                       .name           = "internet:green", 
     57+                       .name           = "internet:red", 
    5858+                       .gpio           = 24, 
    5959+                       .active_low     = 1, 
     
    111111  
    112112        /* Buttons */ 
    113         struct gpio_button buttons[2]; 
     113        struct gpio_button buttons[4]; 
  • trunk/target/linux/brcm63xx/patches-3.1/977-ssb_export_fallback_sprom.patch

    r29726 r30819  
    11--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c 
    22+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c 
    3 @@ -2108,7 +2108,7 @@ static void __init nb4_nvram_fixup(void) 
     3@@ -2210,7 +2210,7 @@ static void __init nb4_nvram_fixup(void) 
    44  * bcm4318 WLAN work 
    55  */ 
     
    1010        .board_rev              = 0x17, 
    1111        .country_code           = 0x0, 
    12 @@ -2128,6 +2128,7 @@ static struct ssb_sprom bcm63xx_sprom = 
     12@@ -2230,6 +2230,7 @@ static struct ssb_sprom bcm63xx_sprom = 
    1313        .boardflags_lo          = 0x2848, 
    1414        .boardflags_hi          = 0x0000, 
  • trunk/target/linux/brcm63xx/patches-3.2/100-reset_buttons.patch

    r29731 r30819  
    9393+ 
    9494+       /* Buttons */ 
    95 +       struct gpio_button buttons[2]; 
     95+       struct gpio_button buttons[4]; 
    9696 }; 
    9797  
  • trunk/target/linux/brcm63xx/patches-3.2/200-extended-platform-devices.patch

    r29731 r30819  
    1616  
    1717        /* Buttons */ 
    18         struct gpio_button buttons[2]; 
     18        struct gpio_button buttons[4]; 
    1919+ 
    2020+       /* Additional platform devices */ 
  • trunk/target/linux/brcm63xx/patches-3.2/300-alice_gate2_leds.patch

    r29731 r30819  
    3030+               }, 
    3131+               { 
    32 +                       .name           = "adsl:red", 
     32+                       .name           = "adsl:green", 
    3333+                       .gpio           = 9, 
    3434+                       .active_low     = 1, 
    3535+               }, 
    3636+               { 
    37 +                       .name           = "adsl:green", 
     37+                       .name           = "adsl:red", 
    3838+                       .gpio           = 10, 
    3939+                       .active_low     = 1, 
     
    5050+               }, 
    5151+               { 
    52 +                       .name           = "internet:red", 
     52+                       .name           = "internet:green", 
    5353+                       .gpio           = 25, 
    5454+                       .active_low     = 1, 
    5555+               }, 
    5656+               { 
    57 +                       .name           = "internet:green", 
     57+                       .name           = "internet:red", 
    5858+                       .gpio           = 24, 
    5959+                       .active_low     = 1, 
     
    111111  
    112112        /* Buttons */ 
    113         struct gpio_button buttons[2]; 
     113        struct gpio_button buttons[4]; 
  • trunk/target/linux/brcm63xx/patches-3.2/977-ssb_export_fallback_sprom.patch

    r29731 r30819  
    11--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c 
    22+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c 
    3 @@ -2109,7 +2109,7 @@ static void __init nb4_nvram_fixup(void) 
     3@@ -2211,7 +2211,7 @@ static void __init nb4_nvram_fixup(void) 
    44  * bcm4318 WLAN work 
    55  */ 
     
    1010        .board_rev              = 0x17, 
    1111        .country_code           = 0x0, 
    12 @@ -2129,6 +2129,7 @@ static struct ssb_sprom bcm63xx_sprom = 
     12@@ -2231,6 +2231,7 @@ static struct ssb_sprom bcm63xx_sprom = 
    1313        .boardflags_lo          = 0x2848, 
    1414        .boardflags_hi          = 0x0000, 
  • trunk/target/linux/brcm63xx/patches-3.3/011-add_bcm63xx_ehci_controller.patch

    r30027 r30819  
    3535+ 
    3636 config USB_EHCI_FSL 
    37         bool "Support for Freescale on-chip EHCI USB controller" 
     37        bool "Support for Freescale PPC on-chip EHCI USB controller" 
    3838        depends on USB_EHCI_HCD && FSL_SOC 
    3939--- /dev/null 
  • trunk/target/linux/brcm63xx/patches-3.3/100-reset_buttons.patch

    r30027 r30819  
    101101+ 
    102102+       /* Buttons */ 
    103 +       struct gpio_button buttons[2]; 
     103+       struct gpio_button buttons[4]; 
    104104 }; 
    105105  
  • trunk/target/linux/brcm63xx/patches-3.3/200-extended-platform-devices.patch

    r30027 r30819  
    1616  
    1717        /* Buttons */ 
    18         struct gpio_button buttons[2]; 
     18        struct gpio_button buttons[4]; 
    1919+ 
    2020+       /* Additional platform devices */ 
  • trunk/target/linux/brcm63xx/patches-3.3/300-alice_gate2_leds.patch

    r30027 r30819  
    3030+               }, 
    3131+               { 
    32 +                       .name           = "adsl:red", 
     32+                       .name           = "adsl:green", 
    3333+                       .gpio           = 9, 
    3434+                       .active_low     = 1, 
    3535+               }, 
    3636+               { 
    37 +                       .name           = "adsl:green", 
     37+                       .name           = "adsl:red", 
    3838+                       .gpio           = 10, 
    3939+                       .active_low     = 1, 
     
    5050+               }, 
    5151+               { 
    52 +                       .name           = "internet:red", 
     52+                       .name           = "internet:green", 
    5353+                       .gpio           = 25, 
    5454+                       .active_low     = 1, 
    5555+               }, 
    5656+               { 
    57 +                       .name           = "internet:green", 
     57+                       .name           = "internet:red", 
    5858+                       .gpio           = 24, 
    5959+                       .active_low     = 1, 
     
    111111  
    112112        /* Buttons */ 
    113         struct gpio_button buttons[2]; 
     113        struct gpio_button buttons[4]; 
  • trunk/target/linux/brcm63xx/patches-3.3/977-ssb_export_fallback_sprom.patch

    r30027 r30819  
    11--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c 
    22+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c 
    3 @@ -2109,7 +2109,7 @@ static void __init nb4_nvram_fixup(void) 
     3@@ -2211,7 +2211,7 @@ static void __init nb4_nvram_fixup(void) 
    44  * bcm4318 WLAN work 
    55  */ 
     
    1010        .board_rev              = 0x17, 
    1111        .country_code           = 0x0, 
    12 @@ -2129,6 +2129,7 @@ static struct ssb_sprom bcm63xx_sprom = 
     12@@ -2231,6 +2231,7 @@ static struct ssb_sprom bcm63xx_sprom = 
    1313        .boardflags_lo          = 0x2848, 
    1414        .boardflags_hi          = 0x0000, 
  • trunk/target/linux/generic/patches-3.0/050-linux-atm_nathan.patch

    r30541 r30819  
    1515 1 files changed, 2 insertions(+), 0 deletions(-) 
    1616 
    17 diff --git a/drivers/atm/solos-attrlist.c b/drivers/atm/solos-attrlist.c 
    18 index 9a676ee..8092533 100644 
    1917--- a/drivers/atm/solos-attrlist.c 
    2018+++ b/drivers/atm/solos-attrlist.c 
     
    2826 SOLOS_ATTR_RW(AnnexAMaxMargin) 
    2927 SOLOS_ATTR_RW(AnnexMMaxMargin) 
    30  
    31 From: Nathan Williams <nathan@traverse.com.au> 
    32 To: netdev@vger.kernel.org 
    33 Date: Wed, 05 Oct 2011 15:44:17 +1100 
    34 Cc: linux-atm-general@lists.sourceforge.net, 
    35         David Woodhouse <dwmw2@infradead.org>, linux-kernel@vger.kernel.org 
    36 Subject: [Linux-ATM-General] [PATCH 2/4] atm: solos-pci: Remove annoying 
    37         line of debugging 
    38  
    39 "len: %d" isn't particularly useful for anyone and confuses users. 
    40  
    41 Signed-off-by: Nathan Williams <nathan@traverse.com.au> 
    42 --- 
    43  drivers/atm/solos-pci.c |    1 - 
    44  1 files changed, 0 insertions(+), 1 deletions(-) 
    45  
    46 diff --git a/drivers/atm/solos-pci.c b/drivers/atm/solos-pci.c 
    47 index 5d1d076..bd01aa3 100644 
    48 --- a/drivers/atm/solos-pci.c 
    49 +++ b/drivers/atm/solos-pci.c 
    50 @@ -452,7 +452,6 @@ static ssize_t console_show(struct device *dev, struct device_attribute *attr, 
    51   
    52         len = skb->len; 
    53         memcpy(buf, skb->data, len); 
    54 -       dev_dbg(&card->dev->dev, "len: %d\n", len); 
    55   
    56         kfree_skb(skb); 
    57         return len; 
    58 From: Nathan Williams <nathan@traverse.com.au> 
    59 To: netdev@vger.kernel.org 
    60 Date: Wed, 05 Oct 2011 15:45:15 +1100 
    61 Cc: linux-atm-general@lists.sourceforge.net, 
    62         David Woodhouse <dwmw2@infradead.org>, linux-kernel@vger.kernel.org 
    63 Subject: [Linux-ATM-General] [PATCH 3/4] atm: solos-pci: Add support for 
    64         Geos GPIO pins 
    65  
    66 Geos ADSL2+ routers have on-board Solos chipsets with some 
    67 extra I/O pins and a push button connected to the FPGA. 
    68  
    69 PCB version and variant numbers are also made available 
    70 through the HardwareVersion and HardwareVariant attributes. 
    71  
    72 Signed-off-by: Nathan Williams <nathan@traverse.com.au> 
    73 --- 
    74  drivers/atm/solos-pci.c |   98 +++++++++++++++++++++++++++++++++++++++++++++++ 
    75  1 files changed, 98 insertions(+), 0 deletions(-) 
    76  
    77 diff --git a/drivers/atm/solos-pci.c b/drivers/atm/solos-pci.c 
    78 index bd01aa3..33c0c2b 100644 
    79 --- a/drivers/atm/solos-pci.c 
    80 +++ b/drivers/atm/solos-pci.c 
    81 @@ -56,6 +56,7 @@ 
    82  #define FLASH_BUSY     0x60 
    83  #define FPGA_MODE      0x5C 
    84  #define FLASH_MODE     0x58 
    85 +#define GPIO_STATUS    0x54 
    86  #define TX_DMA_ADDR(port)      (0x40 + (4 * (port))) 
    87  #define RX_DMA_ADDR(port)      (0x30 + (4 * (port))) 
    88   
    89 @@ -498,6 +499,87 @@ static ssize_t console_store(struct device *dev, struct device_attribute *attr, 
    90         return err?:count; 
    91  } 
    92   
    93 +struct geos_gpio { 
    94 +       char *name; 
    95 +       int offset; 
    96 +}; 
    97 + 
    98 +static struct geos_gpio geos_gpio_pins[] = { 
    99 +       {"GPIO1", 9}, 
    100 +       {"GPIO2", 10}, 
    101 +       {"GPIO3", 11}, 
    102 +       {"GPIO4", 12}, 
    103 +       {"GPIO5", 13}, 
    104 +       {"PushButton", 14}, 
    105 +       {NULL, 0} 
    106 +}; 
    107 + 
    108 +static ssize_t geos_gpio_store(struct device *dev, struct device_attribute *attr, 
    109 +                              const char *buf, size_t count) 
    110 +{ 
    111 +       struct atm_dev *atmdev = container_of(dev, struct atm_dev, class_dev); 
    112 +       struct solos_card *card = atmdev->dev_data; 
    113 +       uint32_t data32; 
    114 + 
    115 +       struct geos_gpio *p = geos_gpio_pins; 
    116 +       while(p->name){ 
    117 +               if(!strcmp(attr->attr.name, p->name)){ 
    118 +                       break; 
    119 +               } 
    120 +               p++; 
    121 +       } 
    122 + 
    123 +       data32 = ioread32(card->config_regs + GPIO_STATUS); 
    124 +       if(buf[0] == '1'){ 
    125 +               data32 |= 1 << p->offset; 
    126 +               iowrite32(data32, card->config_regs + GPIO_STATUS); 
    127 +       } else if(buf[0] == '0') { 
    128 +               data32 &= ~(1 << p->offset); 
    129 +               iowrite32(data32, card->config_regs + GPIO_STATUS); 
    130 +       } 
    131 +       return count; 
    132 +} 
    133 + 
    134 +static ssize_t geos_gpio_show(struct device *dev, struct device_attribute *attr, 
    135 +                             char *buf) 
    136 +{ 
    137 +       struct atm_dev *atmdev = container_of(dev, struct atm_dev, class_dev); 
    138 +       struct solos_card *card = atmdev->dev_data; 
    139 +       uint32_t data32; 
    140 + 
    141 +       struct geos_gpio *p = geos_gpio_pins; 
    142 +       while(p->name){ 
    143 +               if(!strcmp(attr->attr.name, p->name)){ 
    144 +                       break; 
    145 +               } 
    146 +               p++; 
    147 +       } 
    148 + 
    149 +       data32 = ioread32(card->config_regs + GPIO_STATUS); 
    150 +       data32 = (data32 >> p->offset) & 1; 
    151 + 
    152 +       return sprintf(buf, "%d\n", data32); 
    153 +} 
    154 + 
    155 +static ssize_t hardware_show(struct device *dev, struct device_attribute *attr, 
    156 +                            char *buf) 
    157 +{ 
    158 +       struct atm_dev *atmdev = container_of(dev, struct atm_dev, class_dev); 
    159 +       struct solos_card *card = atmdev->dev_data; 
    160 +       uint32_t data32; 
    161 + 
    162 +       data32 = ioread32(card->config_regs + GPIO_STATUS); 
    163 +       if(!strcmp(attr->attr.name, "HardwareVersion")){ 
    164 +               data32 = data32 & 0x1F; 
    165 +               return sprintf(buf, "%d\n", data32); 
    166 +       } else if(!strcmp(attr->attr.name, "HardwareVariant")){ 
    167 +               data32 = (data32 >> 5) & 0x0F; 
    168 +               return sprintf(buf, "%d\n", data32); 
    169 +       } 
    170 + 
    171 +       return sprintf(buf, "Error\n"); 
    172 +} 
    173 + 
    174  static DEVICE_ATTR(console, 0644, console_show, console_store); 
    175   
    176   
    177 @@ -506,6 +588,14 @@ static DEVICE_ATTR(console, 0644, console_show, console_store); 
    178   
    179  #include "solos-attrlist.c" 
    180   
    181 +static DEVICE_ATTR(GPIO1, 0644, geos_gpio_show, geos_gpio_store); 
    182 +static DEVICE_ATTR(GPIO2, 0644, geos_gpio_show, geos_gpio_store); 
    183 +static DEVICE_ATTR(GPIO3, 0644, geos_gpio_show, geos_gpio_store); 
    184 +static DEVICE_ATTR(GPIO4, 0644, geos_gpio_show, geos_gpio_store); 
    185 +static DEVICE_ATTR(GPIO5, 0644, geos_gpio_show, geos_gpio_store); 
    186 +static DEVICE_ATTR(PushButton, 0444, geos_gpio_show, NULL); 
    187 +static DEVICE_ATTR(HardwareVersion, 0444, hardware_show, NULL); 
    188 +static DEVICE_ATTR(HardwareVariant, 0444, hardware_show, NULL); 
    189  #undef SOLOS_ATTR_RO 
    190  #undef SOLOS_ATTR_RW 
    191   
    192 @@ -514,6 +604,14 @@ static DEVICE_ATTR(console, 0644, console_show, console_store); 
    193   
    194  static struct attribute *solos_attrs[] = { 
    195  #include "solos-attrlist.c" 
    196 +       &dev_attr_GPIO1.attr, 
    197 +       &dev_attr_GPIO2.attr, 
    198 +       &dev_attr_GPIO3.attr, 
    199 +       &dev_attr_GPIO4.attr, 
    200 +       &dev_attr_GPIO5.attr, 
    201 +       &dev_attr_PushButton.attr, 
    202 +       &dev_attr_HardwareVersion.attr, 
    203 +       &dev_attr_HardwareVariant.attr, 
    204         NULL 
    205  }; 
    206   
    207 From: Nathan Williams <nathan@traverse.com.au> 
    208 To: netdev@vger.kernel.org 
    209 Date: Wed, 05 Oct 2011 15:46:08 +1100 
    210 Cc: linux-atm-general@lists.sourceforge.net, 
    211         David Woodhouse <dwmw2@infradead.org>, linux-kernel@vger.kernel.org 
    212 Subject: [Linux-ATM-General] [PATCH 4/4] atm: solos-pci: M25P/M25PE SPI 
    213         flash support 
    214  
    215 Newer Geos ADSL2+ routers have different SPI flash. 
    216 The FPGA on these boards require driver version = 1 to enable 
    217 flash upgrades so old drivers can't corrupt new boards. 
    218  
    219 Signed-off-by: Nathan Williams <nathan@traverse.com.au> 
    220 --- 
    221  drivers/atm/solos-pci.c |   51 ++++++++++++++++++++++++++++++++++++---------- 
    222  1 files changed, 40 insertions(+), 11 deletions(-) 
    223  
    224 diff --git a/drivers/atm/solos-pci.c b/drivers/atm/solos-pci.c 
    225 index 33c0c2b..2a75bf7 100644 
    22628--- a/drivers/atm/solos-pci.c 
    22729+++ b/drivers/atm/solos-pci.c 
     
    23638  
    23739 #define CONFIG_RAM_SIZE        128 
    238 @@ -57,16 +58,20 @@ 
     40@@ -56,16 +57,21 @@ 
     41 #define FLASH_BUSY     0x60 
    23942 #define FPGA_MODE      0x5C 
    24043 #define FLASH_MODE     0x58 
    241  #define GPIO_STATUS    0x54 
     44+#define GPIO_STATUS    0x54 
    24245+#define DRIVER_VER     0x50 
    24346 #define TX_DMA_ADDR(port)      (0x40 + (4 * (port))) 
     
    26164 #define RX_BUF(card, nr) ((card->buffers) + (nr)*(card->buffer_size)*2) 
    26265 #define TX_BUF(card, nr) ((card->buffers) + (nr)*(card->buffer_size)*2 + (card->buffer_size)) 
    263 @@ -128,6 +133,7 @@ struct solos_card { 
     66@@ -127,6 +133,7 @@ struct solos_card { 
    26467        int using_dma; 
    26568        int fpga_version; 
     
    26972  
    27073  
    271 @@ -631,16 +637,25 @@ static int flash_upgrade(struct solos_card *card, int chip) 
     74@@ -452,7 +459,6 @@ static ssize_t console_show(struct devic 
     75  
     76        len = skb->len; 
     77        memcpy(buf, skb->data, len); 
     78-       dev_dbg(&card->dev->dev, "len: %d\n", len); 
     79  
     80        kfree_skb(skb); 
     81        return len; 
     82@@ -499,6 +505,87 @@ static ssize_t console_store(struct devi 
     83        return err?:count; 
     84 } 
     85  
     86+struct geos_gpio { 
     87+       char *name; 
     88+       int offset; 
     89+}; 
     90+ 
     91+static struct geos_gpio geos_gpio_pins[] = { 
     92+       {"GPIO1", 9}, 
     93+       {"GPIO2", 10}, 
     94+       {"GPIO3", 11}, 
     95+       {"GPIO4", 12}, 
     96+       {"GPIO5", 13}, 
     97+       {"PushButton", 14}, 
     98+       {NULL, 0} 
     99+}; 
     100+ 
     101+static ssize_t geos_gpio_store(struct device *dev, struct device_attribute *attr, 
     102+                              const char *buf, size_t count) 
     103+{ 
     104+       struct atm_dev *atmdev = container_of(dev, struct atm_dev, class_dev); 
     105+       struct solos_card *card = atmdev->dev_data; 
     106+       uint32_t data32; 
     107+ 
     108+       struct geos_gpio *p = geos_gpio_pins; 
     109+       while(p->name){ 
     110+               if(!strcmp(attr->attr.name, p->name)){ 
     111+                       break; 
     112+               } 
     113+               p++; 
     114+       } 
     115+ 
     116+       data32 = ioread32(card->config_regs + GPIO_STATUS); 
     117+       if(buf[0] == '1'){ 
     118+               data32 |= 1 << p->offset; 
     119+               iowrite32(data32, card->config_regs + GPIO_STATUS); 
     120+       } else if(buf[0] == '0') { 
     121+               data32 &= ~(1 << p->offset); 
     122+               iowrite32(data32, card->config_regs + GPIO_STATUS); 
     123+       } 
     124+       return count; 
     125+} 
     126+ 
     127+static ssize_t geos_gpio_show(struct device *dev, struct device_attribute *attr, 
     128+                             char *buf) 
     129+{ 
     130+       struct atm_dev *atmdev = container_of(dev, struct atm_dev, class_dev); 
     131+       struct solos_card *card = atmdev->dev_data; 
     132+       uint32_t data32; 
     133+ 
     134+       struct geos_gpio *p = geos_gpio_pins; 
     135+       while(p->name){ 
     136+               if(!strcmp(attr->attr.name, p->name)){ 
     137+                       break; 
     138+               } 
     139+               p++; 
     140+       } 
     141+ 
     142+       data32 = ioread32(card->config_regs + GPIO_STATUS); 
     143+       data32 = (data32 >> p->offset) & 1; 
     144+ 
     145+       return sprintf(buf, "%d\n", data32); 
     146+} 
     147+ 
     148+static ssize_t hardware_show(struct device *dev, struct device_attribute *attr, 
     149+                            char *buf) 
     150+{ 
     151+       struct atm_dev *atmdev = container_of(dev, struct atm_dev, class_dev); 
     152+       struct solos_card *card = atmdev->dev_data; 
     153+       uint32_t data32; 
     154+ 
     155+       data32 = ioread32(card->config_regs + GPIO_STATUS); 
     156+       if(!strcmp(attr->attr.name, "HardwareVersion")){ 
     157+               data32 = data32 & 0x1F; 
     158+               return sprintf(buf, "%d\n", data32); 
     159+       } else if(!strcmp(attr->attr.name, "HardwareVariant")){ 
     160+               data32 = (data32 >> 5) & 0x0F; 
     161+               return sprintf(buf, "%d\n", data32); 
     162+       } 
     163+ 
     164+       return sprintf(buf, "Error\n"); 
     165+} 
     166+ 
     167 static DEVICE_ATTR(console, 0644, console_show, console_store); 
     168  
     169  
     170@@ -507,6 +594,14 @@ static DEVICE_ATTR(console, 0644, consol 
     171  
     172 #include "solos-attrlist.c" 
     173  
     174+static DEVICE_ATTR(GPIO1, 0644, geos_gpio_show, geos_gpio_store); 
     175+static DEVICE_ATTR(GPIO2, 0644, geos_gpio_show, geos_gpio_store); 
     176+static DEVICE_ATTR(GPIO3, 0644, geos_gpio_show, geos_gpio_store); 
     177+static DEVICE_ATTR(GPIO4, 0644, geos_gpio_show, geos_gpio_store); 
     178+static DEVICE_ATTR(GPIO5, 0644, geos_gpio_show, geos_gpio_store); 
     179+static DEVICE_ATTR(PushButton, 0444, geos_gpio_show, NULL); 
     180+static DEVICE_ATTR(HardwareVersion, 0444, hardware_show, NULL); 
     181+static DEVICE_ATTR(HardwareVariant, 0444, hardware_show, NULL); 
     182 #undef SOLOS_ATTR_RO 
     183 #undef SOLOS_ATTR_RW 
     184  
     185@@ -515,6 +610,14 @@ static DEVICE_ATTR(console, 0644, consol 
     186  
     187 static struct attribute *solos_attrs[] = { 
     188 #include "solos-attrlist.c" 
     189+       &dev_attr_GPIO1.attr, 
     190+       &dev_attr_GPIO2.attr, 
     191+       &dev_attr_GPIO3.attr, 
     192+       &dev_attr_GPIO4.attr, 
     193+       &dev_attr_GPIO5.attr, 
     194+       &dev_attr_PushButton.attr, 
     195+       &dev_attr_HardwareVersion.attr, 
     196+       &dev_attr_HardwareVariant.attr, 
     197        NULL 
     198 }; 
     199  
     200@@ -534,16 +637,25 @@ static int flash_upgrade(struct solos_ca 
    272201        switch (chip) { 
    273202        case 0: 
     
    298227                        dev_info(&card->dev->dev, "FPGA version doesn't support" 
    299228                                        " daughter board upgrades\n"); 
    300 @@ -650,7 +665,10 @@ static int flash_upgrade(struct solos_card *card, int chip) 
     229@@ -553,7 +665,10 @@ static int flash_upgrade(struct solos_ca 
    301230        case 3: 
    302231                if (card->fpga_version > LEGACY_BUFFERS){ 
     
    310239                        dev_info(&card->dev->dev, "FPGA version doesn't support" 
    311240                                        " daughter board upgrades\n"); 
    312 @@ -695,9 +713,13 @@ static int flash_upgrade(struct solos_card *card, int chip) 
     241@@ -598,9 +713,13 @@ static int flash_upgrade(struct solos_ca 
    313242                /* dev_info(&card->dev->dev, "Set FPGA Flash mode to Block Write\n"); */ 
    314243                iowrite32(((chip * 2) + 1), card->config_regs + FLASH_MODE); 
     
    326255                                iowrite32(word, FLASH_BUF + i); 
    327256                        else 
    328 @@ -1249,6 +1271,11 @@ static int fpga_probe(struct pci_dev *dev, const struct pci_device_id *id) 
     257@@ -1152,6 +1271,11 @@ static int fpga_probe(struct pci_dev *de 
    329258                db_fpga_upgrade = db_firmware_upgrade = 0; 
    330259        } 
     
    338267                card->using_dma = 1; 
    339268        } else { 
    340 @@ -1256,6 +1283,8 @@ static int fpga_probe(struct pci_dev *dev, const struct pci_device_id *id) 
     269@@ -1159,6 +1283,8 @@ static int fpga_probe(struct pci_dev *de 
    341270                /* Set RX empty flag for all ports */ 
    342271                iowrite32(0xF0, card->config_regs + FLAGS_ADDR); 
  • trunk/target/linux/generic/patches-3.0/321-powerpc_crtsavres_prereq.patch

    r30816 r30819  
    99 ifeq ($(CONFIG_TUNE_CELL),y) 
    1010        KBUILD_CFLAGS += $(call cc-option,-mtune=cell) 
    11  
  • trunk/target/linux/generic/patches-3.1/050-linux-atm_nathan.patch

    r30541 r30819  
    1515 1 files changed, 2 insertions(+), 0 deletions(-) 
    1616 
    17 diff --git a/drivers/atm/solos-attrlist.c b/drivers/atm/solos-attrlist.c 
    18 index 9a676ee..8092533 100644 
    1917--- a/drivers/atm/solos-attrlist.c 
    2018+++ b/drivers/atm/solos-attrlist.c 
     
    2826 SOLOS_ATTR_RW(AnnexAMaxMargin) 
    2927 SOLOS_ATTR_RW(AnnexMMaxMargin) 
    30  
    31 From: Nathan Williams <nathan@traverse.com.au> 
    32 To: netdev@vger.kernel.org 
    33 Date: Wed, 05 Oct 2011 15:44:17 +1100 
    34 Cc: linux-atm-general@lists.sourceforge.net, 
    35         David Woodhouse <dwmw2@infradead.org>, linux-kernel@vger.kernel.org 
    36 Subject: [Linux-ATM-General] [PATCH 2/4] atm: solos-pci: Remove annoying 
    37         line of debugging 
    38  
    39 "len: %d" isn't particularly useful for anyone and confuses users. 
    40  
    41 Signed-off-by: Nathan Williams <nathan@traverse.com.au> 
    42 --- 
    43  drivers/atm/solos-pci.c |    1 - 
    44  1 files changed, 0 insertions(+), 1 deletions(-) 
    45  
    46 diff --git a/drivers/atm/solos-pci.c b/drivers/atm/solos-pci.c 
    47 index 5d1d076..bd01aa3 100644 
    48 --- a/drivers/atm/solos-pci.c 
    49 +++ b/drivers/atm/solos-pci.c 
    50 @@ -452,7 +452,6 @@ static ssize_t console_show(struct device *dev, struct device_attribute *attr, 
    51   
    52         len = skb->len; 
    53         memcpy(buf, skb->data, len); 
    54 -       dev_dbg(&card->dev->dev, "len: %d\n", len); 
    55   
    56         kfree_skb(skb); 
    57         return len; 
    58 From: Nathan Williams <nathan@traverse.com.au> 
    59 To: netdev@vger.kernel.org 
    60 Date: Wed, 05 Oct 2011 15:45:15 +1100 
    61 Cc: linux-atm-general@lists.sourceforge.net, 
    62         David Woodhouse <dwmw2@infradead.org>, linux-kernel@vger.kernel.org 
    63 Subject: [Linux-ATM-General] [PATCH 3/4] atm: solos-pci: Add support for 
    64         Geos GPIO pins 
    65  
    66 Geos ADSL2+ routers have on-board Solos chipsets with some 
    67 extra I/O pins and a push button connected to the FPGA. 
    68  
    69 PCB version and variant numbers are also made available 
    70 through the HardwareVersion and HardwareVariant attributes. 
    71  
    72 Signed-off-by: Nathan Williams <nathan@traverse.com.au> 
    73 --- 
    74  drivers/atm/solos-pci.c |   98 +++++++++++++++++++++++++++++++++++++++++++++++ 
    75  1 files changed, 98 insertions(+), 0 deletions(-) 
    76  
    77 diff --git a/drivers/atm/solos-pci.c b/drivers/atm/solos-pci.c 
    78 index bd01aa3..33c0c2b 100644 
    79 --- a/drivers/atm/solos-pci.c 
    80 +++ b/drivers/atm/solos-pci.c 
    81 @@ -56,6 +56,7 @@ 
    82  #define FLASH_BUSY     0x60 
    83  #define FPGA_MODE      0x5C 
    84  #define FLASH_MODE     0x58 
    85 +#define GPIO_STATUS    0x54 
    86  #define TX_DMA_ADDR(port)      (0x40 + (4 * (port))) 
    87  #define RX_DMA_ADDR(port)      (0x30 + (4 * (port))) 
    88   
    89 @@ -498,6 +499,87 @@ static ssize_t console_store(struct device *dev, struct device_attribute *attr, 
    90         return err?:count; 
    91  } 
    92   
    93 +struct geos_gpio { 
    94 +       char *name; 
    95 +       int offset; 
    96 +}; 
    97 + 
    98 +static struct geos_gpio geos_gpio_pins[] = { 
    99 +       {"GPIO1", 9}, 
    100 +       {"GPIO2", 10}, 
    101 +       {"GPIO3", 11}, 
    102 +       {"GPIO4", 12}, 
    103 +       {"GPIO5", 13}, 
    104 +       {"PushButton", 14}, 
    105 +       {NULL, 0} 
    106 +}; 
    107 + 
    108 +static ssize_t geos_gpio_store(struct device *dev, struct device_attribute *attr, 
    109 +                              const char *buf, size_t count) 
    110 +{ 
    111 +       struct atm_dev *atmdev = container_of(dev, struct atm_dev, class_dev); 
    112 +       struct solos_card *card = atmdev->dev_data; 
    113 +       uint32_t data32; 
    114 + 
    115 +       struct geos_gpio *p = geos_gpio_pins; 
    116 +       while(p->name){ 
    117 +               if(!strcmp(attr->attr.name, p->name)){ 
    118 +                       break; 
    119 +               } 
    120 +               p++; 
    121 +       } 
    122 + 
    123 +       data32 = ioread32(card->config_regs + GPIO_STATUS); 
    124 +       if(buf[0] == '1'){ 
    125 +               data32 |= 1 << p->offset; 
    126 +               iowrite32(data32, card->config_regs + GPIO_STATUS); 
    127 +       } else if(buf[0] == '0') { 
    128 +               data32 &= ~(1 << p->offset); 
    129 +               iowrite32(data32, card->config_regs + GPIO_STATUS); 
    130 +       } 
    131 +       return count; 
    132 +} 
    133 + 
    134 +static ssize_t geos_gpio_show(struct device *dev, struct device_attribute *attr, 
    135 +                             char *buf) 
    136 +{ 
    137 +       struct atm_dev *atmdev = container_of(dev, struct atm_dev, class_dev); 
    138 +       struct solos_card *card = atmdev->dev_data; 
    139 +       uint32_t data32; 
    140 + 
    141 +       struct geos_gpio *p = geos_gpio_pins; 
    142 +       while(p->name){ 
    143 +               if(!strcmp(attr->attr.name, p->name)){ 
    144 +                       break; 
    145 +               } 
    146 +               p++; 
    147 +       } 
    148 + 
    149 +       data32 = ioread32(card->config_regs + GPIO_STATUS); 
    150 +       data32 = (data32 >> p->offset) & 1; 
    151 + 
    152 +       return sprintf(buf, "%d\n", data32); 
    153 +} 
    154 + 
    155 +static ssize_t hardware_show(struct device *dev, struct device_attribute *attr, 
    156 +                            char *buf) 
    157 +{ 
    158 +       struct atm_dev *atmdev = container_of(dev, struct atm_dev, class_dev); 
    159 +       struct solos_card *card = atmdev->dev_data; 
    160 +       uint32_t data32; 
    161 + 
    162 +       data32 = ioread32(card->config_regs + GPIO_STATUS); 
    163 +       if(!strcmp(attr->attr.name, "HardwareVersion")){ 
    164 +               data32 = data32 & 0x1F; 
    165 +               return sprintf(buf, "%d\n", data32); 
    166 +       } else if(!strcmp(attr->attr.name, "HardwareVariant")){ 
    167 +               data32 = (data32 >> 5) & 0x0F; 
    168 +               return sprintf(buf, "%d\n", data32); 
    169 +       } 
    170 + 
    171 +       return sprintf(buf, "Error\n"); 
    172 +} 
    173 + 
    174  static DEVICE_ATTR(console, 0644, console_show, console_store); 
    175   
    176   
    177 @@ -506,6 +588,14 @@ static DEVICE_ATTR(console, 0644, console_show, console_store); 
    178   
    179  #include "solos-attrlist.c" 
    180   
    181 +static DEVICE_ATTR(GPIO1, 0644, geos_gpio_show, geos_gpio_store); 
    182 +static DEVICE_ATTR(GPIO2, 0644, geos_gpio_show, geos_gpio_store); 
    183 +static DEVICE_ATTR(GPIO3, 0644, geos_gpio_show, geos_gpio_store); 
    184 +static DEVICE_ATTR(GPIO4, 0644, geos_gpio_show, geos_gpio_store); 
    185 +static DEVICE_ATTR(GPIO5, 0644, geos_gpio_show, geos_gpio_store); 
    186 +static DEVICE_ATTR(PushButton, 0444, geos_gpio_show, NULL); 
    187 +static DEVICE_ATTR(HardwareVersion, 0444, hardware_show, NULL); 
    188 +static DEVICE_ATTR(HardwareVariant, 0444, hardware_show, NULL); 
    189  #undef SOLOS_ATTR_RO 
    190  #undef SOLOS_ATTR_RW 
    191   
    192 @@ -514,6 +604,14 @@ static DEVICE_ATTR(console, 0644, console_show, console_store); 
    193   
    194  static struct attribute *solos_attrs[] = { 
    195  #include "solos-attrlist.c" 
    196 +       &dev_attr_GPIO1.attr, 
    197 +       &dev_attr_GPIO2.attr, 
    198 +       &dev_attr_GPIO3.attr, 
    199 +       &dev_attr_GPIO4.attr, 
    200 +       &dev_attr_GPIO5.attr, 
    201 +       &dev_attr_PushButton.attr, 
    202 +       &dev_attr_HardwareVersion.attr, 
    203 +       &dev_attr_HardwareVariant.attr, 
    204         NULL 
    205  }; 
    206   
    207 From: Nathan Williams <nathan@traverse.com.au> 
    208 To: netdev@vger.kernel.org 
    209 Date: Wed, 05 Oct 2011 15:46:08 +1100 
    210 Cc: linux-atm-general@lists.sourceforge.net, 
    211         David Woodhouse <dwmw2@infradead.org>, linux-kernel@vger.kernel.org 
    212 Subject: [Linux-ATM-General] [PATCH 4/4] atm: solos-pci: M25P/M25PE SPI 
    213         flash support 
    214  
    215 Newer Geos ADSL2+ routers have different SPI flash. 
    216 The FPGA on these boards require driver version = 1 to enable 
    217 flash upgrades so old drivers can't corrupt new boards. 
    218  
    219 Signed-off-by: Nathan Williams <nathan@traverse.com.au> 
    220 --- 
    221  drivers/atm/solos-pci.c |   51 ++++++++++++++++++++++++++++++++++++---------- 
    222  1 files changed, 40 insertions(+), 11 deletions(-) 
    223  
    224 diff --git a/drivers/atm/solos-pci.c b/drivers/atm/solos-pci.c 
    225 index 33c0c2b..2a75bf7 100644 
    22628--- a/drivers/atm/solos-pci.c 
    22729+++ b/drivers/atm/solos-pci.c 
     
    23638  
    23739 #define CONFIG_RAM_SIZE        128 
    238 @@ -57,16 +58,20 @@ 
     40@@ -56,16 +57,21 @@ 
     41 #define FLASH_BUSY     0x60 
    23942 #define FPGA_MODE      0x5C 
    24043 #define FLASH_MODE     0x58 
    241  #define GPIO_STATUS    0x54 
     44+#define GPIO_STATUS    0x54 
    24245+#define DRIVER_VER     0x50 
    24346 #define TX_DMA_ADDR(port)      (0x40 + (4 * (port))) 
     
    26164 #define RX_BUF(card, nr) ((card->buffers) + (nr)*(card->buffer_size)*2) 
    26265 #define TX_BUF(card, nr) ((card->buffers) + (nr)*(card->buffer_size)*2 + (card->buffer_size)) 
    263 @@ -128,6 +133,7 @@ struct solos_card { 
     66@@ -127,6 +133,7 @@ struct solos_card { 
    26467        int using_dma; 
    26568        int fpga_version; 
     
    26972  
    27073  
    271 @@ -631,16 +637,25 @@ static int flash_upgrade(struct solos_card *card, int chip) 
     74@@ -452,7 +459,6 @@ static ssize_t console_show(struct devic 
     75  
     76        len = skb->len; 
     77        memcpy(buf, skb->data, len); 
     78-       dev_dbg(&card->dev->dev, "len: %d\n", len); 
     79  
     80        kfree_skb(skb); 
     81        return len; 
     82@@ -499,6 +505,87 @@ static ssize_t console_store(struct devi 
     83        return err?:count; 
     84 } 
     85  
     86+struct geos_gpio { 
     87+       char *name; 
     88+       int offset; 
     89+}; 
     90+ 
     91+static struct geos_gpio geos_gpio_pins[] = { 
     92+       {"GPIO1", 9}, 
     93+       {"GPIO2", 10}, 
     94+       {"GPIO3", 11}, 
     95+       {"GPIO4", 12}, 
     96+       {"GPIO5", 13}, 
     97+       {"PushButton", 14}, 
     98+       {NULL, 0} 
     99+}; 
     100+ 
     101+static ssize_t geos_gpio_store(struct device *dev, struct device_attribute *attr, 
     102+                              const char *buf, size_t count) 
     103+{ 
     104+       struct atm_dev *atmdev = container_of(dev, struct atm_dev, class_dev); 
     105+       struct solos_card *card = atmdev->dev_data; 
     106+       uint32_t data32; 
     107+ 
     108+       struct geos_gpio *p = geos_gpio_pins; 
     109+       while(p->name){ 
     110+               if(!strcmp(attr->attr.name, p->name)){ 
     111+                       break; 
     112+               } 
     113+               p++; 
     114+       } 
     115+ 
     116+       data32 = ioread32(card->config_regs + GPIO_STATUS); 
     117+       if(buf[0] == '1'){ 
     118+               data32 |= 1 << p->offset; 
     119+               iowrite32(data32, card->config_regs + GPIO_STATUS); 
     120+       } else if(buf[0] == '0') { 
     121+               data32 &= ~(1 << p->offset); 
     122+               iowrite32(data32, card->config_regs + GPIO_STATUS); 
     123+       } 
     124+       return count; 
     125+} 
     126+ 
     127+static ssize_t geos_gpio_show(struct device *dev, struct device_attribute *attr, 
     128+                             char *buf) 
     129+{ 
     130+       struct atm_dev *atmdev = container_of(dev, struct atm_dev, class_dev); 
     131+       struct solos_card *card = atmdev->dev_data; 
     132+       uint32_t data32; 
     133+ 
     134+       struct geos_gpio *p = geos_gpio_pins; 
     135+       while(p->name){ 
     136+               if(!strcmp(attr->attr.name, p->name)){ 
     137+                       break; 
     138+               } 
     139+               p++; 
     140+       } 
     141+ 
     142+       data32 = ioread32(card->config_regs + GPIO_STATUS); 
     143+       data32 = (data32 >> p->offset) & 1; 
     144+ 
     145+       return sprintf(buf, "%d\n", data32); 
     146+} 
     147+ 
     148+static ssize_t hardware_show(struct device *dev, struct device_attribute *attr, 
     149+                            char *buf) 
     150+{ 
     151+       struct atm_dev *atmdev = container_of(dev, struct atm_dev, class_dev); 
     152+       struct solos_card *card = atmdev->dev_data; 
     153+       uint32_t data32; 
     154+ 
     155+       data32 = ioread32(card->config_regs + GPIO_STATUS); 
     156+       if(!strcmp(attr->attr.name, "HardwareVersion")){ 
     157+               data32 = data32 & 0x1F; 
     158+               return sprintf(buf, "%d\n", data32); 
     159+       } else if(!strcmp(attr->attr.name, "HardwareVariant")){ 
     160+               data32 = (data32 >> 5) & 0x0F; 
     161+               return sprintf(buf, "%d\n", data32); 
     162+       } 
     163+ 
     164+       return sprintf(buf, "Error\n"); 
     165+} 
     166+ 
     167 static DEVICE_ATTR(console, 0644, console_show, console_store); 
     168  
     169  
     170@@ -507,6 +594,14 @@ static DEVICE_ATTR(console, 0644, consol 
     171  
     172 #include "solos-attrlist.c" 
     173  
     174+static DEVICE_ATTR(GPIO1, 0644, geos_gpio_show, geos_gpio_store); 
     175+static DEVICE_ATTR(GPIO2, 0644, geos_gpio_show, geos_gpio_store); 
     176+static DEVICE_ATTR(GPIO3, 0644, geos_gpio_show, geos_gpio_store); 
     177+static DEVICE_ATTR(GPIO4, 0644, geos_gpio_show, geos_gpio_store); 
     178+static DEVICE_ATTR(GPIO5, 0644, geos_gpio_show, geos_gpio_store); 
     179+static DEVICE_ATTR(PushButton, 0444, geos_gpio_show, NULL); 
     180+static DEVICE_ATTR(HardwareVersion, 0444, hardware_show, NULL); 
     181+static DEVICE_ATTR(HardwareVariant, 0444, hardware_show, NULL); 
     182 #undef SOLOS_ATTR_RO 
     183 #undef SOLOS_ATTR_RW 
     184  
     185@@ -515,6 +610,14 @@ static DEVICE_ATTR(console, 0644, consol 
     186  
     187 static struct attribute *solos_attrs[] = { 
     188 #include "solos-attrlist.c" 
     189+       &dev_attr_GPIO1.attr, 
     190+       &dev_attr_GPIO2.attr, 
     191+       &dev_attr_GPIO3.attr, 
     192+       &dev_attr_GPIO4.attr, 
     193+       &dev_attr_GPIO5.attr, 
     194+       &dev_attr_PushButton.attr, 
     195+       &dev_attr_HardwareVersion.attr, 
     196+       &dev_attr_HardwareVariant.attr, 
     197        NULL 
     198 }; 
     199  
     200@@ -534,16 +637,25 @@ static int flash_upgrade(struct solos_ca 
    272201        switch (chip) { 
    273202        case 0: 
     
    298227                        dev_info(&card->dev->dev, "FPGA version doesn't support" 
    299228                                        " daughter board upgrades\n"); 
    300 @@ -650,7 +665,10 @@ static int flash_upgrade(struct solos_card *card, int chip) 
     229@@ -553,7 +665,10 @@ static int flash_upgrade(struct solos_ca 
    301230        case 3: 
    302231                if (card->fpga_version > LEGACY_BUFFERS){ 
     
    310239                        dev_info(&card->dev->dev, "FPGA version doesn't support" 
    311240                                        " daughter board upgrades\n"); 
    312 @@ -695,9 +713,13 @@ static int flash_upgrade(struct solos_card *card, int chip) 
     241@@ -598,9 +713,13 @@ static int flash_upgrade(struct solos_ca 
    313242                /* dev_info(&card->dev->dev, "Set FPGA Flash mode to Block Write\n"); */ 
    314243                iowrite32(((chip * 2) + 1), card->config_regs + FLASH_MODE); 
     
    326255                                iowrite32(word, FLASH_BUF + i); 
    327256                        else 
    328 @@ -1249,6 +1271,11 @@ static int fpga_probe(struct pci_dev *dev, const struct pci_device_id *id) 
     257@@ -1152,6 +1271,11 @@ static int fpga_probe(struct pci_dev *de 
    329258                db_fpga_upgrade = db_firmware_upgrade = 0; 
    330259        } 
     
    338267                card->using_dma = 1; 
    339268        } else { 
    340 @@ -1256,6 +1283,8 @@ static int fpga_probe(struct pci_dev *dev, const struct pci_device_id *id) 
     269@@ -1159,6 +1283,8 @@ static int fpga_probe(struct pci_dev *de 
    341270                /* Set RX empty flag for all ports */ 
    342271                iowrite32(0xF0, card->config_regs + FLAGS_ADDR); 
  • trunk/target/linux/generic/patches-3.1/321-powerpc_crtsavres_prereq.patch

    r30816 r30819  
    99 ifeq ($(CONFIG_TUNE_CELL),y) 
    1010        KBUILD_CFLAGS += $(call cc-option,-mtune=cell) 
    11  
  • trunk/target/linux/generic/patches-3.2/321-powerpc_crtsavres_prereq.patch

    r30816 r30819  
    99 ifeq ($(CONFIG_TUNE_CELL),y) 
    1010        KBUILD_CFLAGS += $(call cc-option,-mtune=cell) 
    11  
  • trunk/target/linux/generic/patches-3.2/340-module_alloc_size_check.patch

    r30813 r30819  
    11--- a/kernel/module.c 
    22+++ b/kernel/module.c 
    3 @@ -2286,12 +2286,15 @@ 
     3@@ -2283,12 +2283,15 @@ static void dynamic_debug_remove(struct 
    44  
    55 void * __weak module_alloc(unsigned long size) 
  • trunk/target/linux/generic/patches-3.3/321-powerpc_crtsavres_prereq.patch

    r30816 r30819  
    99 ifeq ($(CONFIG_TUNE_CELL),y) 
    1010        KBUILD_CFLAGS += $(call cc-option,-mtune=cell) 
    11  
  • trunk/target/linux/generic/patches-3.3/340-module_alloc_size_check.patch

    r30813 r30819  
    11--- a/kernel/module.c 
    22+++ b/kernel/module.c 
    3 @@ -2322,12 +2322,15 @@ 
     3@@ -2322,12 +2322,15 @@ static void dynamic_debug_remove(struct 
    44  
    55 void * __weak module_alloc(unsigned long size) 
Note: See TracChangeset for help on using the changeset viewer.