All of lore.kernel.org
 help / color / mirror / Atom feed
From: minyard@acm.org
To: qemu-devel@nongnu.org, "Dr . David Alan Gilbert" <dgilbert@redhat.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>,
	"Michael S . Tsirkin" <mst@redhat.com>,
	Corey Minyard <minyard@acm.org>,
	Peter Maydell <peter.maydell@linaro.org>
Subject: [Qemu-devel] [PATCH v4 00/19] Fix/add vmstate handling in some I2C code
Date: Mon, 28 Jan 2019 11:54:39 -0600	[thread overview]
Message-ID: <20190128175458.27255-1-minyard@acm.org> (raw)

I've forced some time open to work on this, it's been too long.

Changes since v3:

Change I2C to "I2C and SMBus" in the MAINTAINERS file.

Added a comment to the smbus_eeprom reset to make the reasoning for
the choice clear.

Fix a logic error introduced in "i2c: Don't check return value from
i2c_recv()".

Fix a debug problem in "i2c: Simplify and correct the SMBus state machine",
a removed variable was still being used in a debug statement.

Split up "i2c: Simplify and correct the SMBus state machine" into
smaller logical chunks.

Updated "boards.h: Ignore migration for SMBus devices on older machines"
to ignore migration for 4.0 and earlier.

No other comments received on "i2c:smbus_eeprom: Add vmstate handling
to the smbus eeprom", not sure what to make of that.  I think that
Dave's response to my question was that it could be modified to
support different sizes in the future without issue.

Dropped "hw/i2c/smbus_eeprom: Create at most SMBUS_EEPROM_MAX EEPROMs
on a SMBus and instead added a patch to assert if the number of
eeproms is > 8.

Changes since v2:

Added proper license headers for the newly created files.

Removed unneeded code in several places pointed out by Peter Maydell
since i2c_recv() returns a uint8_t instead of an int.  These are
in two separate patches.
Added a patch from Philippe Mathieu-Daudé <philmd@redhat.com> to
replace a magic number with a constant in the smbus_eeprom code and
verify the count so there is no overflow.

Updated the pm_smbus migration to not update the version numbers
in the existing vmstate structures.  The needed field didn't
accomplish what was needed because it is only called on the save
side, not the load side of the migration.  So I'm using
VMSTATE_STRUCT_TEST() to transfer the pm_smbus data now, that
should be all that is required for backwards compatibility, and
will be safer for falling back to an older version.

I found the problem with the SMBus being broken on piix4 after a
migration, but I sent it out as a separate patch since it has
nothing to do with this series, and should probably go into the
current release being worked on.

             reply	other threads:[~2019-01-28 18:01 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-01-28 17:54 minyard [this message]
2019-01-28 17:54 ` [Qemu-devel] [PATCH v4 01/19] i2c: Split smbus into parts minyard
2019-01-28 17:54 ` [Qemu-devel] [PATCH v4 02/19] i2c: have I2C receive operation return uint8_t minyard
2019-01-28 17:54 ` [Qemu-devel] [PATCH v4 03/19] arm:i2c: Don't mask return from i2c_recv() minyard
2019-01-28 17:54 ` [Qemu-devel] [PATCH v4 04/19] i2c: Don't check return value " minyard
2019-01-28 17:54 ` [Qemu-devel] [PATCH v4 05/19] i2c:smbus: Correct the working of quick commands minyard
2019-01-28 17:54 ` [Qemu-devel] [PATCH v4 06/19] i2c:smbus: Simplify write operation minyard
2019-01-28 17:54 ` [Qemu-devel] [PATCH v4 07/19] i2c:smbus: Simplify read handling minyard
2019-01-28 17:54 ` [Qemu-devel] [PATCH v4 08/19] i2c:smbus_eeprom: Get rid of the quick command minyard
2019-01-28 17:54 ` [Qemu-devel] [PATCH v4 09/19] i2c:smbus: Make white space in switch statements consistent minyard
2019-01-28 17:54 ` [Qemu-devel] [PATCH v4 10/19] boards.h: Ignore migration for SMBus devices on older machines minyard
2019-01-28 18:08   ` Eduardo Habkost
2019-01-28 18:22     ` Corey Minyard
2019-01-28 17:54 ` [Qemu-devel] [PATCH v4 11/19] i2c:pm_smbus: Fix pm_smbus handling of I2C block read minyard
2019-01-28 17:54 ` [Qemu-devel] [PATCH v4 12/19] migration: Add a VMSTATE_BOOL_TEST() macro minyard
2019-01-28 17:54 ` [Qemu-devel] [PATCH v4 13/19] i2c:pm_smbus: Fix state transfer minyard
2019-01-28 17:54 ` [Qemu-devel] [PATCH v4 14/19] i2c:smbus_slave: Add an SMBus vmstate structure minyard
2019-01-28 17:54 ` [Qemu-devel] [PATCH v4 15/19] i2c:smbus_eeprom: Add normal type name and cast to smbus_eeprom.c minyard
2019-01-28 17:54 ` [Qemu-devel] [PATCH v4 16/19] i2c:smbus_eeprom: Add a size constant for the smbus_eeprom size minyard
2019-01-28 17:54 ` [Qemu-devel] [PATCH v4 17/19] i2c:smbus_eeprom: Add vmstate handling to the smbus eeprom minyard
2019-01-28 17:54 ` [Qemu-devel] [PATCH v4 18/19] i2c:smbus_eeprom: Add a reset function to smbus_eeprom minyard
2019-01-28 17:54 ` [Qemu-devel] [PATCH v4 19/19] i2c: Verify that the count passed in to smbus_eeprom_init() is valid minyard

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190128175458.27255-1-minyard@acm.org \
    --to=minyard@acm.org \
    --cc=dgilbert@redhat.com \
    --cc=mst@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.