/* Generate a STOP signal to terminate the master transaction.  */
static void i2c_pnx_stop(struct i2c_adapter *adap)
/* Generate a STOP signal to terminate the master transaction.  */
static void i2c_pnx_stop(struct i2c_adapter *adap)
{
	struct i2c_pnx_algo_data *alg_data = adap->algo_data;
	long timeout = 1000;
	dev_dbg(&adap->dev, "%s(): entering: stat = %04x.\n",
		__func__, ioread32(I2C_REG_STS(alg_data)));
	iowrite32(0xff | stop_bit, I2C_REG_TX(alg_data));
	while (timeout > 0 &&
	       (ioread32(I2C_REG_STS(alg_data)) & mstatus_active)) {
		udelay(1);
		timeout--;
	}
	dev_dbg(&adap->dev, "%s(): exiting: stat = %04x.\n",
		__func__, ioread32(I2C_REG_STS(alg_data)));
}