Re: [patch v3 1/1] i2c: add master driver for mellanox systems

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

 



On 04.11.2016 00:34, Vladimir Zapolskiy wrote:
>> +
>> +static int mlxcpld_i2c_probe(struct platform_device *pdev)
>> +{
>> +	struct mlxcpld_i2c_priv *priv;
>> +	int err;
>> +
>> +	priv = devm_kzalloc(&pdev->dev, sizeof(struct mlxcpld_i2c_priv),
>> +			    GFP_KERNEL);
>> +	if (!priv)
>> +		return -ENOMEM;
>> +
>> +	mutex_init(&priv->lock);
>> +	platform_set_drvdata(pdev, priv);
>> +
>> +	priv->dev = &pdev->dev;
>> +
>> +	/* Register with i2c layer */
>> +	priv->adap = mlxcpld_i2c_adapter;

See a correction below.

>> +	priv->adap.dev.parent = &pdev->dev;
>> +	priv->adap.retries = MLXCPLD_I2C_RETR_NUM;
>> +	priv->adap.nr = MLXCPLD_I2C_BUS_NUM;
> 
> So since you want to allow the registration of only one such controller
> on a board (by the way in the opposite case it is also expected that
> "struct i2c_adapter" is allocated dynamically to avoid rewriting of
> data), you probably know the good reason behind it.

I've just noticed that you do a struct copy-on-assignment, while I think
it is very rarely used in the kernel sources (I don't know why), it cancels
my concern expressed above.

> 
> But in that case you may consider to move .retries and .nr
> instantiation to the "static struct i2c_adapter" declaration above.
> 

--
With best wishes,
Vladimir

--
To unsubscribe from this list: send the line "unsubscribe linux-i2c" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux GPIO]     [Linux SPI]     [Linux Hardward Monitoring]     [LM Sensors]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux