src/dpdk/drivers/net/igc/base/igc_api.c
static s32 igc_clock_out_i2c_byte(struct igc_hw *hw, u8 data)
{
	s32 status = IGC_SUCCESS;
	s32 i;
	u32 i2cctl;
	bool bit = 0;

	DEBUGFUNC("igc_clock_out_i2c_byte");

	for (i = 7; i >= 0; i--) {
		bit = (data >> i) & 0x1;
		status = igc_clock_out_i2c_bit(hw, bit);

		if (status != IGC_SUCCESS)
			break;
	}

	/* Release SDA line (set high) */
	i2cctl = IGC_READ_REG(hw, IGC_I2CPARAMS);

	i2cctl |= IGC_I2C_DATA_OE_N;
	IGC_WRITE_REG(hw, IGC_I2CPARAMS, i2cctl);
	IGC_WRITE_FLUSH(hw);

	return status;
}
/**
 *  igc_clock_out_i2c_byte - Clocks out one byte via I2C
 *  @hw: pointer to hardware structure
 *  @data: data byte clocked out
 *
 *  Clocks out one byte data via I2C data/clock
 **/
Clocks out one byte via I2C
@hw: pointer to hardware structure
@data: data byte clocked out

Clocks out one byte data via I2C data/clock
Clocks out one byte via I2C @hw : pointer to hardware structure @data : data byte clocked out Clocks out one byte data via I2C data / clock
static s32 igc_clock_out_i2c_byte(struct igc_hw *hw, u8 data)
{
	s32 status = IGC_SUCCESS;
	s32 i;
	u32 i2cctl;
	bool bit = 0;
	DEBUGFUNC("igc_clock_out_i2c_byte");
	for (i = 7; i >= 0; i--) {
		bit = (data >> i) & 0x1;
		status = igc_clock_out_i2c_bit(hw, bit);
		if (status != IGC_SUCCESS)
			break;
	}
	i2cctl = IGC_READ_REG(hw, IGC_I2CPARAMS);
	i2cctl |= IGC_I2C_DATA_OE_N;
	IGC_WRITE_REG(hw, IGC_I2CPARAMS, i2cctl);
	IGC_WRITE_FLUSH(hw);
	return status;
}
static s32 igc_clock_out_i2c_byte ( struct igc_hw * hw , u8 data ) { s32 status = IGC_SUCCESS ; s32 i ; u32 i2cctl ; bool bit = 0 ; DEBUGFUNC ( " " ) ; for ( i = 7 ; i >= 0 ; i -- ) { bit = ( data >> i ) & 0x1 ; status = igc_clock_out_i2c_bit ( hw , bit ) ; if ( status != IGC_SUCCESS ) break ; } i2cctl = IGC_READ_REG ( hw , IGC_I2CPARAMS ) ; i2cctl |= IGC_I2C_DATA_OE_N ; IGC_WRITE_REG ( hw , IGC_I2CPARAMS , i2cctl ) ; IGC_WRITE_FLUSH ( hw ) ; return status ; }
igc_clock_out_i2c_byte - Clocks out one byte via I2C
  @hw: pointer to hardware structure
  @data: data byte clocked out
igc_clock_out_i2c_byte - Clocks out one byte via I2C @hw : pointer to hardware structure @data : data byte clocked out
/* Release SDA line (set high) */