generic: ar8216: add chip_is_ar8{216,236,316,327} helpers
authorjuhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Tue, 29 May 2012 16:39:24 +0000 (16:39 +0000)
committerjuhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Tue, 29 May 2012 16:39:24 +0000 (16:39 +0000)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31998 3c298f89-4303-0410-b956-a3cf2f4a3e73

target/linux/generic/files/drivers/net/phy/ar8216.c

index 7a38d1f..46f0b6d 100644 (file)
@@ -89,6 +89,26 @@ static inline bool ar8xxx_has_gige(struct ar8216_priv *priv)
        return priv->chip->caps & AR8XXX_CAP_GIGE;
 }
 
+static inline bool chip_is_ar8216(struct ar8216_priv *priv)
+{
+       return priv->chip_type == AR8216;
+}
+
+static inline bool chip_is_ar8236(struct ar8216_priv *priv)
+{
+       return priv->chip_type == AR8236;
+}
+
+static inline bool chip_is_ar8316(struct ar8216_priv *priv)
+{
+       return priv->chip_type == AR8316;
+}
+
+static inline bool chip_is_ar8327(struct ar8216_priv *priv)
+{
+       return priv->chip_type == AR8327;
+}
+
 static inline void
 split_addr(u32 regaddr, u16 *r1, u16 *r2, u16 *page)
 {
@@ -362,7 +382,7 @@ ar8216_setup_port(struct ar8216_priv *priv, int port, u32 egress, u32 ingress,
 {
        u32 header;
 
-       if (priv->vlan && port == AR8216_PORT_CPU && priv->chip_type == AR8216)
+       if (chip_is_ar8216(priv) && priv->vlan && port == AR8216_PORT_CPU)
                header = AR8216_PORT_CTRL_HEADER;
        else
                header = 0;
@@ -416,8 +436,8 @@ ar8216_init_port(struct ar8216_priv *priv, int port)
                                 AR8216_PORT_SPEED_1000M : AR8216_PORT_SPEED_100M) |
                        AR8216_PORT_STATUS_TXMAC |
                        AR8216_PORT_STATUS_RXMAC |
-                       ((priv->chip_type == AR8316) ? AR8216_PORT_STATUS_RXFLOW : 0) |
-                       ((priv->chip_type == AR8316) ? AR8216_PORT_STATUS_TXFLOW : 0) |
+                       (chip_is_ar8316(priv) ? AR8216_PORT_STATUS_RXFLOW : 0) |
+                       (chip_is_ar8316(priv) ? AR8216_PORT_STATUS_TXFLOW : 0) |
                        AR8216_PORT_STATUS_DUPLEX);
        } else {
                priv->write(priv, AR8216_REG_PORT_STATUS(port),
@@ -1237,7 +1257,7 @@ ar8216_config_init(struct phy_device *pdev)
                        pdev->advertising |= ADVERTISED_1000baseT_Full;
                }
 
-               if (priv->chip_type == AR8316) {
+               if (chip_is_ar8316(priv)) {
                        /* check if we're attaching to the switch twice */
                        pdev = pdev->bus->phy_map[0];
                        if (!pdev) {
@@ -1287,7 +1307,7 @@ ar8216_config_init(struct phy_device *pdev)
        swdev->ops = &ar8216_sw_ops;
        swdev->ports = AR8216_NUM_PORTS;
 
-       if (priv->chip_type == AR8316) {
+       if (chip_is_ar8316(priv)) {
                swdev->name = "Atheros AR8316";
                swdev->vlans = AR8X16_MAX_VLANS;
 
@@ -1295,11 +1315,11 @@ ar8216_config_init(struct phy_device *pdev)
                        /* port 5 connected to the other mac, therefore unusable */
                        swdev->ports = (AR8216_NUM_PORTS - 1);
                }
-       } else if (priv->chip_type == AR8236) {
+       } else if (chip_is_ar8236(priv)) {
                swdev->name = "Atheros AR8236";
                swdev->vlans = AR8216_NUM_VLANS;
                swdev->ports = AR8216_NUM_PORTS;
-       } else if (priv->chip_type == AR8327) {
+       } else if (chip_is_ar8327(priv)) {
                swdev->name = "Atheros AR8327";
                swdev->vlans = AR8X16_MAX_VLANS;
                swdev->ports = AR8327_NUM_PORTS;
@@ -1325,7 +1345,7 @@ ar8216_config_init(struct phy_device *pdev)
        dev->phy_ptr = priv;
 
        /* VID fixup only needed on ar8216 */
-       if (pdev->addr == 0 && priv->chip_type == AR8216) {
+       if (chip_is_ar8216(priv) && pdev->addr == 0) {
                dev->priv_flags |= IFF_NO_IP_ALIGN;
                dev->eth_mangle_rx = ar8216_mangle_rx;
                dev->eth_mangle_tx = ar8216_mangle_tx;