Changeset 27295


Ignore:
Timestamp:
2011-06-27T23:28:40+02:00 (7 years ago)
Author:
hauke
Message:

kernel: update ssb and bcma to linux-next next-20110627

Location:
trunk
Files:
5 added
3 deleted
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/target/linux/brcm47xx/patches-2.6.39/220-bcm5354.patch

    r26127 r27295  
    11--- a/drivers/ssb/driver_chipcommon.c 
    22+++ b/drivers/ssb/driver_chipcommon.c 
    3 @@ -285,6 +285,8 @@ void ssb_chipco_resume(struct ssb_chipco 
     3@@ -317,6 +317,8 @@ void ssb_chipco_resume(struct ssb_chipco 
    44 void ssb_chipco_get_clockcpu(struct ssb_chipcommon *cc, 
    55                              u32 *plltype, u32 *n, u32 *m) 
     
    1010        *plltype = (cc->capabilities & SSB_CHIPCO_CAP_PLLT); 
    1111        switch (*plltype) { 
    12 @@ -308,6 +310,8 @@ void ssb_chipco_get_clockcpu(struct ssb_ 
     12@@ -340,6 +342,8 @@ void ssb_chipco_get_clockcpu(struct ssb_ 
    1313 void ssb_chipco_get_clockcontrol(struct ssb_chipcommon *cc, 
    1414                                 u32 *plltype, u32 *n, u32 *m) 
     
    3232--- a/drivers/ssb/main.c 
    3333+++ b/drivers/ssb/main.c 
    34 @@ -1103,6 +1103,8 @@ u32 ssb_clockspeed(struct ssb_bus *bus) 
     34@@ -1104,6 +1104,8 @@ u32 ssb_clockspeed(struct ssb_bus *bus) 
    3535  
    3636        if (bus->chip_id == 0x5365) { 
  • trunk/target/linux/brcm47xx/patches-2.6.39/976-ssb_increase_pci_delay.patch

    r25085 r27295  
    11--- a/drivers/ssb/driver_pcicore.c 
    22+++ b/drivers/ssb/driver_pcicore.c 
    3 @@ -370,7 +370,7 @@ static void ssb_pcicore_init_hostmode(st 
     3@@ -375,7 +375,7 @@ static void __devinit ssb_pcicore_init_h 
    44        set_io_port_base(ssb_pcicore_controller.io_map_base); 
    55        /* Give some time to the PCI controller to configure itself with the new 
  • trunk/target/linux/brcm63xx/patches-2.6.39/500-ssb-add-callback-for-sprom.patch

    r27284 r27295  
    3131 #endif 
    3232  
    33 --- a/drivers/ssb/pci.c 
    34 +++ b/drivers/ssb/pci.c 
    35 @@ -662,7 +662,6 @@ static int sprom_extract(struct ssb_bus 
    36  static int ssb_pci_sprom_get(struct ssb_bus *bus, 
    37                              struct ssb_sprom *sprom) 
    38  { 
    39 -       const struct ssb_sprom *fallback; 
    40         int err; 
    41         u16 *buf; 
    42   
    43 @@ -707,10 +706,14 @@ static int ssb_pci_sprom_get(struct ssb_ 
    44                 if (err) { 
    45                         /* All CRC attempts failed. 
    46                          * Maybe there is no SPROM on the device? 
    47 -                        * If we have a fallback, use that. */ 
    48 -                       fallback = ssb_get_fallback_sprom(); 
    49 -                       if (fallback) { 
    50 -                               memcpy(sprom, fallback, sizeof(*sprom)); 
    51 +                        * Now we ask the arch code if there is some sprom 
    52 +                        * avaliable for this device in some other storage */ 
    53 +                       err = ssb_fill_sprom_with_fallback(bus, sprom); 
    54 +                       if (err) { 
    55 +                               ssb_printk(KERN_WARNING PFX "WARNING: Using" 
    56 +                                          " fallback SPROM failed (err %d)\n", 
    57 +                                          err); 
    58 +                       } else { 
    59                                 err = 0; 
    60                                 goto out_free; 
    61                         } 
    62 --- a/drivers/ssb/sprom.c 
    63 +++ b/drivers/ssb/sprom.c 
    64 @@ -17,7 +17,7 @@ 
    65  #include <linux/slab.h> 
    66   
    67   
    68 -static const struct ssb_sprom *fallback_sprom; 
    69 +static int(*get_fallback_sprom)(struct ssb_bus *dev, struct ssb_sprom *out); 
    70   
    71   
    72  static int sprom2hex(const u16 *sprom, char *buf, size_t buf_len, 
    73 @@ -145,13 +145,14 @@ out: 
    74  } 
    75   
    76  /** 
    77 - * ssb_arch_set_fallback_sprom - Set a fallback SPROM for use if no SPROM is found. 
    78 + * ssb_arch_register_fallback_sprom - Registers a method providing a fallback 
    79 + * SPROM if no SPROM is found. 
    80   * 
    81 - * @sprom: The SPROM data structure to register. 
    82 + * @sprom_callback: The callbcak function. 
    83   * 
    84 - * With this function the architecture implementation may register a fallback 
    85 - * SPROM data structure. The fallback is only used for PCI based SSB devices, 
    86 - * where no valid SPROM can be found in the shadow registers. 
    87 + * With this function the architecture implementation may register a callback 
    88 + * handler which wills the SPROM data structure. The fallback is only used for 
    89 + * PCI based SSB devices, where no valid SPROM can be found in the shadow registers. 
    90   * 
    91   * This function is useful for weird architectures that have a half-assed SSB device 
    92   * hardwired to their PCI bus. 
    93 @@ -163,18 +164,21 @@ out: 
    94   * 
    95   * This function is available for architecture code, only. So it is not exported. 
    96   */ 
    97 -int ssb_arch_set_fallback_sprom(const struct ssb_sprom *sprom) 
    98 +int ssb_arch_register_fallback_sprom(int (*sprom_callback)(struct ssb_bus *bus, struct ssb_sprom *out)) 
    99  { 
    100 -       if (fallback_sprom) 
    101 +       if (get_fallback_sprom) 
    102                 return -EEXIST; 
    103 -       fallback_sprom = sprom; 
    104 +       get_fallback_sprom = sprom_callback; 
    105   
    106         return 0; 
    107  } 
    108   
    109 -const struct ssb_sprom *ssb_get_fallback_sprom(void) 
    110 +int ssb_fill_sprom_with_fallback(struct ssb_bus *bus, struct ssb_sprom *out) 
    111  { 
    112 -       return fallback_sprom; 
    113 +       if (!get_fallback_sprom) 
    114 +               return -ENOENT; 
    115 + 
    116 +       return get_fallback_sprom(bus, out); 
    117  } 
    118   
    119  /* http://bcm-v4.sipsolutions.net/802.11/IsSpromAvailable */ 
    120 --- a/drivers/ssb/ssb_private.h 
    121 +++ b/drivers/ssb/ssb_private.h 
    122 @@ -171,7 +171,7 @@ ssize_t ssb_attr_sprom_store(struct ssb_ 
    123                              const char *buf, size_t count, 
    124                              int (*sprom_check_crc)(const u16 *sprom, size_t size), 
    125                              int (*sprom_write)(struct ssb_bus *bus, const u16 *sprom)); 
    126 -extern const struct ssb_sprom *ssb_get_fallback_sprom(void); 
    127 +extern int ssb_fill_sprom_with_fallback(struct ssb_bus *bus, struct ssb_sprom *out); 
    128   
    129   
    130  /* core.c */ 
    131 --- a/include/linux/ssb/ssb.h 
    132 +++ b/include/linux/ssb/ssb.h 
    133 @@ -404,7 +404,9 @@ extern bool ssb_is_sprom_available(struc 
    134   
    135  /* Set a fallback SPROM. 
    136   * See kdoc at the function definition for complete documentation. */ 
    137 -extern int ssb_arch_set_fallback_sprom(const struct ssb_sprom *sprom); 
    138 +extern int ssb_arch_register_fallback_sprom( 
    139 +               int (*sprom_callback)(struct ssb_bus *bus, 
    140 +               struct ssb_sprom *out)); 
    141   
    142  /* Suspend a SSB bus. 
    143   * Call this from the parent bus suspend routine. */ 
  • trunk/target/linux/generic/config-2.6.39

    r27182 r27295  
    180180# CONFIG_BCM63XX is not set 
    181181# CONFIG_BCM63XX_PHY is not set 
     182# CONFIG_BCMA is not set 
     183CONFIG_BCMA_POSSIBLE=y 
    182184# CONFIG_BCM_WIMAX is not set 
    183185# CONFIG_BDI_SWITCH is not set 
Note: See TracChangeset for help on using the changeset viewer.