Changeset 21933


Ignore:
Timestamp:
2010-06-26T21:53:31+02:00 (6 years ago)
Author:
juhosg
Message:

backfire: generic: rtl8366: add common vlan_mc structure (backport of r21914)

Location:
branches/backfire/target/linux/generic-2.6/files/drivers/net/phy
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/backfire/target/linux/generic-2.6/files/drivers/net/phy/rtl8366_smi.h

    r21930 r21933  
    3535}; 
    3636 
     37struct rtl8366_vlan_mc { 
     38        u16     vid; 
     39        u8      priority; 
     40        u8      untag; 
     41        u8      member; 
     42        u8      fid; 
     43}; 
     44 
    3745int rtl8366_smi_init(struct rtl8366_smi *smi); 
    3846void rtl8366_smi_cleanup(struct rtl8366_smi *smi); 
  • branches/backfire/target/linux/generic-2.6/files/drivers/net/phy/rtl8366rb.c

    r21932 r21933  
    473473 
    474474static int rtl8366rb_get_vlan_mc(struct rtl8366rb *rtl, u32 index, 
    475                                  struct rtl8366rb_vlan_mc *vlanmc) 
    476 { 
    477         struct rtl8366_smi *smi = &rtl->smi; 
     475                                 struct rtl8366_vlan_mc *vlanmc) 
     476{ 
     477        struct rtl8366_smi *smi = &rtl->smi; 
     478        struct rtl8366rb_vlan_mc vlanmc_priv; 
    478479        int err; 
    479480        u32 addr; 
     
    481482        u16 *tableaddr; 
    482483 
    483         memset(vlanmc, '\0', sizeof(struct rtl8366rb_vlan_mc)); 
     484        memset(vlanmc, '\0', sizeof(struct rtl8366_vlan_mc)); 
    484485 
    485486        if (index >= RTL8366_NUM_VLANS) 
    486487                return -EINVAL; 
    487488 
    488         tableaddr = (u16 *)vlanmc; 
     489        tableaddr = (u16 *)&vlanmc_priv; 
    489490 
    490491        addr = RTL8366S_VLAN_MEMCONF_BASE + (index * 3); 
     
    511512        *tableaddr = data; 
    512513 
     514        vlanmc->vid = vlanmc_priv.vid; 
     515        vlanmc->priority = vlanmc_priv.priority; 
     516        vlanmc->untag = vlanmc_priv.untag; 
     517        vlanmc->member = vlanmc_priv.member; 
     518        vlanmc->fid = vlanmc_priv.fid; 
     519 
    513520        return 0; 
    514521} 
    515522 
    516523static int rtl8366rb_set_vlan_mc(struct rtl8366rb *rtl, u32 index, 
    517                                  const struct rtl8366rb_vlan_mc *vlanmc) 
    518 { 
    519         struct rtl8366_smi *smi = &rtl->smi; 
     524                                 const struct rtl8366_vlan_mc *vlanmc) 
     525{ 
     526        struct rtl8366_smi *smi = &rtl->smi; 
     527        struct rtl8366rb_vlan_mc vlanmc_priv; 
    520528        int err; 
    521529        u32 addr; 
     
    531539                return -EINVAL; 
    532540 
     541        vlanmc_priv.vid = vlanmc->vid; 
     542        vlanmc_priv.priority = vlanmc->priority; 
     543        vlanmc_priv.untag = vlanmc->untag; 
     544        vlanmc_priv.member = vlanmc->member; 
     545        vlanmc_priv.stag_mbr = 0; 
     546        vlanmc_priv.stag_idx = 0; 
     547        vlanmc_priv.fid = vlanmc->fid; 
     548 
    533549        addr = RTL8366S_VLAN_MEMCONF_BASE + (index * 3); 
    534550 
    535         tableaddr = (u16 *)vlanmc; 
     551        tableaddr = (u16 *)&vlanmc_priv; 
    536552        data = *tableaddr; 
    537553 
     
    585601                                       int *val) 
    586602{ 
    587         struct rtl8366rb_vlan_mc vlanmc; 
     603        struct rtl8366_vlan_mc vlanmc; 
    588604        int err; 
    589605        int index; 
     
    629645{ 
    630646        int i; 
    631         struct rtl8366rb_vlan_mc vlanmc; 
     647        struct rtl8366_vlan_mc vlanmc; 
    632648        struct rtl8366rb_vlan_4k vlan4k; 
    633649 
     
    727743{ 
    728744        struct rtl8366rb_vlan_4k vlan4k; 
    729         struct rtl8366rb_vlan_mc vlanmc; 
     745        struct rtl8366_vlan_mc vlanmc; 
    730746        int err; 
    731747        int i; 
     
    832848 
    833849        for (i = 0; i < RTL8366_NUM_VLANS; ++i) { 
    834                 struct rtl8366rb_vlan_mc vlanmc; 
     850                struct rtl8366_vlan_mc vlanmc; 
    835851 
    836852                rtl8366rb_get_vlan_mc(rtl, i, &vlanmc); 
     
    11511167        int i; 
    11521168        u32 len = 0; 
    1153         struct rtl8366rb_vlan_mc vlanmc; 
     1169        struct rtl8366_vlan_mc vlanmc; 
    11541170        struct rtl8366rb_vlan_4k vlan4k; 
    11551171        struct rtl8366rb *rtl = sw_to_rtl8366rb(dev); 
     
    12891305                                      struct switch_val *val) 
    12901306{ 
    1291         struct rtl8366rb_vlan_mc vlanmc; 
     1307        struct rtl8366_vlan_mc vlanmc; 
    12921308        struct rtl8366rb *rtl = sw_to_rtl8366rb(dev); 
    12931309        struct switch_port *port; 
     
    13171333                                      struct switch_val *val) 
    13181334{ 
    1319         struct rtl8366rb_vlan_mc vlanmc; 
     1335        struct rtl8366_vlan_mc vlanmc; 
    13201336        struct rtl8366rb_vlan_4k vlan4k; 
    13211337        struct rtl8366rb *rtl = sw_to_rtl8366rb(dev); 
  • branches/backfire/target/linux/generic-2.6/files/drivers/net/phy/rtl8366s.c

    r21932 r21933  
    458458 
    459459static int rtl8366s_get_vlan_mc(struct rtl8366s *rtl, u32 index, 
    460                                 struct rtl8366s_vlan_mc *vlanmc) 
    461 { 
    462         struct rtl8366_smi *smi = &rtl->smi; 
     460                                struct rtl8366_vlan_mc *vlanmc) 
     461{ 
     462        struct rtl8366_smi *smi = &rtl->smi; 
     463        struct rtl8366s_vlan_mc vlanmc_priv; 
    463464        int err; 
    464465        u32 addr; 
     
    466467        u16 *tableaddr; 
    467468 
    468         memset(vlanmc, '\0', sizeof(struct rtl8366s_vlan_mc)); 
     469        memset(vlanmc, '\0', sizeof(struct rtl8366_vlan_mc)); 
    469470 
    470471        if (index >= RTL8366_NUM_VLANS) 
    471472                return -EINVAL; 
    472473 
    473         tableaddr = (u16 *)vlanmc; 
     474        tableaddr = (u16 *)&vlanmc_priv; 
    474475 
    475476        addr = RTL8366S_VLAN_MEMCONF_BASE + (index << 1); 
     
    488489        *tableaddr = data; 
    489490 
     491        vlanmc->vid = vlanmc_priv.vid; 
     492        vlanmc->priority = vlanmc_priv.priority; 
     493        vlanmc->untag = vlanmc_priv.untag; 
     494        vlanmc->member = vlanmc_priv.member; 
     495        vlanmc->fid = vlanmc_priv.fid; 
     496 
    490497        return 0; 
    491498} 
    492499 
    493500static int rtl8366s_set_vlan_mc(struct rtl8366s *rtl, u32 index, 
    494                                 const struct rtl8366s_vlan_mc *vlanmc) 
    495 { 
    496         struct rtl8366_smi *smi = &rtl->smi; 
     501                                const struct rtl8366_vlan_mc *vlanmc) 
     502{ 
     503        struct rtl8366_smi *smi = &rtl->smi; 
     504        struct rtl8366s_vlan_mc vlanmc_priv; 
    497505        int err; 
    498506        u32 addr; 
     
    508516                return -EINVAL; 
    509517 
     518        vlanmc_priv.vid = vlanmc->vid; 
     519        vlanmc_priv.priority = vlanmc->priority; 
     520        vlanmc_priv.untag = vlanmc->untag; 
     521        vlanmc_priv.member = vlanmc->member; 
     522        vlanmc_priv.fid = vlanmc->fid; 
     523 
    510524        addr = RTL8366S_VLAN_MEMCONF_BASE + (index << 1); 
    511525 
    512         tableaddr = (u16 *)vlanmc; 
     526        tableaddr = (u16 *)&vlanmc_priv; 
    513527        data = *tableaddr; 
    514528 
     
    554568                                       int *val) 
    555569{ 
    556         struct rtl8366s_vlan_mc vlanmc; 
     570        struct rtl8366_vlan_mc vlanmc; 
    557571        int err; 
    558572        int index; 
     
    598612{ 
    599613        int i; 
    600         struct rtl8366s_vlan_mc vlanmc; 
     614        struct rtl8366_vlan_mc vlanmc; 
    601615        struct rtl8366s_vlan_4k vlan4k; 
    602616 
     
    696710{ 
    697711        struct rtl8366s_vlan_4k vlan4k; 
    698         struct rtl8366s_vlan_mc vlanmc; 
     712        struct rtl8366_vlan_mc vlanmc; 
    699713        int err; 
    700714        int i; 
     
    801815 
    802816        for (i = 0; i < RTL8366_NUM_VLANS; ++i) { 
    803                 struct rtl8366s_vlan_mc vlanmc; 
     817                struct rtl8366_vlan_mc vlanmc; 
    804818 
    805819                rtl8366s_get_vlan_mc(rtl, i, &vlanmc); 
     
    11201134        int i; 
    11211135        u32 len = 0; 
    1122         struct rtl8366s_vlan_mc vlanmc; 
     1136        struct rtl8366_vlan_mc vlanmc; 
    11231137        struct rtl8366s_vlan_4k vlan4k; 
    11241138        struct rtl8366s *rtl = sw_to_rtl8366s(dev); 
     
    12591273                                      struct switch_val *val) 
    12601274{ 
    1261         struct rtl8366s_vlan_mc vlanmc; 
     1275        struct rtl8366_vlan_mc vlanmc; 
    12621276        struct rtl8366s *rtl = sw_to_rtl8366s(dev); 
    12631277        struct switch_port *port; 
     
    12871301                                      struct switch_val *val) 
    12881302{ 
    1289         struct rtl8366s_vlan_mc vlanmc; 
     1303        struct rtl8366_vlan_mc vlanmc; 
    12901304        struct rtl8366s_vlan_4k vlan4k; 
    12911305        struct rtl8366s *rtl = sw_to_rtl8366s(dev); 
Note: See TracChangeset for help on using the changeset viewer.