The regmap API supports IO port accessors so we can take advantage of regmap abstractions rather than handling access to the device registers directly in the driver. Precursor patches are provided for 104-dio-48e and 104-idi-48 to migrate their respective device-specific registers first in order to simplify the subsequent patch migrating the i8255 library and its dependents. The struct i8255 control_state member serves as a cache of the i8255 device's control register. Does the regmap API support caching such that we won't need to manually update a control_state member? William Breathitt Gray (3): gpio: 104-dio-48e: Migrate to regmap API gpio: 104-idi-48: Migrate to regmap API gpio: i8255: Migrate to regmap API drivers/gpio/gpio-104-dio-48e.c | 200 +++++++++++++++++++---------- drivers/gpio/gpio-104-idi-48.c | 110 +++++++++++----- drivers/gpio/gpio-gpio-mm.c | 97 ++++++++++---- drivers/gpio/gpio-i8255.c | 218 +++++++++++++++++++++----------- drivers/gpio/gpio-i8255.h | 54 ++++---- 5 files changed, 451 insertions(+), 228 deletions(-) base-commit: b8b80348c57b360019071e17380298619c5d8066 -- 2.37.3