Changeset 21934


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

backfire: generic: rtl8366: add common vlan_4k structure (backport of r21915)

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

    r21933 r21934  
    4343}; 
    4444 
     45struct rtl8366_vlan_4k { 
     46        u16     vid; 
     47        u8      untag; 
     48        u8      member; 
     49        u8      fid; 
     50}; 
     51 
    4552int rtl8366_smi_init(struct rtl8366_smi *smi); 
    4653void rtl8366_smi_cleanup(struct rtl8366_smi *smi); 
  • branches/backfire/target/linux/generic-2.6/files/drivers/net/phy/rtl8366rb.c

    r21933 r21934  
    373373 
    374374static int rtl8366rb_get_vlan_4k(struct rtl8366rb *rtl, u32 vid, 
    375                                  struct rtl8366rb_vlan_4k *vlan4k) 
    376 { 
    377         struct rtl8366_smi *smi = &rtl->smi; 
     375                                 struct rtl8366_vlan_4k *vlan4k) 
     376{ 
     377        struct rtl8366_smi *smi = &rtl->smi; 
     378        struct rtl8366rb_vlan_4k vlan4k_priv; 
    378379        int err; 
    379380        u32 data; 
    380381        u16 *tableaddr; 
    381382 
    382         memset(vlan4k, '\0', sizeof(struct rtl8366rb_vlan_4k)); 
    383         vlan4k->vid = vid; 
     383        memset(vlan4k, '\0', sizeof(struct rtl8366_vlan_4k)); 
     384        vlan4k_priv.vid = vid; 
    384385 
    385386        if (vid >= RTL8366_NUM_VIDS) 
    386387                return -EINVAL; 
    387388 
    388         tableaddr = (u16 *)vlan4k; 
     389        tableaddr = (u16 *)&vlan4k_priv; 
    389390 
    390391        /* write VID */ 
     
    420421                return err; 
    421422        *tableaddr = data; 
     423 
    422424        vlan4k->vid = vid; 
     425        vlan4k->untag = vlan4k_priv.untag; 
     426        vlan4k->member = vlan4k_priv.member; 
     427        vlan4k->fid = vlan4k_priv.fid; 
    423428 
    424429        return 0; 
     
    426431 
    427432static int rtl8366rb_set_vlan_4k(struct rtl8366rb *rtl, 
    428                                  const struct rtl8366rb_vlan_4k *vlan4k) 
    429 { 
    430         struct rtl8366_smi *smi = &rtl->smi; 
     433                                 const struct rtl8366_vlan_4k *vlan4k) 
     434{ 
     435        struct rtl8366_smi *smi = &rtl->smi; 
     436        struct rtl8366rb_vlan_4k vlan4k_priv; 
    431437        int err; 
    432438        u32 data; 
     
    439445                return -EINVAL; 
    440446 
    441         tableaddr = (u16 *)vlan4k; 
     447        vlan4k_priv.vid = vlan4k->vid; 
     448        vlan4k_priv.untag = vlan4k->untag; 
     449        vlan4k_priv.member = vlan4k->member; 
     450        vlan4k_priv.fid = vlan4k->fid; 
     451 
     452        tableaddr = (u16 *)&vlan4k_priv; 
    442453 
    443454        data = *tableaddr; 
     
    646657        int i; 
    647658        struct rtl8366_vlan_mc vlanmc; 
    648         struct rtl8366rb_vlan_4k vlan4k; 
     659        struct rtl8366_vlan_4k vlan4k; 
    649660 
    650661        if (port >= RTL8366_NUM_PORTS || val >= RTL8366_NUM_VIDS) 
     
    742753static int rtl8366rb_reset_vlan(struct rtl8366rb *rtl) 
    743754{ 
    744         struct rtl8366rb_vlan_4k vlan4k; 
     755        struct rtl8366_vlan_4k vlan4k; 
    745756        struct rtl8366_vlan_mc vlanmc; 
    746757        int err; 
     
    11681179        u32 len = 0; 
    11691180        struct rtl8366_vlan_mc vlanmc; 
    1170         struct rtl8366rb_vlan_4k vlan4k; 
     1181        struct rtl8366_vlan_4k vlan4k; 
    11711182        struct rtl8366rb *rtl = sw_to_rtl8366rb(dev); 
    11721183        char *buf = rtl->buf; 
     
    13341345{ 
    13351346        struct rtl8366_vlan_mc vlanmc; 
    1336         struct rtl8366rb_vlan_4k vlan4k; 
     1347        struct rtl8366_vlan_4k vlan4k; 
    13371348        struct rtl8366rb *rtl = sw_to_rtl8366rb(dev); 
    13381349        struct switch_port *port; 
  • branches/backfire/target/linux/generic-2.6/files/drivers/net/phy/rtl8366s.c

    r21933 r21934  
    374374 
    375375static int rtl8366s_get_vlan_4k(struct rtl8366s *rtl, u32 vid, 
    376                                 struct rtl8366s_vlan_4k *vlan4k) 
    377 { 
    378         struct rtl8366_smi *smi = &rtl->smi; 
     376                                struct rtl8366_vlan_4k *vlan4k) 
     377{ 
     378        struct rtl8366_smi *smi = &rtl->smi; 
     379        struct rtl8366s_vlan_4k vlan4k_priv; 
    379380        int err; 
    380381        u32 data; 
    381382        u16 *tableaddr; 
    382383 
    383         memset(vlan4k, '\0', sizeof(struct rtl8366s_vlan_4k)); 
    384         vlan4k->vid = vid; 
     384        memset(vlan4k, '\0', sizeof(struct rtl8366_vlan_4k)); 
     385        vlan4k_priv.vid = vid; 
    385386 
    386387        if (vid >= RTL8366_NUM_VIDS) 
    387388                return -EINVAL; 
    388389 
    389         tableaddr = (u16 *)vlan4k; 
     390        tableaddr = (u16 *)&vlan4k_priv; 
    390391 
    391392        /* write VID */ 
     
    414415 
    415416        *tableaddr = data; 
     417 
    416418        vlan4k->vid = vid; 
     419        vlan4k->untag = vlan4k_priv.untag; 
     420        vlan4k->member = vlan4k_priv.member; 
     421        vlan4k->fid = vlan4k_priv.fid; 
    417422 
    418423        return 0; 
     
    420425 
    421426static int rtl8366s_set_vlan_4k(struct rtl8366s *rtl, 
    422                                 const struct rtl8366s_vlan_4k *vlan4k) 
    423 { 
    424         struct rtl8366_smi *smi = &rtl->smi; 
     427                                const struct rtl8366_vlan_4k *vlan4k) 
     428{ 
     429        struct rtl8366_smi *smi = &rtl->smi; 
     430        struct rtl8366s_vlan_4k vlan4k_priv; 
    425431        int err; 
    426432        u32 data; 
     
    433439                return -EINVAL; 
    434440 
    435         tableaddr = (u16 *)vlan4k; 
     441        vlan4k_priv.vid = vlan4k->vid; 
     442        vlan4k_priv.untag = vlan4k->untag; 
     443        vlan4k_priv.member = vlan4k->member; 
     444        vlan4k_priv.fid = vlan4k->fid; 
     445 
     446        tableaddr = (u16 *)&vlan4k_priv; 
    436447 
    437448        data = *tableaddr; 
     
    613624        int i; 
    614625        struct rtl8366_vlan_mc vlanmc; 
    615         struct rtl8366s_vlan_4k vlan4k; 
     626        struct rtl8366_vlan_4k vlan4k; 
    616627 
    617628        if (port >= RTL8366_NUM_PORTS || val >= RTL8366_NUM_VIDS) 
     
    709720static int rtl8366s_reset_vlan(struct rtl8366s *rtl) 
    710721{ 
    711         struct rtl8366s_vlan_4k vlan4k; 
     722        struct rtl8366_vlan_4k vlan4k; 
    712723        struct rtl8366_vlan_mc vlanmc; 
    713724        int err; 
     
    11351146        u32 len = 0; 
    11361147        struct rtl8366_vlan_mc vlanmc; 
    1137         struct rtl8366s_vlan_4k vlan4k; 
     1148        struct rtl8366_vlan_4k vlan4k; 
    11381149        struct rtl8366s *rtl = sw_to_rtl8366s(dev); 
    11391150        char *buf = rtl->buf; 
     
    13021313{ 
    13031314        struct rtl8366_vlan_mc vlanmc; 
    1304         struct rtl8366s_vlan_4k vlan4k; 
     1315        struct rtl8366_vlan_4k vlan4k; 
    13051316        struct rtl8366s *rtl = sw_to_rtl8366s(dev); 
    13061317        struct switch_port *port; 
Note: See TracChangeset for help on using the changeset viewer.