Re: [PATCH v3 3/4] nvmem: apple-spmi: improve calling safety with wrapper functions
Link Mauve <[email protected]> Sun, 26 Jul 2026 14:56:16 +0200
| Newsgroups | dev.linux.lists.asahi,dev.linux.lists.imx,org.infradead.lists.linux-amlogic,org.infradead.lists.linux-arm-kernel,org.kernel.vger.linux-arm-msm,org.kernel.vger.linux-kernel,org.kernel.vger.rust-for-linux |
|---|---|
| Message-ID | <amYD8I6a1c01fnvs@luna> |
Ah, someone independently sent the same patch as this one in 7089170e1df160f5f8fb395bc5aa2e2697b4e896, so I’ll drop it from v4. Sorry it took that long! On Thu, Jul 16, 2026 at 09:07:13PM +0300, Andy Shevchenko wrote: > On Thu, Jul 16, 2026 at 04:24:10PM +0200, Link Mauve wrote: > > This driver used to cast the regmap_bulk_*() functions to void *, > > bypassing any compiler safety around incompatible function pointers. > > > > With two small wrappers, which just convert the void * priv parameter > > into the wanted struct regmap *, we can remove the void * cast > > altogether. > > Reported-by: ? > > > Signed-off-by: Link Mauve <[email protected]> > > ... > > > +static int apple_spmi_nvmem_read(void *priv, unsigned int offset, > > + void *val, size_t bytes) > > +{ > > > + struct regmap *regmap = priv; > > No need :-) > > > + return regmap_bulk_read(regmap, offset, val, bytes); > > +} > > static int apple_spmi_nvmem_read(void *map, unsigned int offset, > void *val, size_t bytes) > { > return regmap_bulk_read(map, offset, val, bytes); > } > > ... > > > +static int apple_spmi_nvmem_write(void *priv, unsigned int offset, > > + const void *val, size_t bytes) > > +{ > > + struct regmap *regmap = priv; > > + return regmap_bulk_write(regmap, offset, val, bytes); > > +} > > In the similar way as above. > > ... > > > - .reg_read = (void *)regmap_bulk_read, > > - .reg_write_const = (void *)regmap_bulk_write, > > + .reg_read = apple_spmi_nvmem_read, > > + .reg_write_const = apple_spmi_nvmem_write, > > I think the proper ordering is to address this first (before your main change) > and update later with const argument. Yes, it will be a bit more changes, but > it will be cleaner. > > -- > With Best Regards, > Andy Shevchenko > > -- Link Mauve