mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-10-31 14:04:26 -04:00 
			
		
		
		
	Refresh patches to remove the trailing whitespaces caused by an old diffutils version on osx. Signed-off-by: Jonas Gorski <jogo@openwrt.org> SVN-Revision: 45506
		
			
				
	
	
		
			73 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			73 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| Register switch connected to srab
 | |
| 
 | |
| Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
 | |
| 
 | |
| --- a/drivers/net/ethernet/broadcom/bgmac.c
 | |
| +++ b/drivers/net/ethernet/broadcom/bgmac.c
 | |
| @@ -17,6 +17,7 @@
 | |
|  #include <linux/phy_fixed.h>
 | |
|  #include <linux/interrupt.h>
 | |
|  #include <linux/dma-mapping.h>
 | |
| +#include <linux/platform_data/b53.h>
 | |
|  #include <bcm47xx_nvram.h>
 | |
|  
 | |
|  static const struct bcma_device_id bgmac_bcma_tbl[] = {
 | |
| @@ -1538,6 +1539,17 @@ static void bgmac_mii_unregister(struct
 | |
|  	mdiobus_free(mii_bus);
 | |
|  }
 | |
|  
 | |
| +static struct b53_platform_data bgmac_b53_pdata = {
 | |
| +};
 | |
| +
 | |
| +static struct platform_device bgmac_b53_dev = {
 | |
| +	.name		= "b53-srab-switch",
 | |
| +	.id		= -1,
 | |
| +	.dev		= {
 | |
| +		.platform_data = &bgmac_b53_pdata,
 | |
| +	},
 | |
| +};
 | |
| +
 | |
|  /**************************************************
 | |
|   * BCMA bus ops
 | |
|   **************************************************/
 | |
| @@ -1664,6 +1676,16 @@ static int bgmac_probe(struct bcma_devic
 | |
|  	net_dev->hw_features = net_dev->features;
 | |
|  	net_dev->vlan_features = net_dev->features;
 | |
|  
 | |
| +	if ((ci->id == BCMA_CHIP_ID_BCM4707 ||
 | |
| +	     ci->id == BCMA_CHIP_ID_BCM53018) &&
 | |
| +	    !bgmac_b53_pdata.regs) {
 | |
| +		bgmac_b53_pdata.regs = ioremap_nocache(0x18007000, 0x1000);
 | |
| +
 | |
| +		err = platform_device_register(&bgmac_b53_dev);
 | |
| +		if (!err)
 | |
| +			bgmac->b53_device = &bgmac_b53_dev;
 | |
| +	}
 | |
| +
 | |
|  	err = register_netdev(bgmac->net_dev);
 | |
|  	if (err) {
 | |
|  		bgmac_err(bgmac, "Cannot register net device\n");
 | |
| @@ -1690,6 +1712,10 @@ static void bgmac_remove(struct bcma_dev
 | |
|  {
 | |
|  	struct bgmac *bgmac = bcma_get_drvdata(core);
 | |
|  
 | |
| +	if (bgmac->b53_device)
 | |
| +		platform_device_unregister(&bgmac_b53_dev);
 | |
| +	bgmac->b53_device = NULL;
 | |
| +
 | |
|  	unregister_netdev(bgmac->net_dev);
 | |
|  	bgmac_mii_unregister(bgmac);
 | |
|  	netif_napi_del(&bgmac->napi);
 | |
| --- a/drivers/net/ethernet/broadcom/bgmac.h
 | |
| +++ b/drivers/net/ethernet/broadcom/bgmac.h
 | |
| @@ -462,6 +462,9 @@ struct bgmac {
 | |
|  	bool has_robosw;
 | |
|  
 | |
|  	bool loopback;
 | |
| +
 | |
| +	/* platform device for associated switch */
 | |
| +	struct platform_device *b53_device;
 | |
|  };
 | |
|  
 | |
|  static inline u32 bgmac_read(struct bgmac *bgmac, u16 offset)
 |