On Thu, Mar 14, 2019 at 05:21:32PM +0000, John Garry wrote: > On 14/03/2019 17:05, Guenter Roeck wrote: > >On Fri, Mar 15, 2019 at 12:55:16AM +0800, John Garry wrote: > >>Currently the driver does not call request_region() prior to > >>accessing IO port regions in f71805f_init(), so add it. > >> > >>Signed-off-by: John Garry <john.garry@xxxxxxxxxx> > >>--- > >> drivers/hwmon/f71805f.c | 13 ++++++++++++- > >> 1 file changed, 12 insertions(+), 1 deletion(-) > >> > >>diff --git a/drivers/hwmon/f71805f.c b/drivers/hwmon/f71805f.c > >>index 73c681162653..910082c7f184 100644 > >>--- a/drivers/hwmon/f71805f.c > >>+++ b/drivers/hwmon/f71805f.c > >>@@ -1617,10 +1617,21 @@ static int __init f71805f_init(void) > >> int err; > >> unsigned short address; > >> struct f71805f_sio_data sio_data; > >>+ struct resource *res; > >>+ size_t size = 0x4e - 0x2e + SIO_REG_ADDR + 4; > >>+ > >>+ /* Request the whole 0x2e - 0x4e region */ > >>+ res = request_region(0x2e, size, "f71805f"); > > > > Hi Guenter, > > >request_muxed_region() would be a better choice here since it doesn't > >bail out immediately if the region is temporarily busy. > > Are you saying that this region could be busy due to another driver > accessing this same region (probably for the same purpose)? > Depends on the definition of "same reason". To access the chip's Super-IO configuration registers, yes, that can happen. I don't see it used in the kernel today, but examples would be someone adding support for the chips supported by this driver to gpio-f7188x, or adding support for the F71872 watchdog to the f71808e_wdt driver. Guenter