Commit 01d3c42a authored by Andy Shevchenko's avatar Andy Shevchenko Committed by Greg Kroah-Hartman
Browse files

misc: at25: Get rid of intermediate storage for AT25 chip data



There is no need to copy twice the same data. Drop needless local
variable.

Acked-by: default avatarArnd Bergmann <arnd@arndb.de>
Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20211125213203.86693-6-andriy.shevchenko@linux.intel.com


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 994233e1
Loading
Loading
Loading
Loading
+15 −17
Original line number Diff line number Diff line
@@ -306,7 +306,6 @@ static int at25_fw_to_chip(struct device *dev, struct spi_eeprom *chip)
	u32 val;
	int err;

	memset(chip, 0, sizeof(*chip));
	strncpy(chip->name, "at25", sizeof(chip->name));

	err = device_property_read_u32(dev, "size", &val);
@@ -378,9 +377,9 @@ MODULE_DEVICE_TABLE(spi, at25_spi_ids);
static int at25_probe(struct spi_device *spi)
{
	struct at25_data	*at25 = NULL;
	struct spi_eeprom	chip, *pdata;
	int			err;
	int			sr;
	struct spi_eeprom *pdata;
	u8 id[FM25_ID_LEN];
	u8 sernum[FM25_SN_LEN];
	bool is_fram;
@@ -392,20 +391,6 @@ static int at25_probe(struct spi_device *spi)
	else
		is_fram = false;

	/* Chip description */
	pdata = dev_get_platdata(&spi->dev);
	if (!pdata) {
		if (is_fram) {
			/* We file fields for FRAM case later on */
			memset(&chip, 0, sizeof(chip));
		} else {
			err = at25_fw_to_chip(&spi->dev, &chip);
			if (err)
				return err;
		}
	} else
		chip = *pdata;

	/* Ping the chip ... the status register is pretty portable,
	 * unlike probing manufacturer IDs.  We do expect that system
	 * firmware didn't write it in the past few milliseconds!
@@ -421,10 +406,23 @@ static int at25_probe(struct spi_device *spi)
		return -ENOMEM;

	mutex_init(&at25->lock);
	at25->chip = chip;
	at25->spi = spi;
	spi_set_drvdata(spi, at25);

	/* Chip description */
	pdata = dev_get_platdata(&spi->dev);
	if (pdata) {
		at25->chip = *pdata;
	} else {
		if (is_fram) {
			/* We file fields for FRAM case later on */
		} else {
			err = at25_fw_to_chip(&spi->dev, &at25->chip);
			if (err)
				return err;
		}
	}

	if (is_fram) {
		/* Get ID of chip */
		fm25_aux_read(at25, id, FM25_RDID, FM25_ID_LEN);