Changeset 18347
- Timestamp:
- 02/03/12 04:43:21 (16 months ago)
- Location:
- src/linux/universal/linux-3.2
- Files:
-
- 6 edited
-
arch/mips/ar7100/gpio_driver.c (modified) (7 diffs)
-
drivers/net/phy/rtl8306.c (modified) (5 diffs)
-
drivers/net/phy/rtl8366_smi.c (modified) (9 diffs)
-
drivers/net/phy/rtl8366_smi.h (modified) (3 diffs)
-
drivers/net/phy/rtl8366rb.c (modified) (3 diffs)
-
drivers/net/phy/rtl8366s.c (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/linux/universal/linux-3.2/arch/mips/ar7100/gpio_driver.c
r18171 r18347 44 44 } 45 45 if (value) 46 __raw_writel(1 << gpio, base + GPIO_REG_SET);46 __raw_writel(1 << gpio, base + AR71XX_GPIO_REG_SET); 47 47 else 48 __raw_writel(1 << gpio, base + GPIO_REG_CLEAR);48 __raw_writel(1 << gpio, base + AR71XX_GPIO_REG_CLEAR); 49 49 } 50 50 EXPORT_SYMBOL(__ar71xx_gpio_set_value); … … 54 54 if (gpio>=32) 55 55 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; 57 57 } 58 58 EXPORT_SYMBOL(__ar71xx_gpio_get_value); … … 79 79 spin_lock_irqsave(&ar71xx_gpio_lock, flags); 80 80 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); 83 83 84 84 spin_unlock_irqrestore(&ar71xx_gpio_lock, flags); … … 106 106 107 107 if (value) 108 __raw_writel(1 << offset, base + GPIO_REG_SET);108 __raw_writel(1 << offset, base + AR71XX_GPIO_REG_SET); 109 109 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); 114 114 115 115 spin_unlock_irqrestore(&ar71xx_gpio_lock, flags); … … 135 135 spin_lock_irqsave(&ar71xx_gpio_lock, flags); 136 136 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); 139 139 /* flush write */ 140 (void) __raw_readl(base + GPIO_REG_FUNC);140 (void) __raw_readl(base + AR71XX_GPIO_REG_FUNC); 141 141 142 142 spin_unlock_irqrestore(&ar71xx_gpio_lock, flags); … … 150 150 spin_lock_irqsave(&ar71xx_gpio_lock, flags); 151 151 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); 154 154 /* flush write */ 155 (void) __raw_readl(base + GPIO_REG_FUNC);155 (void) __raw_readl(base + AR71XX_GPIO_REG_FUNC); 156 156 157 157 spin_unlock_irqrestore(&ar71xx_gpio_lock, flags); … … 165 165 spin_lock_irqsave(&ar71xx_gpio_lock, flags); 166 166 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); 169 169 /* flush write */ 170 (void) __raw_readl(base + GPIO_REG_FUNC);170 (void) __raw_readl(base + AR71XX_GPIO_REG_FUNC); 171 171 172 172 spin_unlock_irqrestore(&ar71xx_gpio_lock, flags); -
src/linux/universal/linux-3.2/drivers/net/phy/rtl8306.c
r18171 r18347 57 57 struct mii_bus *bus; 58 58 char hwname[sizeof(RTL_NAME_UNKNOWN)]; 59 bool fixup; 59 60 }; 60 61 … … 257 258 u16 pgsel; 258 259 260 if (priv->fixup) 261 return; 262 259 263 if (priv->page == page) 260 264 return; … … 711 715 { 712 716 .type = SWITCH_TYPE_INT, 713 .name = " vlan",717 .name = "enable_vlan", 714 718 .description = "Enable VLAN mode", 715 719 .max = 1, … … 830 834 RTL_VLAN_REGATTR(VID), 831 835 .name = "vid", 832 .description = "VLAN ID ",836 .description = "VLAN ID (1-4095)", 833 837 .max = 4095, 834 838 }, … … 924 928 return 0; 925 929 930 memset(&priv, 0, sizeof(priv)); 931 priv.fixup = true; 926 932 priv.page = -1; 927 933 priv.bus = pdev->bus; -
src/linux/universal/linux-3.2/drivers/net/phy/rtl8366_smi.c
r18171 r18347 25 25 26 26 #define RTL8366_SMI_ACK_RETRY_COUNT 5 27 #define RTL8366_SMI_CLK_DELAY 10 /* nsec */28 27 29 28 static inline void rtl8366_smi_clk_delay(struct rtl8366_smi *smi) 30 29 { 31 ndelay( RTL8366_SMI_CLK_DELAY);30 ndelay(smi->clk_delay); 32 31 } 33 32 … … 144 143 break; 145 144 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 } 148 149 } while (1); 149 150 … … 155 156 rtl8366_smi_write_bits(smi, data, 8); 156 157 return rtl8366_smi_wait_for_ack(smi); 158 } 159 160 static int rtl8366_smi_write_byte_noack(struct rtl8366_smi *smi, u8 data) 161 { 162 rtl8366_smi_write_bits(smi, data, 8); 163 return 0; 157 164 } 158 165 … … 197 204 198 205 /* 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); 200 207 if (ret) 201 208 goto out; … … 228 235 EXPORT_SYMBOL_GPL(rtl8366_smi_read_reg); 229 236 230 int rtl8366_smi_write_reg(struct rtl8366_smi *smi, u32 addr, u32 data) 237 static int __rtl8366_smi_write_reg(struct rtl8366_smi *smi, 238 u32 addr, u32 data, bool ack) 231 239 { 232 240 unsigned long flags; … … 238 246 239 247 /* 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); 241 249 if (ret) 242 250 goto out; … … 258 266 259 267 /* 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); 261 272 if (ret) 262 273 goto out; … … 270 281 return ret; 271 282 } 283 284 int rtl8366_smi_write_reg(struct rtl8366_smi *smi, u32 addr, u32 data) 285 { 286 return __rtl8366_smi_write_reg(smi, addr, data, true); 287 } 272 288 EXPORT_SYMBOL_GPL(rtl8366_smi_write_reg); 289 290 int 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 } 294 EXPORT_SYMBOL_GPL(rtl8366_smi_write_reg_noack); 273 295 274 296 int rtl8366_smi_rmwr(struct rtl8366_smi *smi, u32 addr, u32 mask, u32 data) … … 1204 1226 smi.gpio_sda = pdata->gpio_sda; 1205 1227 smi.gpio_sck = pdata->gpio_sck; 1228 smi.clk_delay = 10; 1229 smi.cmd_read = 0xa9; 1230 smi.cmd_write = 0xa8; 1206 1231 1207 1232 if (__rtl8366_smi_init(&smi, "rtl8366")) -
src/linux/universal/linux-3.2/drivers/net/phy/rtl8366_smi.h
r18171 r18347 33 33 unsigned int gpio_sda; 34 34 unsigned int gpio_sck; 35 unsigned int clk_delay; /* ns */ 36 u8 cmd_read; 37 u8 cmd_write; 35 38 spinlock_t lock; 36 39 struct mii_bus *mii_bus; … … 59 62 struct rtl8366_vlan_mc { 60 63 u16 vid; 64 u16 untag; 65 u16 member; 66 u8 fid; 61 67 u8 priority; 62 u8 untag;63 u8 member;64 u8 fid;65 68 }; 66 69 67 70 struct rtl8366_vlan_4k { 68 71 u16 vid; 69 u 8untag;70 u 8member;72 u16 untag; 73 u16 member; 71 74 u8 fid; 72 75 }; … … 101 104 void rtl8366_smi_cleanup(struct rtl8366_smi *smi); 102 105 int rtl8366_smi_write_reg(struct rtl8366_smi *smi, u32 addr, u32 data); 106 int rtl8366_smi_write_reg_noack(struct rtl8366_smi *smi, u32 addr, u32 data); 103 107 int rtl8366_smi_read_reg(struct rtl8366_smi *smi, u32 addr, u32 *data); 104 108 int 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 247 247 u32 data; 248 248 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); 251 251 do { 252 252 msleep(1); … … 1117 1117 dev->vlans = RTL8366RB_NUM_VIDS; 1118 1118 dev->ops = &rtl8366_ops; 1119 dev-> devname= dev_name(smi->parent);1119 dev->alias = dev_name(smi->parent); 1120 1120 1121 1121 err = register_switch(dev, NULL); … … 1248 1248 smi->gpio_sda = pdata->gpio_sda; 1249 1249 smi->gpio_sck = pdata->gpio_sck; 1250 smi->clk_delay = 10; 1251 smi->cmd_read = 0xa9; 1252 smi->cmd_write = 0xa8; 1250 1253 smi->ops = &rtl8366rb_smi_ops; 1251 1254 smi->cpu_port = RTL8366RB_PORT_NUM_CPU; -
src/linux/universal/linux-3.2/drivers/net/phy/rtl8366s.c
r18171 r18347 230 230 u32 data; 231 231 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); 234 234 do { 235 235 msleep(1); … … 997 997 dev->vlans = RTL8366S_NUM_VIDS; 998 998 dev->ops = &rtl8366_ops; 999 dev-> devname= dev_name(smi->parent);999 dev->alias = dev_name(smi->parent); 1000 1000 1001 1001 err = register_switch(dev, NULL); … … 1128 1128 smi->gpio_sda = pdata->gpio_sda; 1129 1129 smi->gpio_sck = pdata->gpio_sck; 1130 smi->clk_delay = 10; 1131 smi->cmd_read = 0xa9; 1132 smi->cmd_write = 0xa8; 1130 1133 smi->ops = &rtl8366s_smi_ops; 1131 1134 smi->cpu_port = RTL8366S_PORT_NUM_CPU;
Note: See TracChangeset
for help on using the changeset viewer.
