iio: light: cm32181: Clean up the probe function a bit
3 small cleanups to cm32181_probe(): 1. Do not log an error when we fail to allocate memory (as a general rule drivers do not log errors for this as the kernel will already have complained loudly that it could not alloc the mem). 2. Remove the i2c_set_clientdata() call, we never use i2c_get_clientdata() or dev_get_drvdata() anywhere. 3. Add a dev helper variable and use it in various places instead of &client->dev. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
This commit is contained in:
parent
02cdab2a8d
commit
b885d0fa67
@ -327,41 +327,35 @@ static const struct iio_info cm32181_info = {
|
|||||||
|
|
||||||
static int cm32181_probe(struct i2c_client *client)
|
static int cm32181_probe(struct i2c_client *client)
|
||||||
{
|
{
|
||||||
|
struct device *dev = &client->dev;
|
||||||
struct cm32181_chip *cm32181;
|
struct cm32181_chip *cm32181;
|
||||||
struct iio_dev *indio_dev;
|
struct iio_dev *indio_dev;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
indio_dev = devm_iio_device_alloc(&client->dev, sizeof(*cm32181));
|
indio_dev = devm_iio_device_alloc(dev, sizeof(*cm32181));
|
||||||
if (!indio_dev) {
|
if (!indio_dev)
|
||||||
dev_err(&client->dev, "devm_iio_device_alloc failed\n");
|
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
}
|
|
||||||
|
|
||||||
cm32181 = iio_priv(indio_dev);
|
cm32181 = iio_priv(indio_dev);
|
||||||
i2c_set_clientdata(client, indio_dev);
|
|
||||||
cm32181->client = client;
|
cm32181->client = client;
|
||||||
|
|
||||||
mutex_init(&cm32181->lock);
|
mutex_init(&cm32181->lock);
|
||||||
indio_dev->dev.parent = &client->dev;
|
indio_dev->dev.parent = dev;
|
||||||
indio_dev->channels = cm32181_channels;
|
indio_dev->channels = cm32181_channels;
|
||||||
indio_dev->num_channels = ARRAY_SIZE(cm32181_channels);
|
indio_dev->num_channels = ARRAY_SIZE(cm32181_channels);
|
||||||
indio_dev->info = &cm32181_info;
|
indio_dev->info = &cm32181_info;
|
||||||
indio_dev->name = dev_name(&client->dev);
|
indio_dev->name = dev_name(dev);
|
||||||
indio_dev->modes = INDIO_DIRECT_MODE;
|
indio_dev->modes = INDIO_DIRECT_MODE;
|
||||||
|
|
||||||
ret = cm32181_reg_init(cm32181);
|
ret = cm32181_reg_init(cm32181);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
dev_err(&client->dev,
|
dev_err(dev, "%s: register init failed\n", __func__);
|
||||||
"%s: register init failed\n",
|
|
||||||
__func__);
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = devm_iio_device_register(&client->dev, indio_dev);
|
ret = devm_iio_device_register(dev, indio_dev);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
dev_err(&client->dev,
|
dev_err(dev, "%s: regist device failed\n", __func__);
|
||||||
"%s: regist device failed\n",
|
|
||||||
__func__);
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user