Changeset 18347


Ignore:
Timestamp:
02/03/12 04:43:21 (16 months ago)
Author:
BrainSlayer
Message:

for new api

Location:
src/linux/universal/linux-3.2
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • src/linux/universal/linux-3.2/arch/mips/ar7100/gpio_driver.c

    r18171 r18347  
    4444            } 
    4545        if (value) 
    46                 __raw_writel(1 << gpio, base + GPIO_REG_SET); 
     46                __raw_writel(1 << gpio, base + AR71XX_GPIO_REG_SET); 
    4747        else 
    48                 __raw_writel(1 << gpio, base + GPIO_REG_CLEAR); 
     48                __raw_writel(1 << gpio, base + AR71XX_GPIO_REG_CLEAR); 
    4949} 
    5050EXPORT_SYMBOL(__ar71xx_gpio_set_value); 
     
    5454        if (gpio>=32) 
    5555            return 0; 
    56         return (__raw_readl(ar71xx_gpio_base + GPIO_REG_IN) >> gpio) & 1; 
     56        return (__raw_readl(ar71xx_gpio_base + AR71XX_GPIO_REG_IN) >> gpio) & 1; 
    5757} 
    5858EXPORT_SYMBOL(__ar71xx_gpio_get_value); 
     
    7979        spin_lock_irqsave(&ar71xx_gpio_lock, flags); 
    8080 
    81         __raw_writel(__raw_readl(base + GPIO_REG_OE) & ~(1 << offset), 
    82                      base + GPIO_REG_OE); 
     81        __raw_writel(__raw_readl(base + AR71XX_GPIO_REG_OE) & ~(1 << offset), 
     82                     base + AR71XX_GPIO_REG_OE); 
    8383 
    8484        spin_unlock_irqrestore(&ar71xx_gpio_lock, flags); 
     
    106106 
    107107        if (value) 
    108                 __raw_writel(1 << offset, base + GPIO_REG_SET); 
     108                __raw_writel(1 << offset, base + AR71XX_GPIO_REG_SET); 
    109109        else 
    110                 __raw_writel(1 << offset, base + GPIO_REG_CLEAR); 
    111  
    112         __raw_writel(__raw_readl(base + GPIO_REG_OE) | (1 << offset), 
    113                      base + GPIO_REG_OE); 
     110                __raw_writel(1 << offset, base + AR71XX_GPIO_REG_CLEAR); 
     111 
     112        __raw_writel(__raw_readl(base + AR71XX_GPIO_REG_OE) | (1 << offset), 
     113                     base + AR71XX_GPIO_REG_OE); 
    114114 
    115115        spin_unlock_irqrestore(&ar71xx_gpio_lock, flags); 
     
    135135        spin_lock_irqsave(&ar71xx_gpio_lock, flags); 
    136136 
    137         __raw_writel(__raw_readl(base + GPIO_REG_FUNC) | mask, 
    138                      base + GPIO_REG_FUNC); 
     137        __raw_writel(__raw_readl(base + AR71XX_GPIO_REG_FUNC) | mask, 
     138                     base + AR71XX_GPIO_REG_FUNC); 
    139139        /* flush write */ 
    140         (void) __raw_readl(base + GPIO_REG_FUNC); 
     140        (void) __raw_readl(base + AR71XX_GPIO_REG_FUNC); 
    141141 
    142142        spin_unlock_irqrestore(&ar71xx_gpio_lock, flags); 
     
    150150        spin_lock_irqsave(&ar71xx_gpio_lock, flags); 
    151151 
    152         __raw_writel(__raw_readl(base + GPIO_REG_FUNC) & ~mask, 
    153                      base + GPIO_REG_FUNC); 
     152        __raw_writel(__raw_readl(base + AR71XX_GPIO_REG_FUNC) & ~mask, 
     153                     base + AR71XX_GPIO_REG_FUNC); 
    154154        /* flush write */ 
    155         (void) __raw_readl(base + GPIO_REG_FUNC); 
     155        (void) __raw_readl(base + AR71XX_GPIO_REG_FUNC); 
    156156 
    157157        spin_unlock_irqrestore(&ar71xx_gpio_lock, flags); 
     
    165165        spin_lock_irqsave(&ar71xx_gpio_lock, flags); 
    166166 
    167         __raw_writel((__raw_readl(base + GPIO_REG_FUNC) & ~clear) | set, 
    168                      base + GPIO_REG_FUNC); 
     167        __raw_writel((__raw_readl(base + AR71XX_GPIO_REG_FUNC) & ~clear) | set, 
     168                     base + AR71XX_GPIO_REG_FUNC); 
    169169        /* flush write */ 
    170         (void) __raw_readl(base + GPIO_REG_FUNC); 
     170        (void) __raw_readl(base + AR71XX_GPIO_REG_FUNC); 
    171171 
    172172        spin_unlock_irqrestore(&ar71xx_gpio_lock, flags); 
  • src/linux/universal/linux-3.2/drivers/net/phy/rtl8306.c

    r18171 r18347  
    5757        struct mii_bus *bus; 
    5858        char hwname[sizeof(RTL_NAME_UNKNOWN)]; 
     59        bool fixup; 
    5960}; 
    6061 
     
    257258        u16 pgsel; 
    258259 
     260        if (priv->fixup) 
     261                return; 
     262 
    259263        if (priv->page == page) 
    260264                return; 
     
    711715        { 
    712716                .type = SWITCH_TYPE_INT, 
    713                 .name = "vlan", 
     717                .name = "enable_vlan", 
    714718                .description = "Enable VLAN mode", 
    715719                .max = 1, 
     
    830834                RTL_VLAN_REGATTR(VID), 
    831835                .name = "vid", 
    832                 .description = "VLAN ID", 
     836                .description = "VLAN ID (1-4095)", 
    833837                .max = 4095, 
    834838        }, 
     
    924928                return 0; 
    925929 
     930        memset(&priv, 0, sizeof(priv)); 
     931        priv.fixup = true; 
    926932        priv.page = -1; 
    927933        priv.bus = pdev->bus; 
  • src/linux/universal/linux-3.2/drivers/net/phy/rtl8366_smi.c

    r18171 r18347  
    2525 
    2626#define RTL8366_SMI_ACK_RETRY_COUNT         5 
    27 #define RTL8366_SMI_CLK_DELAY               10 /* nsec */ 
    2827 
    2928static inline void rtl8366_smi_clk_delay(struct rtl8366_smi *smi) 
    3029{ 
    31         ndelay(RTL8366_SMI_CLK_DELAY); 
     30        ndelay(smi->clk_delay); 
    3231} 
    3332 
     
    144143                        break; 
    145144 
    146                 if (++retry_cnt > RTL8366_SMI_ACK_RETRY_COUNT) 
    147                         return -EIO; 
     145                if (++retry_cnt > RTL8366_SMI_ACK_RETRY_COUNT) { 
     146                        dev_err(smi->parent, "ACK timeout\n"); 
     147                        return -ETIMEDOUT; 
     148                } 
    148149        } while (1); 
    149150 
     
    155156        rtl8366_smi_write_bits(smi, data, 8); 
    156157        return rtl8366_smi_wait_for_ack(smi); 
     158} 
     159 
     160static int rtl8366_smi_write_byte_noack(struct rtl8366_smi *smi, u8 data) 
     161{ 
     162        rtl8366_smi_write_bits(smi, data, 8); 
     163        return 0; 
    157164} 
    158165 
     
    197204 
    198205        /* send READ command */ 
    199         ret = rtl8366_smi_write_byte(smi, 0x0a << 4 | 0x04 << 1 | 0x01); 
     206        ret = rtl8366_smi_write_byte(smi, smi->cmd_read); 
    200207        if (ret) 
    201208                goto out; 
     
    228235EXPORT_SYMBOL_GPL(rtl8366_smi_read_reg); 
    229236 
    230 int rtl8366_smi_write_reg(struct rtl8366_smi *smi, u32 addr, u32 data) 
     237static int __rtl8366_smi_write_reg(struct rtl8366_smi *smi, 
     238                                   u32 addr, u32 data, bool ack) 
    231239{ 
    232240        unsigned long flags; 
     
    238246 
    239247        /* send WRITE command */ 
    240         ret = rtl8366_smi_write_byte(smi, 0x0a << 4 | 0x04 << 1 | 0x00); 
     248        ret = rtl8366_smi_write_byte(smi, smi->cmd_write); 
    241249        if (ret) 
    242250                goto out; 
     
    258266 
    259267        /* write DATA[15:8] */ 
    260         ret = rtl8366_smi_write_byte(smi, data >> 8); 
     268        if (ack) 
     269                ret = rtl8366_smi_write_byte(smi, data >> 8); 
     270        else 
     271                ret = rtl8366_smi_write_byte_noack(smi, data >> 8); 
    261272        if (ret) 
    262273                goto out; 
     
    270281        return ret; 
    271282} 
     283 
     284int rtl8366_smi_write_reg(struct rtl8366_smi *smi, u32 addr, u32 data) 
     285{ 
     286        return __rtl8366_smi_write_reg(smi, addr, data, true); 
     287} 
    272288EXPORT_SYMBOL_GPL(rtl8366_smi_write_reg); 
     289 
     290int rtl8366_smi_write_reg_noack(struct rtl8366_smi *smi, u32 addr, u32 data) 
     291{ 
     292        return __rtl8366_smi_write_reg(smi, addr, data, false); 
     293} 
     294EXPORT_SYMBOL_GPL(rtl8366_smi_write_reg_noack); 
    273295 
    274296int rtl8366_smi_rmwr(struct rtl8366_smi *smi, u32 addr, u32 mask, u32 data) 
     
    12041226        smi.gpio_sda = pdata->gpio_sda; 
    12051227        smi.gpio_sck = pdata->gpio_sck; 
     1228        smi.clk_delay = 10; 
     1229        smi.cmd_read  = 0xa9; 
     1230        smi.cmd_write = 0xa8; 
    12061231 
    12071232        if (__rtl8366_smi_init(&smi, "rtl8366")) 
  • src/linux/universal/linux-3.2/drivers/net/phy/rtl8366_smi.h

    r18171 r18347  
    3333        unsigned int            gpio_sda; 
    3434        unsigned int            gpio_sck; 
     35        unsigned int            clk_delay;      /* ns */ 
     36        u8                      cmd_read; 
     37        u8                      cmd_write; 
    3538        spinlock_t              lock; 
    3639        struct mii_bus          *mii_bus; 
     
    5962struct rtl8366_vlan_mc { 
    6063        u16     vid; 
     64        u16     untag; 
     65        u16     member; 
     66        u8      fid; 
    6167        u8      priority; 
    62         u8      untag; 
    63         u8      member; 
    64         u8      fid; 
    6568}; 
    6669 
    6770struct rtl8366_vlan_4k { 
    6871        u16     vid; 
    69         u8      untag; 
    70         u8      member; 
     72        u16     untag; 
     73        u16     member; 
    7174        u8      fid; 
    7275}; 
     
    101104void rtl8366_smi_cleanup(struct rtl8366_smi *smi); 
    102105int rtl8366_smi_write_reg(struct rtl8366_smi *smi, u32 addr, u32 data); 
     106int rtl8366_smi_write_reg_noack(struct rtl8366_smi *smi, u32 addr, u32 data); 
    103107int rtl8366_smi_read_reg(struct rtl8366_smi *smi, u32 addr, u32 *data); 
    104108int rtl8366_smi_rmwr(struct rtl8366_smi *smi, u32 addr, u32 mask, u32 data); 
  • src/linux/universal/linux-3.2/drivers/net/phy/rtl8366rb.c

    r18171 r18347  
    247247        u32 data; 
    248248 
    249         rtl8366_smi_write_reg(smi, RTL8366RB_RESET_CTRL_REG, 
    250                               RTL8366RB_CHIP_CTRL_RESET_HW); 
     249        rtl8366_smi_write_reg_noack(smi, RTL8366RB_RESET_CTRL_REG, 
     250                                    RTL8366RB_CHIP_CTRL_RESET_HW); 
    251251        do { 
    252252                msleep(1); 
     
    11171117        dev->vlans = RTL8366RB_NUM_VIDS; 
    11181118        dev->ops = &rtl8366_ops; 
    1119         dev->devname = dev_name(smi->parent); 
     1119        dev->alias = dev_name(smi->parent); 
    11201120 
    11211121        err = register_switch(dev, NULL); 
     
    12481248        smi->gpio_sda = pdata->gpio_sda; 
    12491249        smi->gpio_sck = pdata->gpio_sck; 
     1250        smi->clk_delay = 10; 
     1251        smi->cmd_read = 0xa9; 
     1252        smi->cmd_write = 0xa8; 
    12501253        smi->ops = &rtl8366rb_smi_ops; 
    12511254        smi->cpu_port = RTL8366RB_PORT_NUM_CPU; 
  • src/linux/universal/linux-3.2/drivers/net/phy/rtl8366s.c

    r18171 r18347  
    230230        u32 data; 
    231231 
    232         rtl8366_smi_write_reg(smi, RTL8366S_RESET_CTRL_REG, 
    233                               RTL8366S_CHIP_CTRL_RESET_HW); 
     232        rtl8366_smi_write_reg_noack(smi, RTL8366S_RESET_CTRL_REG, 
     233                                    RTL8366S_CHIP_CTRL_RESET_HW); 
    234234        do { 
    235235                msleep(1); 
     
    997997        dev->vlans = RTL8366S_NUM_VIDS; 
    998998        dev->ops = &rtl8366_ops; 
    999         dev->devname = dev_name(smi->parent); 
     999        dev->alias = dev_name(smi->parent); 
    10001000 
    10011001        err = register_switch(dev, NULL); 
     
    11281128        smi->gpio_sda = pdata->gpio_sda; 
    11291129        smi->gpio_sck = pdata->gpio_sck; 
     1130        smi->clk_delay = 10; 
     1131        smi->cmd_read = 0xa9; 
     1132        smi->cmd_write = 0xa8; 
    11301133        smi->ops = &rtl8366s_smi_ops; 
    11311134        smi->cpu_port = RTL8366S_PORT_NUM_CPU; 
Note: See TracChangeset for help on using the changeset viewer.