8
8
* Licensed under the GPL-2 or later.
9
9
*/
10
10
11
+ #define DRV_VERSION "1.1"
12
+ #define DRV_DESC "Blackfin on-chip Ethernet MAC driver"
13
+
14
+ #define pr_fmt (fmt ) KBUILD_MODNAME ": " fmt
15
+
11
16
#include <linux/init.h>
12
17
#include <linux/module.h>
13
18
#include <linux/kernel.h>
41
46
42
47
#include "bfin_mac.h"
43
48
44
- #define DRV_NAME "bfin_mac"
45
- #define DRV_VERSION "1.1"
46
- #define DRV_AUTHOR "Bryan Wu, Luke Yang"
47
- #define DRV_DESC "Blackfin on-chip Ethernet MAC driver"
48
-
49
- MODULE_AUTHOR (DRV_AUTHOR );
49
+ MODULE_AUTHOR ("Bryan Wu, Luke Yang" );
50
50
MODULE_LICENSE ("GPL" );
51
51
MODULE_DESCRIPTION (DRV_DESC );
52
52
MODULE_ALIAS ("platform:bfin_mac" );
@@ -189,8 +189,7 @@ static int desc_list_init(void)
189
189
/* allocate a new skb for next time receive */
190
190
new_skb = dev_alloc_skb (PKT_BUF_SZ + NET_IP_ALIGN );
191
191
if (!new_skb ) {
192
- printk (KERN_NOTICE DRV_NAME
193
- ": init: low on mem - packet dropped\n" );
192
+ pr_notice ("init: low on mem - packet dropped\n" );
194
193
goto init_error ;
195
194
}
196
195
skb_reserve (new_skb , NET_IP_ALIGN );
@@ -240,7 +239,7 @@ static int desc_list_init(void)
240
239
241
240
init_error :
242
241
desc_list_free ();
243
- printk ( KERN_ERR DRV_NAME ": kmalloc failed\n" );
242
+ pr_err ( " kmalloc failed\n" );
244
243
return - ENOMEM ;
245
244
}
246
245
@@ -259,8 +258,7 @@ static int bfin_mdio_poll(void)
259
258
while ((bfin_read_EMAC_STAADD ()) & STABUSY ) {
260
259
udelay (1 );
261
260
if (timeout_cnt -- < 0 ) {
262
- printk (KERN_ERR DRV_NAME
263
- ": wait MDC/MDIO transaction to complete timeout\n" );
261
+ pr_err ("wait MDC/MDIO transaction to complete timeout\n" );
264
262
return - ETIMEDOUT ;
265
263
}
266
264
}
@@ -350,9 +348,9 @@ static void bfin_mac_adjust_link(struct net_device *dev)
350
348
opmode &= ~RMII_10 ;
351
349
break ;
352
350
default :
353
- printk ( KERN_WARNING
354
- "%s: Ack! Speed (%d) is not 10/100!\n" ,
355
- DRV_NAME , phydev -> speed );
351
+ netdev_warn ( dev ,
352
+ "Ack! Speed (%d) is not 10/100!\n" ,
353
+ phydev -> speed );
356
354
break ;
357
355
}
358
356
bfin_write_EMAC_OPMODE (opmode );
@@ -417,22 +415,21 @@ static int mii_probe(struct net_device *dev, int phy_mode)
417
415
418
416
/* now we are supposed to have a proper phydev, to attach to... */
419
417
if (!phydev ) {
420
- printk (KERN_INFO "%s: Don't found any phy device at all\n" ,
421
- dev -> name );
418
+ netdev_err (dev , "no phy device found\n" );
422
419
return - ENODEV ;
423
420
}
424
421
425
422
if (phy_mode != PHY_INTERFACE_MODE_RMII &&
426
423
phy_mode != PHY_INTERFACE_MODE_MII ) {
427
- printk ( KERN_INFO "%s: Invalid phy interface mode\n", dev -> name );
424
+ netdev_err ( dev , "invalid phy interface mode\n" );
428
425
return - EINVAL ;
429
426
}
430
427
431
428
phydev = phy_connect (dev , dev_name (& phydev -> dev ), & bfin_mac_adjust_link ,
432
429
0 , phy_mode );
433
430
434
431
if (IS_ERR (phydev )) {
435
- printk ( KERN_ERR "%s: Could not attach to PHY\n", dev -> name );
432
+ netdev_err ( dev , "could not attach PHY\n" );
436
433
return PTR_ERR (phydev );
437
434
}
438
435
@@ -453,11 +450,10 @@ static int mii_probe(struct net_device *dev, int phy_mode)
453
450
lp -> old_duplex = -1 ;
454
451
lp -> phydev = phydev ;
455
452
456
- printk (KERN_INFO "%s: attached PHY driver [%s] "
457
- "(mii_bus:phy_addr=%s, irq=%d, mdc_clk=%dHz(mdc_div=%d)"
458
- "@sclk=%dMHz)\n" ,
459
- DRV_NAME , phydev -> drv -> name , dev_name (& phydev -> dev ), phydev -> irq ,
460
- MDC_CLK , mdc_div , sclk /1000000 );
453
+ pr_info ("attached PHY driver [%s] "
454
+ "(mii_bus:phy_addr=%s, irq=%d, mdc_clk=%dHz(mdc_div=%d)@sclk=%dMHz)\n" ,
455
+ phydev -> drv -> name , dev_name (& phydev -> dev ), phydev -> irq ,
456
+ MDC_CLK , mdc_div , sclk /1000000 );
461
457
462
458
return 0 ;
463
459
}
@@ -502,7 +498,7 @@ bfin_mac_ethtool_setsettings(struct net_device *dev, struct ethtool_cmd *cmd)
502
498
static void bfin_mac_ethtool_getdrvinfo (struct net_device * dev ,
503
499
struct ethtool_drvinfo * info )
504
500
{
505
- strcpy (info -> driver , DRV_NAME );
501
+ strcpy (info -> driver , KBUILD_MODNAME );
506
502
strcpy (info -> version , DRV_VERSION );
507
503
strcpy (info -> fw_version , "N/A" );
508
504
strcpy (info -> bus_info , dev_name (& dev -> dev ));
@@ -562,7 +558,7 @@ static const struct ethtool_ops bfin_mac_ethtool_ops = {
562
558
};
563
559
564
560
/**************************************************************************/
565
- void setup_system_regs (struct net_device * dev )
561
+ static void setup_system_regs (struct net_device * dev )
566
562
{
567
563
struct bfin_mac_local * lp = netdev_priv (dev );
568
564
int i ;
@@ -592,6 +588,10 @@ void setup_system_regs(struct net_device *dev)
592
588
593
589
bfin_write_EMAC_MMC_CTL (RSTC | CROLL );
594
590
591
+ /* Set vlan regs to let 1522 bytes long packets pass through */
592
+ bfin_write_EMAC_VLAN1 (lp -> vlan1_mask );
593
+ bfin_write_EMAC_VLAN2 (lp -> vlan2_mask );
594
+
595
595
/* Initialize the TX DMA channel registers */
596
596
bfin_write_DMA2_X_COUNT (0 );
597
597
bfin_write_DMA2_X_MODIFY (4 );
@@ -827,8 +827,7 @@ static void bfin_tx_hwtstamp(struct net_device *netdev, struct sk_buff *skb)
827
827
while ((!(bfin_read_EMAC_PTP_ISTAT () & TXTL )) && (-- timeout_cnt ))
828
828
udelay (1 );
829
829
if (timeout_cnt == 0 )
830
- printk (KERN_ERR DRV_NAME
831
- ": fails to timestamp the TX packet\n" );
830
+ netdev_err (netdev , "timestamp the TX packet failed\n" );
832
831
else {
833
832
struct skb_shared_hwtstamps shhwtstamps ;
834
833
u64 ns ;
@@ -1083,8 +1082,7 @@ static void bfin_mac_rx(struct net_device *dev)
1083
1082
* we which case we simply drop the packet
1084
1083
*/
1085
1084
if (current_rx_ptr -> status .status_word & RX_ERROR_MASK ) {
1086
- printk (KERN_NOTICE DRV_NAME
1087
- ": rx: receive error - packet dropped\n" );
1085
+ netdev_notice (dev , "rx: receive error - packet dropped\n" );
1088
1086
dev -> stats .rx_dropped ++ ;
1089
1087
goto out ;
1090
1088
}
@@ -1094,8 +1092,7 @@ static void bfin_mac_rx(struct net_device *dev)
1094
1092
1095
1093
new_skb = dev_alloc_skb (PKT_BUF_SZ + NET_IP_ALIGN );
1096
1094
if (!new_skb ) {
1097
- printk (KERN_NOTICE DRV_NAME
1098
- ": rx: low on mem - packet dropped\n" );
1095
+ netdev_notice (dev , "rx: low on mem - packet dropped\n" );
1099
1096
dev -> stats .rx_dropped ++ ;
1100
1097
goto out ;
1101
1098
}
@@ -1213,7 +1210,7 @@ static int bfin_mac_enable(struct phy_device *phydev)
1213
1210
int ret ;
1214
1211
u32 opmode ;
1215
1212
1216
- pr_debug ("%s: %s \n" , DRV_NAME , __func__ );
1213
+ pr_debug ("%s\n" , __func__ );
1217
1214
1218
1215
/* Set RX DMA */
1219
1216
bfin_write_DMA1_NEXT_DESC_PTR (& (rx_list_head -> desc_a ));
@@ -1323,7 +1320,7 @@ static void bfin_mac_set_multicast_list(struct net_device *dev)
1323
1320
u32 sysctl ;
1324
1321
1325
1322
if (dev -> flags & IFF_PROMISC ) {
1326
- printk ( KERN_INFO "%s: set to promisc mode\n", dev -> name );
1323
+ netdev_info ( dev , " set promisc mode\n" );
1327
1324
sysctl = bfin_read_EMAC_OPMODE ();
1328
1325
sysctl |= PR ;
1329
1326
bfin_write_EMAC_OPMODE (sysctl );
@@ -1393,7 +1390,7 @@ static int bfin_mac_open(struct net_device *dev)
1393
1390
* address using ifconfig eth0 hw ether xx:xx:xx:xx:xx:xx
1394
1391
*/
1395
1392
if (!is_valid_ether_addr (dev -> dev_addr )) {
1396
- printk ( KERN_WARNING DRV_NAME ": no valid ethernet hw addr\n" );
1393
+ netdev_warn ( dev , " no valid ethernet hw addr\n" );
1397
1394
return - EINVAL ;
1398
1395
}
1399
1396
@@ -1527,6 +1524,9 @@ static int __devinit bfin_mac_probe(struct platform_device *pdev)
1527
1524
goto out_err_mii_probe ;
1528
1525
}
1529
1526
1527
+ lp -> vlan1_mask = ETH_P_8021Q | mii_bus_data -> vlan1_mask ;
1528
+ lp -> vlan2_mask = ETH_P_8021Q | mii_bus_data -> vlan2_mask ;
1529
+
1530
1530
/* Fill in the fields of the device structure with ethernet values. */
1531
1531
ether_setup (ndev );
1532
1532
@@ -1558,7 +1558,7 @@ static int __devinit bfin_mac_probe(struct platform_device *pdev)
1558
1558
bfin_mac_hwtstamp_init (ndev );
1559
1559
1560
1560
/* now, print out the card info, in a short format.. */
1561
- dev_info ( & pdev -> dev , "%s, Version %s\n" , DRV_DESC , DRV_VERSION );
1561
+ netdev_info ( ndev , "%s, Version %s\n" , DRV_DESC , DRV_VERSION );
1562
1562
1563
1563
return 0 ;
1564
1564
@@ -1650,7 +1650,7 @@ static int __devinit bfin_mii_bus_probe(struct platform_device *pdev)
1650
1650
* so set the GPIO pins to Ethernet mode
1651
1651
*/
1652
1652
pin_req = mii_bus_pd -> mac_peripherals ;
1653
- rc = peripheral_request_list (pin_req , DRV_NAME );
1653
+ rc = peripheral_request_list (pin_req , KBUILD_MODNAME );
1654
1654
if (rc ) {
1655
1655
dev_err (& pdev -> dev , "Requesting peripherals failed!\n" );
1656
1656
return rc ;
@@ -1739,7 +1739,7 @@ static struct platform_driver bfin_mac_driver = {
1739
1739
.resume = bfin_mac_resume ,
1740
1740
.suspend = bfin_mac_suspend ,
1741
1741
.driver = {
1742
- .name = DRV_NAME ,
1742
+ .name = KBUILD_MODNAME ,
1743
1743
.owner = THIS_MODULE ,
1744
1744
},
1745
1745
};
0 commit comments