mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-13 14:24:11 +08:00
hwmon: (it87) Allow calling __superio_enter outside muxed region
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@crawford.emu.id.au> Link: https://lore.kernel.org/r/20230104060926.619686-2-frank@crawford.emu.id.au [groeck: Clarified subject] Signed-off-by: Guenter Roeck <linux@roeck-us.net>
This commit is contained in:
parent
554df454e2
commit
d47e377c7b
@ -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;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user