Skip to content

Commit

Permalink
hwmon: (ads7871) Fix ads7871_probe error paths
Browse files Browse the repository at this point in the history
1. remove 'status' variable
2. remove unneeded initialization of 'err' variable
3. return missing error code if sysfs_create_group fail.
4. fix the init sequence as:
   - check hardware existence
   - kzalloc for ads7871_data
   - sysfs_create_group
   - hwmon_device_register

Signed-off-by: Axel Lin <[email protected]>
Cc: [email protected]
Signed-off-by: Jean Delvare <[email protected]>
  • Loading branch information
AxelLin authored and Jean Delvare committed Aug 25, 2010
1 parent 45ff34d commit c12c507
Showing 1 changed file with 19 additions and 19 deletions.
38 changes: 19 additions & 19 deletions drivers/hwmon/ads7871.c
Original file line number Diff line number Diff line change
Expand Up @@ -160,30 +160,12 @@ static const struct attribute_group ads7871_group = {

static int __devinit ads7871_probe(struct spi_device *spi)
{
int status, ret, err = 0;
int ret, err;
uint8_t val;
struct ads7871_data *pdata;

dev_dbg(&spi->dev, "probe\n");

pdata = kzalloc(sizeof(struct ads7871_data), GFP_KERNEL);
if (!pdata) {
err = -ENOMEM;
goto exit;
}

status = sysfs_create_group(&spi->dev.kobj, &ads7871_group);
if (status < 0)
goto error_free;

pdata->hwmon_dev = hwmon_device_register(&spi->dev);
if (IS_ERR(pdata->hwmon_dev)) {
err = PTR_ERR(pdata->hwmon_dev);
goto error_remove;
}

spi_set_drvdata(spi, pdata);

/* Configure the SPI bus */
spi->mode = (SPI_MODE_0);
spi->bits_per_word = 8;
Expand All @@ -201,6 +183,24 @@ static int __devinit ads7871_probe(struct spi_device *spi)
we need to make sure we really have a chip*/
if (val != ret) {
err = -ENODEV;
goto exit;
}

pdata = kzalloc(sizeof(struct ads7871_data), GFP_KERNEL);
if (!pdata) {
err = -ENOMEM;
goto exit;
}

err = sysfs_create_group(&spi->dev.kobj, &ads7871_group);
if (err < 0)
goto error_free;

spi_set_drvdata(spi, pdata);

pdata->hwmon_dev = hwmon_device_register(&spi->dev);
if (IS_ERR(pdata->hwmon_dev)) {
err = PTR_ERR(pdata->hwmon_dev);
goto error_remove;
}

Expand Down

0 comments on commit c12c507

Please sign in to comment.