On Wed, Jan 04, 2023 at 05:09:25PM +1100, Frank Crawford wrote: > Allow for superio_enter to be called without requesting the muxed memory > region, in particular for initialisation of the second chipset, which must > be put into configuration mode, but without an associated call to leave > configuration mode. > > Signed-off-by: Frank Crawford <frank@xxxxxxxxxxxxxxxxxx> Applied to hwmon-next. Thanks, Guenter > --- > > v2: > * Improved description for patch > > --- > drivers/hwmon/it87.c | 13 +++++++++---- > 1 file changed, 9 insertions(+), 4 deletions(-) > > diff --git a/drivers/hwmon/it87.c b/drivers/hwmon/it87.c > index 9997f76b1f4a..4ebce2c661d7 100644 > --- a/drivers/hwmon/it87.c > +++ b/drivers/hwmon/it87.c > @@ -87,6 +87,14 @@ static struct platform_device *it87_pdev[2]; > #define DEVID 0x20 /* Register: Device ID */ > #define DEVREV 0x22 /* Register: Device Revision */ > > +static inline void __superio_enter(int ioreg) > +{ > + outb(0x87, ioreg); > + outb(0x01, ioreg); > + outb(0x55, ioreg); > + outb(ioreg == REG_4E ? 0xaa : 0x55, ioreg); > +} > + > static inline int superio_inb(int ioreg, int reg) > { > outb(reg, ioreg); > @@ -124,10 +132,7 @@ static inline int superio_enter(int ioreg) > if (!request_muxed_region(ioreg, 2, DRVNAME)) > return -EBUSY; > > - outb(0x87, ioreg); > - outb(0x01, ioreg); > - outb(0x55, ioreg); > - outb(ioreg == REG_4E ? 0xaa : 0x55, ioreg); > + __superio_enter(ioreg); > return 0; > } >