Re: [PATCH v3 1/5] net/e1000: remove one level of indentation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Jan 26, 2018 at 02:32:28PM +0100, Lucas Stach wrote:
> By returning early if the MAC type isn't e1000_igb.
> 
> Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx>
> ---
>  drivers/net/e1000/eeprom.c | 121 +++++++++++++++++++++++----------------------
>  1 file changed, 61 insertions(+), 60 deletions(-)

Applied, thanks

Sascha

> 
> diff --git a/drivers/net/e1000/eeprom.c b/drivers/net/e1000/eeprom.c
> index 748d8afe7922..ddac7de8a0e9 100644
> --- a/drivers/net/e1000/eeprom.c
> +++ b/drivers/net/e1000/eeprom.c
> @@ -1551,79 +1551,80 @@ int e1000_eeprom_valid(struct e1000_hw *hw)
>   */
>  int e1000_register_eeprom(struct e1000_hw *hw)
>  {
> -	int ret = E1000_SUCCESS;
> -
>  	struct e1000_eeprom_info *eeprom = &hw->eeprom;
> +	uint32_t eecd;
> +	int ret;
>  
> -	if (hw->mac_type == e1000_igb) {
> -		uint32_t eecd = e1000_read_reg(hw, E1000_EECD);
> +	if (hw->mac_type != e1000_igb)
> +		return E1000_SUCCESS;
>  
> -		hw->eepromcdev.dev = hw->dev;
> -		hw->eepromcdev.ops = &e1000_eeprom_ops;
> -		hw->eepromcdev.name = xasprintf("e1000-eeprom%d", hw->dev->id);
> -		hw->eepromcdev.size = 0x1000;
> +	eecd = e1000_read_reg(hw, E1000_EECD);
>  
> -		ret = devfs_create(&hw->eepromcdev);
> -		if (ret < 0)
> -			return ret;
> +	hw->eepromcdev.dev = hw->dev;
> +	hw->eepromcdev.ops = &e1000_eeprom_ops;
> +	hw->eepromcdev.name = xasprintf("e1000-eeprom%d", hw->dev->id);
> +	hw->eepromcdev.size = 0x1000;
> +
> +	ret = devfs_create(&hw->eepromcdev);
> +	if (ret < 0)
> +		return ret;
>  
> -		if (eecd & E1000_EECD_AUTO_RD) {
> -			if (eecd & E1000_EECD_EE_PRES) {
> -				if (eecd & E1000_EECD_FLASH_IN_USE) {
> -					uint32_t fla = e1000_read_reg(hw, E1000_FLA);
> -					dev_info(hw->dev,
> -						 "Hardware programmed from flash (%ssecure)\n",
> -						 fla & E1000_FLA_LOCKED ? "" : "un");
> -				} else {
> -					dev_info(hw->dev, "Hardware programmed from iNVM\n");
> -				}
> +	if (eecd & E1000_EECD_AUTO_RD) {
> +		if (eecd & E1000_EECD_EE_PRES) {
> +			if (eecd & E1000_EECD_FLASH_IN_USE) {
> +				uint32_t fla = e1000_read_reg(hw, E1000_FLA);
> +				dev_info(hw->dev,
> +					 "Hardware programmed from flash (%ssecure)\n",
> +					 fla & E1000_FLA_LOCKED ? "" : "un");
>  			} else {
> -				dev_warn(hw->dev, "Shadow RAM invalid\n");
> +				dev_info(hw->dev, "Hardware programmed from iNVM\n");
>  			}
>  		} else {
> -			/*
> -			 * I never saw this case in practise and I'm unsure how
> -			 * to handle that. Maybe just wait until the hardware is
> -			 * up enough that this bit is set?
> -			 */
> -			dev_err(hw->dev, "Flash Auto-Read not done\n");
> -		}
> -
> -		if (eecd & E1000_EECD_I210_FLASH_DETECTED) {
> -			hw->mtd.parent = hw->dev;
> -			hw->mtd.read = e1000_mtd_read;
> -			hw->mtd.write = e1000_mtd_write;
> -			hw->mtd.erase = e1000_mtd_erase;
> -			hw->mtd.lock = e1000_mtd_lock;
> -			hw->mtd.unlock = e1000_mtd_unlock;
> -			hw->mtd.size = eeprom->word_size * 2;
> -			hw->mtd.writesize = 1;
> -			hw->mtd.subpage_sft = 0;
> -
> -			hw->mtd.eraseregions = xzalloc(sizeof(struct mtd_erase_region_info));
> -			hw->mtd.erasesize = SZ_4K;
> -			hw->mtd.eraseregions[0].erasesize = SZ_4K;
> -			hw->mtd.eraseregions[0].numblocks = hw->mtd.size / SZ_4K;
> -			hw->mtd.numeraseregions = 1;
> -
> -			hw->mtd.flags = MTD_CAP_NORFLASH;
> -			hw->mtd.type = MTD_NORFLASH;
> -
> -			ret = add_mtd_device(&hw->mtd, "e1000-nor",
> -					     DEVICE_ID_DYNAMIC);
> -			if (ret) {
> -				devfs_remove(&hw->eepromcdev);
> -				return ret;
> -			}
> +			dev_warn(hw->dev, "Shadow RAM invalid\n");
>  		}
> +	} else {
> +		/*
> +		 * I never saw this case in practise and I'm unsure how
> +		 * to handle that. Maybe just wait until the hardware is
> +		 * up enough that this bit is set?
> +		 */
> +		dev_err(hw->dev, "Flash Auto-Read not done\n");
> +	}
>  
> -		ret = e1000_register_invm(hw);
> -		if (ret < 0) {
> -			if (eecd & E1000_EECD_I210_FLASH_DETECTED)
> -				del_mtd_device(&hw->mtd);
> +	if (eecd & E1000_EECD_I210_FLASH_DETECTED) {
> +		hw->mtd.parent = hw->dev;
> +		hw->mtd.read = e1000_mtd_read;
> +		hw->mtd.write = e1000_mtd_write;
> +		hw->mtd.erase = e1000_mtd_erase;
> +		hw->mtd.lock = e1000_mtd_lock;
> +		hw->mtd.unlock = e1000_mtd_unlock;
> +		hw->mtd.size = eeprom->word_size * 2;
> +		hw->mtd.writesize = 1;
> +		hw->mtd.subpage_sft = 0;
> +
> +		hw->mtd.eraseregions = xzalloc(sizeof(struct mtd_erase_region_info));
> +		hw->mtd.erasesize = SZ_4K;
> +		hw->mtd.eraseregions[0].erasesize = SZ_4K;
> +		hw->mtd.eraseregions[0].numblocks = hw->mtd.size / SZ_4K;
> +		hw->mtd.numeraseregions = 1;
> +
> +		hw->mtd.flags = MTD_CAP_NORFLASH;
> +		hw->mtd.type = MTD_NORFLASH;
> +
> +		ret = add_mtd_device(&hw->mtd, "e1000-nor",
> +				     DEVICE_ID_DYNAMIC);
> +		if (ret) {
>  			devfs_remove(&hw->eepromcdev);
> +			return ret;
>  		}
>  	}
>  
> +	ret = e1000_register_invm(hw);
> +	if (ret < 0) {
> +		if (eecd & E1000_EECD_I210_FLASH_DETECTED)
> +			del_mtd_device(&hw->mtd);
> +		devfs_remove(&hw->eepromcdev);
> +	}
> +
>  	return ret;
>  }
> -- 
> 2.15.1
> 
> 
> _______________________________________________
> barebox mailing list
> barebox@xxxxxxxxxxxxxxxxxxx
> http://lists.infradead.org/mailman/listinfo/barebox
> 

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
barebox mailing list
barebox@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/barebox



[Index of Archives]     [Linux Embedded]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux