On Mon, Mar 20, 2023 at 02:28:31PM +0200, Andy Shevchenko wrote: > On Sat, Mar 18, 2023 at 10:59:51AM -0400, William Breathitt Gray wrote: > > The Preset Register (PR), Flag Register (FLAG), and Filter Clock > > Prescaler (PSC) have common usage patterns. Wrap up such usage into > > dedicated functions to improve code clarity. > > ... > > > +static void quad8_preset_register_set(struct quad8 *const priv, const size_t id, > > + const unsigned long preset) > > +{ > > + struct channel_reg __iomem *const chan = priv->reg->channel + id; > > + int i; > > + > > + /* Reset Byte Pointer */ > > + iowrite8(SELECT_RLD | RESET_BP, &chan->control); > > + > > + /* Set Preset Register */ > > + for (i = 0; i < 3; i++) > > + iowrite8(preset >> (8 * i), &chan->data); > > +} > > May we add generic __iowrite8_copy() / __ioread8_copy() instead? > > It seems that even current __ioread32_copy() and __iowrite32_copy() has to > be amended to support IO. > > -- > With Best Regards, > Andy Shevchenko Sure, I would use __iowrite8_copy() / __ioread8_copy() for these situations if it were available. Is something equivalent available for the regmap API? I'm planning to migrate this driver to the regmap API soon after this patch series is merged, so the *_copy() calls would need to migrated as well. William Breathitt Gray
Attachment:
signature.asc
Description: PGP signature